Equivariant homomorphisms #
Main definitions #
MulActionHom φ X Y, the type of equivariant functions fromXtoY, whereφ : M → Nis a map,Macting on the typeXandNacting on the type ofY.DistribMulActionHom φ A B, the type of equivariant additive monoid homomorphisms fromAtoB, whereφ : M → Nis a morphism of monoids,Macting on the additive monoidAandNacting on the additive monoid ofBSMulSemiringHom φ R S, the type of equivariant ring homomorphisms fromRtoS, whereφ : M → Nis a morphism of monoids,Macting on the ringRandNacting on the ringS.
The above types have corresponding classes:
MulActionHomClass F φ X Ystates thatFis a type of bundledX → Yhoms which areφ-equivariantDistribMulActionHomClass F φ A Bstates thatFis a type of bundledA → Bhoms preserving the additive monoid structure andφ-equivariantSMulSemiringHomClass F φ R Sstates thatFis a type of bundledR → Shoms preserving the ring structure andφ-equivariant
Notation #
We introduce the following notation to code equivariant maps
(the subscript index ₑ is for equivariant) :
X →ₑ[φ] YisMulActionHom φ X Y.A →ₑ+[φ] BisDistribMulActionHom φ A B.R →ₑ+*[φ] SisMulSemiringActionHom φ R S.
When M = N and φ = MonoidHom.id M, we provide the backward compatible notation :
X →[M] YisMulActionHom (@id M) X YA →+[M] BisDistribMulActionHom (MonoidHom.id M) A BR →+*[M] SisMulSemiringActionHom (MonoidHom.id M) R S
Equivariant functions :
When φ : M → N is a function, and types X and Y are endowed with actions of M and N,
a function f : X → Y is φ-equivariant if f (m • x) = (φ m) • (f x).
- toFun : X → Y
The underlying function.
The proposition that the function commutes with the actions.
Instances For
φ-equivariant functions X → Y,
where φ : M → N, where M and N act on X and Y respectively
Equations
- One or more equations did not get rendered due to their size.
Instances For
M-equivariant functions X → Y with respect to the action of M
This is the same as X →ₑ[@id M] Y
Equations
- One or more equations did not get rendered due to their size.
Instances For
MulActionSemiHomClass F φ X Y states that
F is a type of morphisms which are φ-equivariant.
You should extend this class when you extend MulActionHom.
The proposition that the function preserves the action.
Instances
The proposition that the function preserves the action.
MulActionHomClass F M X Y states that F is a type of
morphisms which are equivariant with respect to actions of M
This is an abbreviation of MulActionSemiHomClass.
Equations
- MulActionHomClass F M X Y = MulActionSemiHomClass F id X Y
Instances For
Turn an element of a type F satisfying MulActionSemiHomClass F φ X Y
into an actual MulActionHom.
This is declared as the default coercion from F to MulActionSemiHom φ X Y.
Equations
- ↑f = { toFun := ⇑f, map_smul' := ⋯ }
Instances For
Any type satisfying MulActionSemiHomClass can be cast into MulActionHom via
MulActionHomSemiClass.toMulActionHom.
Equations
- MulActionHom.instCoeTCOfMulActionSemiHomClass = { coe := MulActionSemiHomClass.toMulActionHom }
If Y/X/M forms a scalar tower, any map X → Y preserving X-action also preserves M-action.
Two equal maps on scalars give rise to an equivariant map for identity
Equations
- MulActionHom.ofEq h f = { toFun := f.toFun, map_smul' := ⋯ }
Instances For
The identity map as an equivariant map.
Equations
- MulActionHom.id M = { toFun := id, map_smul' := ⋯ }
Instances For
The inverse of a bijective equivariant map is equivariant.
Equations
- f.inverse g h₁ h₂ = { toFun := g, map_smul' := ⋯ }
Instances For
The inverse of a bijective equivariant map is equivariant.
Equations
- f.inverse' g k h₁ h₂ = { toFun := g, map_smul' := ⋯ }
Instances For
If actions of M and N on α commute,
then for c : M, (c • · : α → α) is an N-action homomorphism.
Equations
- SMulCommClass.toMulActionHom N α c = { toFun := fun (x : α) => c • x, map_smul' := ⋯ }
Instances For
Equivariant additive monoid homomorphisms.
- toFun : A → B
- map_zero' : self.toFun 0 = 0
The proposition that the function preserves 0
The proposition that the function preserves addition
Instances For
Reinterpret an equivariant additive monoid homomorphism as an additive monoid homomorphism.
Equations
- self.toAddMonoidHom = { toFun := self.toFun, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equivariant additive monoid homomorphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equivariant additive monoid homomorphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
DistribMulActionSemiHomClass F φ A B states that F is a type of morphisms
preserving the additive monoid structure and equivariant with respect to φ.
You should extend this class when you extend DistribMulActionSemiHom.
Instances
DistribMulActionHomClass F M A B states that F is a type of morphisms preserving
the additive monoid structure and equivariant with respect to the action of M.
It is an abbreviation to DistribMulActionHomClass F (MonoidHom.id M) A B
You should extend this class when you extend DistribMulActionHom.
Equations
- DistribMulActionHomClass F M A B = DistribMulActionSemiHomClass F (⇑(MonoidHom.id M)) A B
Instances For
Equations
- DistribMulActionHom.instFunLike φ A B = { coe := fun (m : A →ₑ+[φ] B) => m.toFun, coe_injective' := ⋯ }
Equations
- ⋯ = ⋯
Turn an element of a type F satisfying MulActionHomClass F M X Y into an actual
MulActionHom. This is declared as the default coercion from F to MulActionHom M X Y.
Equations
- ↑f = let __src := ↑f; let __src_1 := ↑f; { toFun := (↑__src).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Any type satisfying MulActionHomClass can be cast into MulActionHom
via MulActionHomClass.toMulActionHom.
Equations
- DistribMulActionHom.instCoeTCOfDistribMulActionSemiHomClassCoeMonoidHom = { coe := DistribMulActionSemiHomClass.toDistribMulActionHom }
If DistribMulAction of M and N on A commute,
then for each c : M, (c • ·) is an N-action additive homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The identity map as an equivariant additive monoid homomorphism.
Equations
- DistribMulActionHom.id M = { toMulActionHom := MulActionHom.id M, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- DistribMulActionHom.instZero = { zero := let __src := 0; { toFun := (↑__src).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ } }
Equations
- DistribMulActionHom.instOneId = { one := DistribMulActionHom.id M }
Equations
- DistribMulActionHom.instInhabited = { default := 0 }
Composition of two equivariant additive monoid homomorphisms.
Equations
- g.comp f = let __src := (↑g).comp ↑f; let __src_1 := (↑g).comp ↑f; { toMulActionHom := __src, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The inverse of a bijective DistribMulActionHom is a DistribMulActionHom.
Equations
- f.inverse g h₁ h₂ = let __src := (↑f).inverse g h₁ h₂; let __src := f.inverse g h₁ h₂; { toFun := g, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equivariant ring homomorphisms.
- toFun : R → S
- map_zero' : self.toFun 0 = 0
- map_one' : self.toFun 1 = 1
The proposition that the function preserves 1
The proposition that the function preserves multiplication
Instances For
Reinterpret an equivariant ring homomorphism as a ring homomorphism.
Equations
- self.toRingHom = { toFun := self.toFun, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equivariant ring homomorphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equivariant ring homomorphisms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
MulSemiringActionHomClass F φ R S states that F is a type of morphisms preserving
the ring structure and equivariant with respect to φ.
You should extend this class when you extend MulSemiringActionHom.
Instances
MulSemiringActionHomClass F M R S states that F is a type of morphisms preserving
the ring structure and equivariant with respect to a DistribMulActionof M on R and S .
Equations
- MulSemiringActionHomClass F R S = MulSemiringActionSemiHomClass F (⇑(MonoidHom.id M)) R S
Instances For
Equations
- MulSemiringActionHom.instFunLike φ R S = { coe := fun (m : R →ₑ+*[φ] S) => m.toFun, coe_injective' := ⋯ }
Equations
- ⋯ = ⋯
Turn an element of a type F satisfying MulSemiringActionHomClass F M R S into an actual
MulSemiringActionHom. This is declared as the default coercion from F to
MulSemiringActionHom M X Y.
Equations
- ↑f = let __src := ↑f; let __src_1 := ↑f; { toFun := (↑↑__src).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Any type satisfying MulSemiringActionHomClass can be cast into MulSemiringActionHom via
MulSemiringActionHomClass.toMulSemiringActionHom.
Equations
- MulSemiringActionHom.instCoeTCOfMulSemiringActionSemiHomClassCoeMonoidHom = { coe := MulSemiringActionHomClass.toMulSemiringActionHom }
The identity map as an equivariant ring homomorphism.
Equations
- MulSemiringActionHom.id M = { toDistribMulActionHom := DistribMulActionHom.id M, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Composition of two equivariant additive ring homomorphisms.
Equations
- g.comp f = let __src := (↑g).comp ↑f; let __src_1 := (↑g).comp ↑f; { toDistribMulActionHom := __src, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The inverse of a bijective MulSemiringActionHom is a MulSemiringActionHom.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse of a bijective MulSemiringActionHom is a MulSemiringActionHom.
Equations
- One or more equations did not get rendered due to their size.