Skip to content

[Merged by Bors] - feat: define ergodic actions#14952

Closed
urkud wants to merge 23 commits intomasterfrom
YK-ergodic-action
Closed

[Merged by Bors] - feat: define ergodic actions#14952
urkud wants to merge 23 commits intomasterfrom
YK-ergodic-action

Conversation

@urkud
Copy link
Copy Markdown
Member

@urkud urkud commented Jul 20, 2024

Also prove that a function is ergodic iff the corresponding IterateMulAct action
is ergodic.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jul 20, 2024

PR summary 6f94d50389

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.GroupTheory.GroupAction.IterateAct 207 179 -28 (-13.53%)
Mathlib.MeasureTheory.MeasurableSpace.Instances 605 607 +2 (+0.33%)
Import changes for all files
Files Import difference
There are 367 files with changed transitive imports: this is too many to display!

Declarations diff

+ ErgodicSMul
+ ErgodicVAdd
+ IterateMulAct.instDiscreteMeasurableSpace
+ IterateMulAct.instMeasurableSpace
+ Measurable.measurableSMul₂_iterateMulAct
+ MeasurePreserving.smulInvariantMeasure_iterateMulAct
+ _root_.ErgodicSMul.of_aestabilizer
+ _root_.MulAction.aeconst_of_aestabilizer_eq_top
+ aeconst_of_forall_preimage_smul_ae_eq
+ aeconst_of_forall_smul_ae_eq
+ ergodicSMul_iterateMulAct
+ instCountable
+ instance (priority := 100) Subsingleton.measurableSingletonClass
+ measurableSMul_iterateMulAct
+ measurableSMul₂_iterateMulAct
+ smulInvariantMeasure_iterateMulAct
- Subsingleton.measurableSingletonClass

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.

@urkud urkud added the t-measure-probability Measure theory / Probability theory label Jul 20, 2024
@ghost ghost added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jul 20, 2024
@ghost ghost removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jul 28, 2024
@ghost
Copy link
Copy Markdown

ghost commented Jul 28, 2024

@urkud urkud added the t-dynamics Dynamical Systems label Jul 28, 2024
@urkud urkud requested a review from ocfnash August 9, 2024 02:55
@ocfnash ocfnash self-assigned this Aug 9, 2024
Copy link
Copy Markdown
Contributor

@ocfnash ocfnash left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

bors d+

instance IterateMulAct.instDiscreteMeasurableSpace {α : Type*} {f : α → α} :
DiscreteMeasurableSpace (IterateMulAct f) := inferInstance

instance (priority := 100) Subsingleton.measurableSingletonClass
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
instance (priority := 100) Subsingleton.measurableSingletonClass
instance (priority := 100) Subsingleton.instMeasurableSingletonClass

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a pre-existing instance. I would prefer not to rename it in an unrelated PR.

simp only [ergodicSMul_iff, smulInvariantMeasure_iterateMulAct, hf]
refine ⟨fun ⟨h₁, h₂⟩ ↦ ⟨h₁, ⟨?_⟩⟩, fun h ↦ ⟨h.1, ?_⟩⟩
· intro s hm hs
rw [← eventuallyConst_set']
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the ideal would be to refactor PreErgodic to use the language of EventuallyConst s (ae μ).

I think almost as good would be to add lemmas similar to :

lemma Ergodic.eventuallyConst_ae (hf : Ergodic f μ) (hs : MeasurableSet s) (hs' : f ⁻¹' s = s) :
    EventuallyConst s (ae μ) := by
  simpa only [eventuallyConst_set'] using hf.ae_empty_or_univ hs hs'

and use them here instead of eventuallyConst_set'.

However this is all just "nice to have". This is clearly fine as it stands.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This refactor is on my TODO list but I don't want to make this series of PRs depend on a refactor.

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 9, 2024

✌️ urkud can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@ghost ghost added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Aug 9, 2024
urkud and others added 2 commits August 9, 2024 18:03
Co-authored-by: Oliver Nash <7734364+ocfnash@users.noreply.github.com>
@urkud
Copy link
Copy Markdown
Member Author

urkud commented Aug 9, 2024

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Aug 9, 2024
mathlib-bors bot pushed a commit that referenced this pull request Aug 9, 2024
Also prove that a function is ergodic iff the corresponding `IterateMulAct` action
is ergodic.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 9, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: define ergodic actions [Merged by Bors] - feat: define ergodic actions Aug 9, 2024
@mathlib-bors mathlib-bors bot closed this Aug 9, 2024
@mathlib-bors mathlib-bors bot deleted the YK-ergodic-action branch August 9, 2024 23:08
bjoernkjoshanssen pushed a commit that referenced this pull request Sep 9, 2024
Also prove that a function is ergodic iff the corresponding `IterateMulAct` action
is ergodic.
bjoernkjoshanssen pushed a commit that referenced this pull request Sep 9, 2024
Also prove that a function is ergodic iff the corresponding `IterateMulAct` action
is ergodic.
bjoernkjoshanssen pushed a commit that referenced this pull request Sep 12, 2024
Also prove that a function is ergodic iff the corresponding `IterateMulAct` action
is ergodic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). ready-to-merge This PR has been sent to bors. t-dynamics Dynamical Systems t-measure-probability Measure theory / Probability theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants