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 below- ais- ⊥.
- IsCoatom aindicates that the only element above- ais- ⊤.
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 the- sSupof a set of atoms.
- IsCoatomisticindicates that every element is the- sInfof a set of coatoms.
- IsStronglyAtomicindicates that for all- a < b, there is some- xwith- a ⋖ x ≤ b.
- IsStronglyCoatomicindicates that for all- a < b, there is some- xwith- a ≤ x ⋖ b.
Simple Lattices #
- IsSimpleOrderindicates that an order has only two unique elements,- ⊥and- ⊤.
- IsSimpleOrder.boundedOrder
- IsSimpleOrder.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_isCoatomand- isCoatom_dual_iff_isAtomexpress the (definitional) duality of- IsAtomand- IsCoatom.
- isSimpleOrder_iff_isAtom_topand- isSimpleOrder_iff_isCoatom_botexpress the connection between atoms, coatoms, and simple lattices
- IsCompl.isAtom_iff_isCoatomand- IsCompl.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 IsAtom.le_iSup.
Alias of the reverse direction of isCoatom_dual_iff_isAtom.
Alias of the reverse direction of isAtom_dual_iff_isCoatom.
Alias of the forward direction of covBy_top_iff.
Alias of the reverse direction of covBy_top_iff.
Alias of IsCoatom.iInf_le.
Alias of exists_covBy_le_of_lt.
Alias of exists_le_covBy_of_lt.
Every atomic complete Boolean algebra is completely atomic.
This is not made an instance to avoid typeclass loops.
Equations
- CompleteBooleanAlgebra.toCompleteAtomicBooleanAlgebra = { toCompleteBooleanAlgebra := inst✝¹, iInf_iSup_eq := ⋯ }
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
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
An order is simple iff it has exactly two elements, ⊥ and ⊤.
- exists_pair_ne : ∃ (x : α) (y : α), x ≠ y
- Every element is either - ⊥or- ⊤
Instances
A simple BoundedOrder induces a preorder. This is not an instance to prevent loops.
Equations
- IsSimpleOrder.preorder = { le := fun (x1 x2 : α) => x1 ≤ x2, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯ }
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
Instances For
A lattice that is a BoundedOrder is a distributive lattice.
This is not an instance to prevent loops
Equations
- IsSimpleOrder.distribLattice = { toLattice := inferInstance, le_sup_inf := ⋯ }
Instances For
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 = { toEquiv := IsSimpleOrder.equivBool, map_rel_iff' := ⋯ }
Instances For
A simple BoundedOrder is also a BooleanAlgebra.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A simple BoundedOrder is also complete.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A simple BoundedOrder is also a CompleteBooleanAlgebra.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An upper-modular lattice that is atomistic is strongly atomic. Not an instance to prevent loops.
Alias of Lattice.isStronglyAtomic.
An upper-modular lattice that is atomistic is strongly atomic. Not an instance to prevent loops.
A lower-modular lattice that is coatomistic is strongly coatomic. Not an instance to prevent loops.
Alias of Lattice.isStronglyCoatomic.
A lower-modular lattice that is coatomistic is strongly coatomic. Not an instance to prevent loops.
A complemented modular atomic lattice is strongly atomic. Not an instance to prevent loops.
A complemented modular coatomic lattice is strongly coatomic. Not an instance to prevent loops.
A complemented modular atomic lattice is strongly coatomic. Not an instance to prevent loops.
A complemented modular coatomic lattice is strongly atomic. Not an instance to prevent loops.
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.