-
Notifications
You must be signed in to change notification settings - Fork 69
WIP: start proof of mulEquivHaarChar_prodCongr (#520) #566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
WIP: start proof of mulEquivHaarChar_prodCongr (#520) #566
Conversation
My take on this: in all the FLT-related applications everything is Hausdorff and second-countable. The code I write is "with mathlib in mind" so I attempt to prove things in "the correct generality" but I am certainly no expert in measure theory. There was a Zulip thread on this question here #maths > Product of Borel spaces @ 💬 (the source of the blueprint proof) where I'm sure people would be happy to discuss whether Hausdorffness is needed. At the end of the day (I've noticed this in many places in FLT) there is some trade-off between "prove the result in the generality in which it is true" vs "prove enough for FLT" and I'm not sure there is a hard and fast rule here. |
Heres what I have: open Set in
@[to_additive MeasureTheory.addEquivAddHaarChar_prodCongr]
lemma mulEquivHaarChar_prodCongr {mG : MeasurableSpace G} [BorelSpace G]
{mH :MeasurableSpace H} [BorelSpace H] (φ : G ≃ₜ* G) (ψ : H ≃ₜ* H) :
letI : MeasurableSpace (G × H) := borel _
haveI : BorelSpace (G × H) := ⟨rfl⟩
mulEquivHaarChar (φ.prodCongr ψ) = mulEquivHaarChar φ * mulEquivHaarChar ψ := by
let ℬ : MeasurableSpace (G × H) := borel _
have : BorelSpace (G × H) := ⟨rfl⟩
let ρ := haar (G := G × H)
have hσ : mG.prod mH ≤ ℬ := prod_le_borel_prod
obtain ⟨K₁, _⟩ := exists_positiveCompacts_subset (α := G) isOpen_univ univ_nonempty
obtain ⟨K₂, _⟩ := exists_positiveCompacts_subset (α := H) isOpen_univ univ_nonempty
obtain ⟨K₁', hK₁'⟩ :=
exists_positiveCompacts_subset (α := G) (isOpen_interior (s := K₁)) K₁.interior_nonempty
let ρ₁ := ((ρ.trim hσ).restrict (univ ×ˢ interior (K₂ : Set H))).fst
have hρ₁ {s : Set G} (hs : MeasurableSet s) : ρ₁ s = ρ (s ×ˢ interior (K₂ : Set H)) := by
dsimp [ρ₁, fst]
rw [map_apply (by fun_prop)]
rw [←prod_univ, Measure.restrict_apply, trim_measurableSet_eq, prod_inter_prod, inter_univ,
univ_inter]
all_goals measurability
have : IsMulLeftInvariant ρ₁ :=
{ map_mul_left_eq_self g := by
ext s hs
have : MeasurableSet ((fun x ↦ g * x) ⁻¹' s) := hs.preimage (by fun_prop) -- measurability
rw[map_apply (by fun_prop), hρ₁, hρ₁]
nth_rw 2 [← map_mul_left_eq_self ρ ⟨g,1⟩]
conv in fun x ↦ (g, 1) * x => change fun x ↦ ((g * ·) x.1, (1 * ·) x.2)
conv in fun x ↦ 1 * x => simp
rw [map_apply (by fun_prop)]
rw[← prod_preimage_left]
all_goals measurability
}
have ρ_pos : ρ ((interior (K₁' : Set G)) ×ˢ (interior (K₂ : Set H))) ≠ 0 :=
IsOpenPosMeasure.open_pos _
(isOpen_prod_iff'.mpr (Or.inl ⟨isOpen_interior, isOpen_interior⟩))
(Nonempty.prod K₁'.interior_nonempty K₂.interior_nonempty)
have ρ_fin : ρ (K₁ ×ˢ K₂) < ⊤ :=
IsFiniteMeasureOnCompacts.lt_top_of_isCompact (K₁.isCompact.prod K₂.isCompact)
have ρ₁_harr : IsHaarMeasure ρ₁ := by
apply isHaarMeasure_of_isCompact_nonempty_interior ρ₁ K₁' K₁'.isCompact K₁'.interior_nonempty
· contrapose! ρ_pos
rw [← hρ₁ (by measurability), ← nonpos_iff_eq_zero]
exact le_of_le_of_eq (measure_mono interior_subset) ρ_pos
· rw [← lt_top_iff_ne_top]
apply lt_of_le_of_lt (measure_mono hK₁')
· rw[hρ₁ (by measurability)]
refine lt_of_le_of_lt ?_ ρ_fin
exact measure_mono (prod_subset_prod_iff.mpr (Or.inl ⟨interior_subset , interior_subset⟩))
sorry This defines |
Now mostly complete, aside from regularity. Note that the proof in the blueprint uses |
This is my attempt at the beginning of the proof (#520), through the proof that ν is a Haar measure.
I think the proof in the blueprint is implicitly assuming that the groups involved are Hausdorff. Without that, the compact sets X and Y (as defined in the blueprint proof) are not necessarily measurable, and the proof gets more complicated. But maybe I'm missing something, so any feedback is welcome.