Matrix Transvection Struct measure Preserving
MeasureTheory.Matrix.TransvectionStruct.measurePreserving
Plain-language statement
A transvection preserves addHaar on ι → F.
Exact Lean statement
lemma Matrix.TransvectionStruct.measurePreserving [SecondCountableTopology F]
(t : Matrix.TransvectionStruct ι F) :
MeasurePreserving (⇑(Matrix.toLin' t.toMatrix)) addHaar addHaarFormal artifact
Lean source
lemma Matrix.TransvectionStruct.measurePreserving [SecondCountableTopology F] (t : Matrix.TransvectionStruct ι F) : MeasurePreserving (⇑(Matrix.toLin' t.toMatrix)) addHaar addHaar := by -- Step 1: replace `addHaar` by the product Haar measure `μ`. -- By uniqueness of Haar measures, they differ by a scalar, and -- measure-preservation is unaffected by scaling. let μ := Measure.pi fun _ : ι => (addHaar : Measure F) suffices MeasurePreserving (⇑(toLin' t.toMatrix)) μ μ by rw [isAddLeftInvariant_eq_smul_of_regular addHaar μ] apply MeasurePreserving.smul_measure this -- Step 2: prove invariance for the product Haar `μ`. -- This is the analogue of `Real.volume_preserving_transvectionStruct`. have hc: Continuous (toLin' t.toMatrix) := LinearMap.continuous_on_pi (toLin' t.toMatrix) have hm: Measurable (toLin' t.toMatrix) := hc.measurable refine ⟨hm, ?_⟩ -- Step 3: reduce to checking the map preserves measure of rectangles. refine (pi_eq fun s hs ↦ ?_).symm have h2s : MeasurableSet (Set.univ.pi s) := MeasurableSet.univ_pi hs simp_rw [← pi_pi, ← lintegral_indicator_one h2s] rw [lintegral_map (measurable_one.indicator h2s) hm] -- Step 4: reduce further to the one-dimensional marginal on coordinate i. refine lintegral_eq_of_lmarginal_eq {t.i} ((measurable_one.indicator h2s).comp hm) (measurable_one.indicator h2s) ?_ simp_rw [lmarginal_singleton] ext x -- Step 5: explicit computation for a transvection. -- On the j-th coordinate, the transvection acts as a translation, -- and Haar measure is invariant under translations. cases t with | mk i j hij c => simp [transvection, single_mulVec, hij.symm, ← Function.update_add, lintegral_add_right_eq_self (fun xᵢ ↦ Set.indicator (Set.univ.pi s) 1 (Function.update x i xᵢ))]- Project
- Fermat's Last Theorem
- License
- Apache-2.0
- Commit
- 8dd808888295
- Source
- FLT/HaarMeasure/HaarChar/FiniteDimensional.lean:89-122
Reuse this declaration
Bring the exact result into your workflow
The import identifies the source module. Your project still needs the pinned package dependency shown on this page.
What this badge means
This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.
Continue in this project
Related declarations
Eq finsum quotient out of bij On
AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn'
Plain-language statement
If a is fixed by V then ∑ᶠ g ∈ s, g • a is independent of the choice s of coset representatives in G for a subset of G ⧸ V
Source project: Fermat's Last Theorem
Person-level attribution pending.
Comm Group no compact automorphisms
CommGroup.no_compact_automorphisms
Plain-language statement
A connected compact Hausdorff abelian topological group does not admit a nontrivial compact group of automorphisms.
Source project: Fermat's Last Theorem
Person-level attribution pending.
Fermat Last Theorem of p ge 5
FermatLastTheorem.of_p_ge_5
Plain-language statement
If Fermat's Last Theorem is true for primes p ≥ 5, then FLT is true.
Source project: Fermat's Last Theorem
Person-level attribution pending.