The category of finite Boolean algebras #
This file defines FinBoolAlg, the category of finite Boolean algebras.
TODO #
Birkhoff's representation for finite Boolean algebras.
FintypeCat_to_FinBoolAlg_op.left_op ⋙ FinBoolAlg.dual ≅
FintypeCat_to_FinBoolAlg_op.left_op
FinBoolAlg is essentially small.
The category of finite Boolean algebras with bounded lattice morphisms.
- str : BooleanAlgebra ↑self.toBoolAlg
Instances For
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
instance
FinBoolAlg.concreteCategory :
CategoryTheory.ConcreteCategory FinBoolAlg fun (x1 x2 : FinBoolAlg) => BoundedLatticeHom ↑x1.toBoolAlg ↑x2.toBoolAlg
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
@[simp]
@[simp]
@[simp]
Constructs an equivalence between finite Boolean algebras from an order isomorphism between them.
Instances For
@[simp]
theorem
FinBoolAlg.Iso.mk_inv
{α β : FinBoolAlg}
(e : ↑α.toBoolAlg ≃o ↑β.toBoolAlg)
:
(mk e).inv = CategoryTheory.InducedCategory.homMk
(BoolAlg.ofHom
(have __src := { toFun := ⇑e.symm, map_sup' := ⋯, map_inf' := ⋯ };
{ toFun := ⇑e.symm, map_sup' := ⋯, map_inf' := ⋯, map_top' := ⋯, map_bot' := ⋯ }))
@[simp]
theorem
FinBoolAlg.Iso.mk_hom
{α β : FinBoolAlg}
(e : ↑α.toBoolAlg ≃o ↑β.toBoolAlg)
:
(mk e).hom = CategoryTheory.InducedCategory.homMk
(BoolAlg.ofHom
(have __src := { toFun := ⇑e, map_sup' := ⋯, map_inf' := ⋯ };
{ toFun := ⇑e, map_sup' := ⋯, map_inf' := ⋯, map_top' := ⋯, map_bot' := ⋯ }))
OrderDual as a functor.
Instances For
@[simp]
The equivalence between FinBoolAlg and itself induced by OrderDual both ways.
Instances For
The powerset functor. Set as a functor.
Instances For
@[simp]
theorem
fintypeToFinBoolAlgOp_map
{X Y : FintypeCat}
(f : X ⟶ Y)
:
fintypeToFinBoolAlgOp.map f = (CategoryTheory.InducedCategory.homMk
(BoolAlg.ofHom
(have __src :=
{ toFun := ⇑(CompleteLatticeHom.setPreimage ⇑(CategoryTheory.ConcreteCategory.hom f)), map_sup' := ⋯,
map_inf' := ⋯ };
{ toFun := ⇑(CompleteLatticeHom.setPreimage ⇑(CategoryTheory.ConcreteCategory.hom f)), map_sup' := ⋯,
map_inf' := ⋯, map_top' := ⋯, map_bot' := ⋯ }))).op
@[simp]
theorem
fintypeToFinBoolAlgOp_obj
(X : FintypeCat)
:
fintypeToFinBoolAlgOp.obj X = Opposite.op (FinBoolAlg.of (Set X.obj))