The category of finite boolean algebras #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines FinBoolAlg
, the category of finite boolean algebras.
TODO #
Birkhoff's representation for finite Boolean algebras.
Fintype_to_FinBoolAlg_op.left_op ⋙ FinBoolAlg.dual ≅ Fintype_to_FinBoolAlg_op.left_op
FinBoolAlg
is essentially small.
- to_BoolAlg : BoolAlg
- is_fintype : fintype ↥(self.to_BoolAlg)
The category of finite boolean algebras with bounded lattice morphisms.
Instances for FinBoolAlg
@[protected, instance]
Equations
- FinBoolAlg.has_coe_to_sort = {coe := λ (X : FinBoolAlg), ↥(X.to_BoolAlg)}
@[protected, instance]
Equations
Construct a bundled FinBoolAlg
from boolean_algebra
+ fintype
.
Equations
- FinBoolAlg.of α = FinBoolAlg.mk {α := α, str := _inst_1}
@[simp]
@[protected, instance]
Equations
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]
Equations
- FinBoolAlg.has_forget_to_FinBddDistLat = {forget₂ := {obj := λ (X : FinBoolAlg), FinBddDistLat.of ↥X, map := λ (X Y : FinBoolAlg) (f : X ⟶ Y), f, map_id' := FinBoolAlg.has_forget_to_FinBddDistLat._proof_1, map_comp' := FinBoolAlg.has_forget_to_FinBddDistLat._proof_2}, forget_comp := FinBoolAlg.has_forget_to_FinBddDistLat._proof_3}
@[protected, instance]
@[protected, instance]
@[simp]
@[simp]
theorem
FinBoolAlg.has_forget_to_FinPartOrd_forget₂_map
(X Y : FinBoolAlg)
(f : X ⟶ Y) :
category_theory.has_forget₂.forget₂.map f = show ↥X →o ↥Y, from ↑(show bounded_lattice_hom ↥X ↥Y, from f)
@[protected, instance]
Equations
- FinBoolAlg.has_forget_to_FinPartOrd = {forget₂ := {obj := λ (X : FinBoolAlg), FinPartOrd.of ↥X, map := λ (X Y : FinBoolAlg) (f : X ⟶ Y), show ↥X →o ↥Y, from ↑(show bounded_lattice_hom ↥X ↥Y, from f), map_id' := FinBoolAlg.has_forget_to_FinPartOrd._proof_1, map_comp' := FinBoolAlg.has_forget_to_FinPartOrd._proof_2}, forget_comp := FinBoolAlg.has_forget_to_FinPartOrd._proof_3}
@[protected, instance]
@[simp]
@[simp]
theorem
FinBoolAlg.iso.mk_inv
{α β : FinBoolAlg}
(e : ↥α ≃o ↥β) :
(FinBoolAlg.iso.mk e).inv = ↑(e.symm)
Constructs an equivalence between finite Boolean algebras from an order isomorphism between them.
Equations
- FinBoolAlg.iso.mk e = {hom := ↑e, inv := ↑(e.symm), hom_inv_id' := _, inv_hom_id' := _}
order_dual
as a functor.
Equations
- FinBoolAlg.dual = {obj := λ (X : FinBoolAlg), FinBoolAlg.of (↥X)ᵒᵈ, map := λ (X Y : FinBoolAlg), ⇑bounded_lattice_hom.dual, map_id' := FinBoolAlg.dual._proof_1, map_comp' := FinBoolAlg.dual._proof_2}
@[simp]
@[simp]
theorem
FinBoolAlg.dual_map
(X Y : FinBoolAlg)
(ᾰ : bounded_lattice_hom ↥(X.to_BoolAlg.to_BddDistLat.to_BddLat) ↥(Y.to_BoolAlg.to_BddDistLat.to_BddLat)) :
@[simp]
The equivalence between FinBoolAlg
and itself induced by order_dual
both ways.
Equations
- FinBoolAlg.dual_equiv = category_theory.equivalence.mk FinBoolAlg.dual FinBoolAlg.dual (category_theory.nat_iso.of_components (λ (X : FinBoolAlg), FinBoolAlg.iso.mk (order_iso.dual_dual ↥X)) FinBoolAlg.dual_equiv._proof_1) (category_theory.nat_iso.of_components (λ (X : FinBoolAlg), FinBoolAlg.iso.mk (order_iso.dual_dual ↥X)) FinBoolAlg.dual_equiv._proof_2)
@[simp]
@[simp]
@[simp]
The powerset functor. set
as a functor.
Equations
- Fintype_to_FinBoolAlg_op = {obj := λ (X : Fintype), opposite.op (FinBoolAlg.of (set ↥X)), map := λ (X Y : Fintype) (f : X ⟶ Y), quiver.hom.op ↑(complete_lattice_hom.set_preimage f), map_id' := Fintype_to_FinBoolAlg_op._proof_1, map_comp' := Fintype_to_FinBoolAlg_op._proof_2}