The category of Heyting algebras.
- carrier : Type u_1
The underlying Heyting algebra.
- str : HeytingAlgebra ↑self
Instances For
@[implicit_reducible]
@[reducible, inline]
Construct a bundled HeytAlg from the underlying type and typeclass.
Instances For
@[implicit_reducible]
@[implicit_reducible]
instance
HeytAlg.instConcreteCategoryHeytingHomCarrier :
CategoryTheory.ConcreteCategory HeytAlg fun (x1 x2 : HeytAlg) => HeytingHom ↑x1 ↑x2
@[reducible, inline]
Typecheck a HeytingHom as a morphism in HeytAlg.
Instances For
Use the ConcreteCategory.hom projection for @[simps] lemmas.
Instances For
The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.
@[simp]
@[simp]
@[simp]
theorem
HeytAlg.ext
{X Y : HeytAlg}
{f g : X ⟶ Y}
(w : ∀ (x : ↑X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x)
:
f = g
theorem
HeytAlg.ext_iff
{X Y : HeytAlg}
{f g : X ⟶ Y}
:
f = g ↔ ∀ (x : ↑X), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x
@[simp]
@[simp]
theorem
HeytAlg.hom_comp
{X Y Z : HeytAlg}
(f : X ⟶ Y)
(g : Y ⟶ Z)
:
Hom.hom (CategoryTheory.CategoryStruct.comp f g) = (Hom.hom g).comp (Hom.hom f)
@[simp]
theorem
HeytAlg.hom_ofHom
{X Y : Type u}
[HeytingAlgebra X]
[HeytingAlgebra Y]
(f : HeytingHom X Y)
:
@[simp]
@[simp]
theorem
HeytAlg.ofHom_id
{X : Type u}
[HeytingAlgebra X]
:
ofHom (HeytingHom.id X) = CategoryTheory.CategoryStruct.id (of X)
@[simp]
theorem
HeytAlg.ofHom_comp
{X Y Z : Type u}
[HeytingAlgebra X]
[HeytingAlgebra Y]
[HeytingAlgebra Z]
(f : HeytingHom X Y)
(g : HeytingHom Y Z)
:
ofHom (g.comp f) = CategoryTheory.CategoryStruct.comp (ofHom f) (ofHom g)
theorem
HeytAlg.ofHom_apply
{X Y : Type u}
[HeytingAlgebra X]
[HeytingAlgebra Y]
(f : HeytingHom X Y)
(x : X)
:
(CategoryTheory.ConcreteCategory.hom (ofHom f)) x = f x
theorem
HeytAlg.inv_hom_apply
{X Y : HeytAlg}
(e : X ≅ Y)
(x : ↑X)
:
(CategoryTheory.ConcreteCategory.hom e.inv) ((CategoryTheory.ConcreteCategory.hom e.hom) x) = x
theorem
HeytAlg.hom_inv_apply
{X Y : HeytAlg}
(e : X ≅ Y)
(s : ↑Y)
:
(CategoryTheory.ConcreteCategory.hom e.hom) ((CategoryTheory.ConcreteCategory.hom e.inv) s) = s
@[implicit_reducible]
@[simp]
theorem
HeytAlg.hasForgetToLat_forget₂_obj_carrier
(X : HeytAlg)
:
↑(CategoryTheory.HasForget₂.forget₂.obj X).toDistLat = ↑X
@[simp]
theorem
HeytAlg.hasForgetToLat_forget₂_map
{X✝ Y✝ : HeytAlg}
(f : X✝ ⟶ Y✝)
:
CategoryTheory.HasForget₂.forget₂.map f = BddDistLat.ofHom
(have __src := { toFun := ⇑(Hom.hom f), map_sup' := ⋯, map_inf' := ⋯ };
{ toFun := ⇑(Hom.hom f), map_sup' := ⋯, map_inf' := ⋯, map_top' := ⋯, map_bot' := ⋯ })
@[simp]
Constructs an isomorphism of Heyting algebras from an order isomorphism between them.
Instances For
@[simp]