Skip to content

Commit 3f3cd98

Browse files
committed
feat(Dynamics/Ergodic): add ergodic_of_ergodic_semiconj (#31793)
Adds the theorem `MeasureTheory.MeasurePreserving.ergodic_of_ergodic_semiconj`, showing that the ergodicity property can be pushed along a semiconjugacy.
1 parent b6580c4 commit 3f3cd98

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

Mathlib/Dynamics/Ergodic/Ergodic.lean

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,25 @@ namespace MeasureTheory.MeasurePreserving
9494

9595
variable {β : Type*} {m' : MeasurableSpace β} {μ' : Measure β} {g : α → β}
9696

97-
theorem preErgodic_of_preErgodic_conjugate (hg : MeasurePreserving g μ μ') (hf : PreErgodic f μ)
97+
theorem preErgodic_of_preErgodic_semiconj (hg : MeasurePreserving g μ μ') (hf : PreErgodic f μ)
9898
{f' : β → β} (h_comm : Semiconj g f f') : PreErgodic f' μ' where
9999
aeconst_set s hs₀ hs₁ := by
100100
rw [← hg.aeconst_preimage hs₀.nullMeasurableSet]
101101
apply hf.aeconst_set (hg.measurable hs₀)
102102
rw [← preimage_comp, h_comm.comp_eq, preimage_comp, hs₁]
103103

104+
@[deprecated (since := "2025-11-19")]
105+
alias preErgodic_of_preErgodic_conjugate := preErgodic_of_preErgodic_semiconj
106+
107+
theorem ergodic_of_ergodic_semiconj (hg : MeasurePreserving g μ μ') (hf : Ergodic f μ)
108+
{f' : β → β} (hf' : Measurable f') (h_comm : Semiconj g f f') : Ergodic f' μ' :=
109+
⟨hg.of_semiconj hf.toMeasurePreserving h_comm hf',
110+
hg.preErgodic_of_preErgodic_semiconj hf.toPreErgodic h_comm⟩
111+
104112
theorem preErgodic_conjugate_iff {e : α ≃ᵐ β} (h : MeasurePreserving e μ μ') :
105113
PreErgodic (e ∘ f ∘ e.symm) μ' ↔ PreErgodic f μ := by
106-
refine ⟨fun hf => preErgodic_of_preErgodic_conjugate (h.symm e) hf ?_,
107-
fun hf => preErgodic_of_preErgodic_conjugate h hf ?_⟩
114+
refine ⟨fun hf => preErgodic_of_preErgodic_semiconj (h.symm e) hf ?_,
115+
fun hf => preErgodic_of_preErgodic_semiconj h hf ?_⟩
108116
· simp [Semiconj]
109117
· simp [Semiconj]
110118

Mathlib/Dynamics/Ergodic/MeasurePreserving.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@ protected theorem comp {g : β → γ} {f : α → β} (hg : MeasurePreserving g
9494
(hf : MeasurePreserving f μa μb) : MeasurePreserving (g ∘ f) μa μc :=
9595
⟨hg.1.comp hf.1, by rw [← map_map hg.1 hf.1, hf.2, hg.2]⟩
9696

97+
protected theorem map_of_comp {f : α → β} {g : β → γ} (hgf : MeasurePreserving (g ∘ f) μa μc)
98+
(hg : Measurable g) (hf : Measurable f) :
99+
MeasurePreserving g (μa.map f) μc :=
100+
⟨hg, (map_map hg hf).trans hgf.map_eq⟩
101+
102+
protected theorem of_semiconj {f : α → β} {ga : α → α} {gb : β → β}
103+
(hfm : MeasurePreserving f μa μb) (hga : MeasurePreserving ga μa μa) (hf : Semiconj f ga gb)
104+
(hgb : Measurable gb) : MeasurePreserving gb μb μb := by
105+
have := hf.comp_eq ▸ hfm.comp hga |>.map_of_comp hgb hfm.measurable
106+
rwa [hfm.map_eq] at this
107+
97108
/-- An alias of `MeasureTheory.MeasurePreserving.comp` with a convenient defeq and argument order
98109
for `MeasurableEquiv` -/
99110
protected theorem trans {e : α ≃ᵐ β} {e' : β ≃ᵐ γ}

0 commit comments

Comments
 (0)