Propositional typeclasses on several maps #
This file contains typeclasses that are used in the definition of equivariant maps in the spirit what was initially developed by Frédéric Dupuis and Heather Macbeth for linear maps.
CompTriple φ ψ χ
, which expresses thatψ.comp φ = χ
CompTriple.IsId φ
, which expresses thatφ = id
TODO :
- align with RingHomCompTriple
@[simp]
theorem
CompTriple.comp_eq
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
{φ : M → N}
{ψ : N → P}
{χ : outParam (M → P)}
[self : CompTriple φ ψ χ]
:
The maps form a commuting triangle
instance
CompTriple.instComp_id
{N : Type u_1}
{P : Type u_2}
{φ : N → N}
[CompTriple.IsId φ]
{ψ : N → P}
:
CompTriple φ ψ ψ
Equations
- ⋯ = ⋯
instance
CompTriple.instId_comp
{M : Type u_1}
{N : Type u_2}
{φ : M → N}
{ψ : N → N}
[CompTriple.IsId ψ]
:
CompTriple φ ψ φ
Equations
- ⋯ = ⋯
theorem
CompTriple.comp
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
{φ : M → N}
{ψ : N → P}
:
CompTriple φ ψ (ψ ∘ φ)
φ
, ψ
and ψ ∘ φ
fora
CompTriple`
theorem
CompTriple.comp_inv
{M : Type u_1}
{N : Type u_2}
{φ : M → N}
{ψ : N → M}
(h : Function.RightInverse φ ψ)
{χ : M → M}
[CompTriple.IsId χ]
:
CompTriple φ ψ χ
theorem
CompTriple.comp_apply
{M : Type u_1}
{N : Type u_2}
{P : Type u_3}
{φ : M → N}
{ψ : N → P}
{χ : M → P}
(h : CompTriple φ ψ χ)
(x : M)
:
ψ (φ x) = χ x