BlockAverages — Long vs. tail L² bound #
l2_bound_long_vs_tail: the second L² Cauchy bound, comparing a long window
average to a tail-shifted average. Together with l2_bound_two_windows_uniform
(BlockAverages/TwoWindows.lean) this drives the Cauchy property of block
averages used in CesaroConvergence/Cauchy.lean.
Also exposes get_covariance_constant, the helper that packages the
covariance structure of f ∘ X into a single shared bound Cf passed to
both l2_bound_two_windows_uniform and this file's main lemma.
Compute the L² contractability constant for f ∘ X.
This helper extracts the common covariance structure computation needed by both
l2_bound_two_windows_uniform and l2_bound_long_vs_tail.
Returns Cf = 2σ²(1-ρ) where (mf, σ², ρ) is the covariance structure of
f ∘ X obtained from contractable_covariance_structure.
Design rationale: Computing the covariance structure once and passing it to both bound lemmas ensures they use the same constant, avoiding the need to prove equality of opaque existential witnesses.