Skip to content

Commit 8aac4c4

Browse files
your-name123claude
andcommitted
PF/LogWeightedIntegral: per-branch ae-propagation f₁ =ᵐ f₂ ⟹ f₁∘y_k =ᵐ f₂∘y_k
Add `inverseBranch_ae_eq_propagation`: f₁ =ᵐ[μ_log↾(0,1)] f₂ ⟹ (fun x => f₁ (inverseBranch b k x)) =ᵐ[μ_log↾(0,1)] (fun x => f₂ (inverseBranch b k x)) The direct consumer of the pushforward absolute continuity (commit 25e00eb). Two-step proof via standard mathlib filter API: Step 1: `EventuallyEq.filter_mono` lifts h at `μ_log↾(0,1).ae` to `(μ_log↾(0,1).map y_k).ae` via 25e00eb.ae_le (filter inequality `(μ.map y_k).ae ≤ μ.ae`). Step 2: `EventuallyEq.comp_tendsto` composes with `Measure.tendsto_ae_map (Map.lean:225)` applied to `(inverseBranch_measurable b k hb).aemeasurable`, which gives `Tendsto y_k μ.ae (μ.map y_k).ae`. Pulls the lifted ae-eq back to the source filter, yielding `f₁ ∘ y_k =ᵐ[μ.ae] f₂ ∘ y_k`. This is the per-branch propagation. The full transfer-operator ae-respect lemma (`T_b f₁ =ᵐ T_b f₂`) follows by chaining this per branch inside the b-summed pointwise definition of T_b. After that, linearity of `transferOperator_lp` becomes provable, and `LinearMap.mkContinuous` packaging is one shot. Build clean (5488 jobs); axiom count 8 (canonical, unchanged); sorries 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 25e00eb commit 8aac4c4

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

PF_Lean4_Code/PF/LogWeightedIntegral.lean

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2052,6 +2052,31 @@ theorem logWeightedMeasure_restrict_Ioo_map_inverseBranch_absolutelyContinuous
20522052
((inverseBranch_measurable b k hb hE).inter measurableSet_Ioo),
20532053
Set.inter_assoc, Set.inter_self] at h_target
20542054

2055+
/-- Per-branch ae-propagation: `f₁ =ᵐ f₂ ⟹ f₁ ∘ y_k =ᵐ f₂ ∘ y_k`
2056+
(under `μ_log↾(0,1)`).
2057+
2058+
Two-step proof using the pushforward absolute continuity:
2059+
1. `EventuallyEq.filter_mono` lifts the hypothesis at `μ_log↾(0,1).ae`
2060+
to `(μ_log↾(0,1).map y_k).ae` via the filter inequality from
2061+
`25e00eb.ae_le : (μ.map y_k).ae ≤ μ.ae`.
2062+
2. `EventuallyEq.comp_tendsto` composes with
2063+
`Measure.tendsto_ae_map (inverseBranch_measurable b k hb).aemeasurable`
2064+
(giving `Tendsto y_k μ.ae (μ.map y_k).ae`) to pull back to the
2065+
source filter, yielding `f₁ ∘ y_k =ᵐ[μ.ae] f₂ ∘ y_k`. -/
2066+
theorem inverseBranch_ae_eq_propagation
2067+
(b : ℕ) (hb : b ≥ 1) (k : Fin b)
2068+
{f₁ f₂ : ℝ → ℂ}
2069+
(h : f₁ =ᵐ[logWeightedMeasure.restrict (Set.Ioo (0:ℝ) 1)] f₂) :
2070+
(fun x => f₁ (inverseBranch b k x))
2071+
=ᵐ[logWeightedMeasure.restrict (Set.Ioo (0:ℝ) 1)]
2072+
(fun x => f₂ (inverseBranch b k x)) := by
2073+
have h_le := (logWeightedMeasure_restrict_Ioo_map_inverseBranch_absolutelyContinuous b hb k).ae_le
2074+
have h_map : f₁ =ᵐ[(logWeightedMeasure.restrict (Set.Ioo (0:ℝ) 1)).map
2075+
(inverseBranch b k)] f₂ :=
2076+
h.filter_mono h_le
2077+
exact h_map.comp_tendsto
2078+
(Measure.tendsto_ae_map (inverseBranch_measurable b k hb).aemeasurable)
2079+
20552080
/-- Lp-lifted homogeneity: `T_b^{fn,Lp} (c•f) = c • T_b^{fn,Lp} f`. -/
20562081
theorem transferOperatorAction_fn_toLp_smul
20572082
(b : ℕ) (hb : b ≥ 1) (phases : Fin b → ℂ) (hphases : ∀ k, ‖phases k‖ = 1)

0 commit comments

Comments
 (0)