Atoms, Coatoms, and Simple Lattices #
This module defines atoms, which are minimal non-⊥ elements in bounded lattices, simple lattices,
which are lattices with only two elements, and related ideas.
Main definitions #
Atoms and Coatoms #
IsAtom aindicates that the only element belowais⊥.IsCoatom aindicates that the only element aboveais⊤.
Atomic and Atomistic Lattices #
IsAtomicindicates that every element other than⊥is above an atom.IsCoatomicindicates that every element other than⊤is below a coatom.IsAtomisticindicates that every element is thesSupof a set of atoms.IsCoatomisticindicates that every element is thesInfof a set of coatoms.
Simple Lattices #
IsSimpleOrderindicates that an order has only two unique elements,⊥and⊤.IsSimpleOrder.boundedOrderIsSimpleOrder.distribLattice- Given an instance of
IsSimpleOrder, we provide the following definitions. These are not made global instances as they contain data :
Main results #
isAtom_dual_iff_isCoatomandisCoatom_dual_iff_isAtomexpress the (definitional) duality ofIsAtomandIsCoatom.isSimpleOrder_iff_isAtom_topandisSimpleOrder_iff_isCoatom_botexpress the connection between atoms, coatoms, and simple latticesIsCompl.isAtom_iff_isCoatomandIsCompl.isCoatom_if_isAtom: In a modular bounded lattice, a complement of an atom is a coatom and vice versa.isAtomic_iff_isCoatomic: A modular complemented lattice is atomic iff it is coatomic.
Alias of the forward direction of bot_covBy_iff.
Alias of the reverse direction of bot_covBy_iff.
Alias of the reverse direction of isCoatom_dual_iff_isAtom.
Alias of the reverse direction of isAtom_dual_iff_isCoatom.
Alias of the reverse direction of covBy_top_iff.
Alias of the forward direction of covBy_top_iff.
Every element other than ⊤ has an atom above it.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- CompleteBooleanAlgebra.toCompleteAtomicBooleanAlgebra = let __spread.0 := inst✝; CompleteAtomicBooleanAlgebra.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A lattice is atomistic iff every element is a sSup of a set of atoms.
Every element is a
sSupof a set of atoms.
Instances
Every element is a sSup of a set of atoms.
A lattice is coatomistic iff every element is an sInf of a set of coatoms.
Every element is a
sInfof a set of coatoms.
Instances
Every element is a sInf of a set of coatoms.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
An order is simple iff it has exactly two elements, ⊥ and ⊤.
- exists_pair_ne : ∃ (x : α) (y : α), x ≠ y
Every element is either
⊥or⊤
Instances
Every element is either ⊥ or ⊤
Equations
- ⋯ = ⋯
A simple BoundedOrder induces a preorder. This is not an instance to prevent loops.
Equations
- IsSimpleOrder.preorder = Preorder.mk ⋯ ⋯ ⋯
Instances For
A simple partial ordered BoundedOrder induces a linear order.
This is not an instance to prevent loops.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Alias of IsSimpleOrder.eq_bot_of_lt.
Alias of IsSimpleOrder.eq_top_of_lt.
A simple partial ordered BoundedOrder induces a lattice.
This is not an instance to prevent loops
Equations
- IsSimpleOrder.lattice = LinearOrder.toLattice
Instances For
A lattice that is a BoundedOrder is a distributive lattice.
This is not an instance to prevent loops
Equations
- IsSimpleOrder.distribLattice = let __src := inferInstance; DistribLattice.mk ⋯
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Every simple lattice is isomorphic to Bool, regardless of order.
Equations
Instances For
Every simple lattice over a partial order is order-isomorphic to Bool.
Equations
- IsSimpleOrder.orderIsoBool = let __src := IsSimpleOrder.equivBool; { toEquiv := __src, map_rel_iff' := ⋯ }
Instances For
A simple BoundedOrder is also a BooleanAlgebra.
Equations
- IsSimpleOrder.booleanAlgebra = let __src := inferInstanceAs (BoundedOrder α); let __src_1 := IsSimpleOrder.distribLattice; BooleanAlgebra.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A simple BoundedOrder is also complete.
Equations
- IsSimpleOrder.completeLattice = let __src := inferInstance; let __src_1 := inferInstance; CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
A simple BoundedOrder is also a CompleteBooleanAlgebra.
Equations
- IsSimpleOrder.completeBooleanAlgebra = let __spread.0 := IsSimpleOrder.completeLattice; let __spread.1 := IsSimpleOrder.booleanAlgebra; CompleteBooleanAlgebra.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Alias of the forward direction of isAtom_compl.
Alias of the reverse direction of isAtom_compl.
Alias of the reverse direction of isCoatom_compl.
Alias of the forward direction of isCoatom_compl.