Morphisms and isomorphisms of relation algebras #
structure
Cslib.RelationAlgebraHom
(α : Type u_1)
(β : Type u_2)
[RelationAlgebra α]
[RelationAlgebra β]
extends BoundedLatticeHom α β, α →⋆* β :
Type (max u_1 u_2)
The type of relation algebra homomorphisms from α to β, preserving both the Boolean algebra
and composition operations
- toFun : α → β
Instances For
structure
Cslib.RelationAlgebraEquiv
(α : Type u_1)
(β : Type u_2)
[RelationAlgebra α]
[RelationAlgebra β]
extends (fun (x1 x2 : α) => x1 ≤ x2) ≃r fun (x1 x2 : β) => x1 ≤ x2, α ≃⋆* β :
Type (max u_1 u_2)
The type of relation algebra equivalence from α to β, preserving both the Boolean algebra
and composition operations
- toFun : α → β
- invFun : β → α
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
Instances For
@[instance_reducible]
instance
Cslib.RelationAlgebraHom.instFunLike
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
FunLike (RelationAlgebraHom α β) α β
Equations
- Cslib.RelationAlgebraHom.instFunLike = { coe := fun (f : Cslib.RelationAlgebraHom α β) => f.toFun, coe_injective := ⋯ }
instance
Cslib.RelationAlgebraHom.instBoundedLatticeHomClass
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
BoundedLatticeHomClass (RelationAlgebraHom α β) α β
instance
Cslib.RelationAlgebraHom.instMonoidHomClass
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
MonoidHomClass (RelationAlgebraHom α β) α β
instance
Cslib.RelationAlgebraHom.instStarHomClass
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
StarHomClass (RelationAlgebraHom α β) α β
theorem
Cslib.RelationAlgebraHom.ext
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
{f g : RelationAlgebraHom α β}
(h : ∀ (a : α), f a = g a)
:
theorem
Cslib.RelationAlgebraHom.ext_iff
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
{f g : RelationAlgebraHom α β}
:
id as a RelationAlgebraHom
Equations
- Cslib.RelationAlgebraHom.id α = { toBoundedLatticeHom := BoundedLatticeHom.id α, map_one' := ⋯, map_mul' := ⋯, map_star' := ⋯ }
Instances For
def
Cslib.RelationAlgebraHom.comp
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[RelationAlgebra α]
[RelationAlgebra β]
[RelationAlgebra γ]
(f : RelationAlgebraHom β γ)
(g : RelationAlgebraHom α β)
:
Composition of RelationAlgebraHom
Equations
Instances For
@[simp]
@[simp]
theorem
Cslib.RelationAlgebraHom.comp_apply
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[RelationAlgebra α]
[RelationAlgebra β]
[RelationAlgebra γ]
(f : RelationAlgebraHom β γ)
(g : RelationAlgebraHom α β)
(a : α)
:
@[instance_reducible]
instance
Cslib.RelationAlgebraEquiv.instEquivLike
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
EquivLike (RelationAlgebraEquiv α β) α β
Equations
- One or more equations did not get rendered due to their size.
instance
Cslib.RelationAlgebraEquiv.instOrderIsoClass
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
OrderIsoClass (RelationAlgebraEquiv α β) α β
instance
Cslib.RelationAlgebraEquiv.instMulEquivClass
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
MulEquivClass (RelationAlgebraEquiv α β) α β
instance
Cslib.RelationAlgebraEquiv.instStarHomClass
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
:
StarHomClass (RelationAlgebraEquiv α β) α β
theorem
Cslib.RelationAlgebraEquiv.ext
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
{f g : RelationAlgebraEquiv α β}
(h : ∀ (a : α), f a = g a)
:
theorem
Cslib.RelationAlgebraEquiv.ext_iff
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
{f g : RelationAlgebraEquiv α β}
:
The reflexive RelationAlgebraEquiv
Equations
- Cslib.RelationAlgebraEquiv.refl α = { toOrderIso := OrderIso.refl α, map_mul' := ⋯, map_star' := ⋯ }
Instances For
def
Cslib.RelationAlgebraEquiv.symm
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
(f : RelationAlgebraEquiv α β)
:
The symmetric RelationAlgebraEquiv
Instances For
def
Cslib.RelationAlgebraEquiv.trans
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[RelationAlgebra α]
[RelationAlgebra β]
[RelationAlgebra γ]
(f : RelationAlgebraEquiv α β)
(g : RelationAlgebraEquiv β γ)
:
The transitive RelationAlgebraEquiv
Instances For
def
Cslib.RelationAlgebraEquiv.toHom
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
(f : RelationAlgebraEquiv α β)
:
The RelationAlgebraHom underlying an RelationAlgebraEquiv
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
@[simp]
theorem
Cslib.RelationAlgebraEquiv.trans_apply
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[RelationAlgebra α]
[RelationAlgebra β]
[RelationAlgebra γ]
(f : RelationAlgebraEquiv α β)
(g : RelationAlgebraEquiv β γ)
(a : α)
:
@[simp]
theorem
Cslib.RelationAlgebraEquiv.toHom_apply
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
(f : RelationAlgebraEquiv α β)
(a : α)
:
@[simp]
theorem
Cslib.RelationAlgebraEquiv.symm_apply_apply
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
(f : RelationAlgebraEquiv α β)
(a : α)
:
@[simp]
theorem
Cslib.RelationAlgebraEquiv.apply_symm_apply
{α : Type u_1}
{β : Type u_2}
[RelationAlgebra α]
[RelationAlgebra β]
(f : RelationAlgebraEquiv α β)
(b : β)
: