Boolean subalgebras #
This file defines boolean subalgebras.
A boolean subalgebra of a boolean algebra is a set containing the bottom and top elements, and closed under suprema, infima and complements.
- supClosed' : SupClosed self.carrier
- infClosed' : InfClosed self.carrier
Instances For
Equations
- BooleanSubalgebra.instSetLike = { coe := fun (L : BooleanSubalgebra α) => L.carrier, coe_injective' := ⋯ }
Copy of a boolean subalgebra with a new carrier
equal to the old one. Useful to fix
definitional equalities.
Equations
- L.copy s hs = { toSublattice := L.copy s ⋯, compl_mem' := ⋯, bot_mem' := ⋯ }
Instances For
Two boolean subalgebras are equal if they have the same elements.
A boolean subalgebra of a lattice inherits a bottom element.
A boolean subalgebra of a lattice inherits a top element.
A boolean subalgebra of a lattice inherits a supremum.
A boolean subalgebra of a lattice inherits an infimum.
A boolean subalgebra of a lattice inherits a complement.
A boolean subalgebra of a lattice inherits a difference.
A boolean subalgebra of a lattice inherits a Heyting implication.
A boolean subalgebra of a lattice inherits a boolean algebra structure.
Equations
- L.instBooleanAlgebraCoe = Function.Injective.booleanAlgebra (fun (a : ↥L) => ↑a) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The natural lattice hom from a boolean subalgebra to the original lattice.
Equations
- L.subtype = { toFun := Subtype.val, map_sup' := ⋯, map_inf' := ⋯, map_top' := ⋯, map_bot' := ⋯ }
Instances For
The inclusion homomorphism from a boolean subalgebra L
to a bigger boolean subalgebra M
.
Equations
- BooleanSubalgebra.inclusion h = { toFun := Set.inclusion h, map_sup' := ⋯, map_inf' := ⋯, map_top' := ⋯, map_bot' := ⋯ }
Instances For
The maximum boolean subalgebra of a lattice.
Equations
- BooleanSubalgebra.instTop = { top := { carrier := Set.univ, supClosed' := ⋯, infClosed' := ⋯, compl_mem' := ⋯, bot_mem' := ⋯ } }
The trivial boolean subalgebra of a lattice.
The inf of two boolean subalgebras is their intersection.
Equations
- BooleanSubalgebra.instInf = { min := fun (L M : BooleanSubalgebra α) => { carrier := ↑L ∩ ↑M, supClosed' := ⋯, infClosed' := ⋯, compl_mem' := ⋯, bot_mem' := ⋯ } }
The inf of boolean subalgebras is their intersection.
Equations
- BooleanSubalgebra.instInfSet = { sInf := fun (S : Set (BooleanSubalgebra α)) => { carrier := ⋂ L ∈ S, ↑L, supClosed' := ⋯, infClosed' := ⋯, compl_mem' := ⋯, bot_mem' := ⋯ } }
The top boolean subalgebra is isomorphic to the original boolean algebra.
This is the boolean subalgebra version of Equiv.Set.univ α
.
Equations
- BooleanSubalgebra.topEquiv = { toEquiv := Equiv.Set.univ α, map_rel_iff' := ⋯ }
Instances For
BooleanSubalgebras of a lattice form a complete lattice.
Equations
- BooleanSubalgebra.instCompleteLattice = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- BooleanSubalgebra.instUniqueOfIsEmpty = uniqueOfSubsingleton ⊤
The preimage of a boolean subalgebra along a bounded lattice homomorphism.
Equations
- BooleanSubalgebra.comap f L = { carrier := ⇑f ⁻¹' ↑L, supClosed' := ⋯, infClosed' := ⋯, compl_mem' := ⋯, bot_mem' := ⋯ }
Instances For
The image of a boolean subalgebra along a monoid homomorphism is a boolean subalgebra.
Equations
- BooleanSubalgebra.map f L = { carrier := ⇑f '' ↑L, supClosed' := ⋯, infClosed' := ⋯, compl_mem' := ⋯, bot_mem' := ⋯ }
Instances For
The minimum boolean subalgebra containing a given set.
Equations
- BooleanSubalgebra.closure s = sInf {L : BooleanSubalgebra α | s ⊆ ↑L}
Instances For
An induction principle for closure membership. If p
holds for ⊥
and all elements of s
, and
is preserved under suprema and complement, then p
holds for all elements of the closure of s
.