leanprover-community / leanprover-community/mathlib4
Extend basic API about `DomMulAct`
Open
Nobody has claimed this yet.
good first issue
- Dominant language
- Lean
- Stars
- 4.2k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
This issue keeps track of missing basic API about DomMulAct.
Actions on functions
- action on
α → β, see #5368; - a
MulDistribMulActiongenerates an action onA →* B, see #5368; - a
DistribMulActiongenerates an action onA →+ B, see #5368; - an action on
αthat commutes with action of some other monoidNgenerates an action on
α →[N] β, see #5378; - a
DistribMulActionon anR-module that commutes with scalar multiplications byc : R
generates an action onR-linear maps from this module; - a continuous action on
Xgenerates an action onC(X, Y); - a measurable action on
Xgenerates an action on{ f : X → Y // Measurable f }; we don't have a typeclass for measurable actions yet; - a quasi measure preserving action on
Xgenerates an action onX →ₘ[μ] Y, see #5693; - a measure preserving action generates an isometric action on
MeasureTheory.Lp _ _ _(done in a private branch).
Extra instances
For each action, we should add (at least) the following instances.
SMulCommClass
- if
MandNact onαand the actions commute, then the actions ofDoMulAct MandDomMulAct Ncommute. - if
Macts on the domain andNacts on the codomain, then the actions commute uncondiitonally
Distributivity
- If the codomain has a zero, then add
ZeroSMulClass. - If the maps also have pointwise
Addinstance, then addDistribSMul. - If the maps form an
AddZeroClass, then addDistribMulAction. - If the maps have pointwise
Mulinstance, then addMulDistribMulAction.
Dynamical properties
- A function is invariant under the action if and only if it is constant on the orbits.
- In particular, if the action is (pre?)transitive, then the only invariant functions are constants.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing DomMulAct API and the linked completed issues, especially #5368, #5378, and #5693. Use the unchecked entries in the functions, instances, and dynamical-properties sections to define a focused contribution; completion requires implementing and validating one clearly scoped missing API item.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100