Documentation

Cslib.Foundations.RelationAlgebra.Hom

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

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

    Instances For
      @[instance_reducible]
      Equations
      theorem Cslib.RelationAlgebraHom.ext {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] {f g : RelationAlgebraHom α β} (h : ∀ (a : α), f a = g a) :
      f = g
      theorem Cslib.RelationAlgebraHom.ext_iff {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] {f g : RelationAlgebraHom α β} :
      f = g ↔ ∀ (a : α), f a = g a

      id as a RelationAlgebraHom

      Equations
      Instances For

        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 : α) :
          (f.comp g) a = f (g a)
          @[instance_reducible]
          Equations
          • One or more equations did not get rendered due to their size.
          theorem Cslib.RelationAlgebraEquiv.ext {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] {f g : RelationAlgebraEquiv α β} (h : ∀ (a : α), f a = g a) :
          f = g
          theorem Cslib.RelationAlgebraEquiv.ext_iff {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] {f g : RelationAlgebraEquiv α β} :
          f = g ↔ ∀ (a : α), f a = g a

          The reflexive RelationAlgebraEquiv

          Equations
          Instances For

            The symmetric RelationAlgebraEquiv

            Equations
            • f.symm = { toOrderIso := f.symm, map_mul' := ⋯, map_star' := ⋯ }
            Instances For

              The transitive RelationAlgebraEquiv

              Equations
              Instances For

                The RelationAlgebraHom underlying an RelationAlgebraEquiv

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem Cslib.RelationAlgebraEquiv.trans_apply {α : Type u_1} {β : Type u_2} {γ : Type u_3} [RelationAlgebra α] [RelationAlgebra β] [RelationAlgebra γ] (f : RelationAlgebraEquiv α β) (g : RelationAlgebraEquiv β γ) (a : α) :
                  (f.trans g) a = g (f a)
                  @[simp]
                  theorem Cslib.RelationAlgebraEquiv.toHom_apply {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] (f : RelationAlgebraEquiv α β) (a : α) :
                  f.toHom a = f a
                  @[simp]
                  theorem Cslib.RelationAlgebraEquiv.symm_apply_apply {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] (f : RelationAlgebraEquiv α β) (a : α) :
                  f.symm (f a) = a
                  @[simp]
                  theorem Cslib.RelationAlgebraEquiv.apply_symm_apply {α : Type u_1} {β : Type u_2} [RelationAlgebra α] [RelationAlgebra β] (f : RelationAlgebraEquiv α β) (b : β) :
                  f (f.symm b) = b