Sets closed under join/meet #
This file defines predicates for sets closed under ⊔
and shows that each set in a join-semilattice
generates a join-closed set and that a semilattice where every directed set has a least upper bound
is automatically complete. All dually for ⊓
.
Main declarations #
SupClosed
: Predicate for a set to be closed under join (a ∈ s
andb ∈ s
implya ⊔ b ∈ s
).InfClosed
: Predicate for a set to be closed under meet (a ∈ s
andb ∈ s
implya ⊓ b ∈ s
).IsSublattice
: Predicate for a set to be closed under meet and join.supClosure
: Sup-closure. Smallest sup-closed set containing a given set.infClosure
: Inf-closure. Smallest inf-closed set containing a given set.latticeClosure
: Smallest sublattice containing a given set.SemilatticeSup.toCompleteSemilatticeSup
: A join-semilattice where every sup-closed set has a least upper bound is automatically complete.SemilatticeInf.toCompleteSemilatticeInf
: A meet-semilattice where every inf-closed set has a greatest lower bound is automatically complete.
A set s
is a sublattice if a ⊔ b ∈ s
and a ⊓ b ∈ s
for all a ∈ s
, b ∈ s
.
Note: This is not the preferred way to declare a sublattice. One should instead use Sublattice
.
TODO: Define Sublattice
.
Instances For
Alias of the reverse direction of supClosed_preimage_ofDual
.
Alias of the reverse direction of infClosed_preimage_ofDual
.
Alias of the reverse direction of isSublattice_preimage_ofDual
.
Alias of the reverse direction of isSublattice_preimage_toDual
.
Closure #
Every set in a join-semilattice generates a set closed under join.
Equations
- supClosure = ClosureOperator.ofPred (fun (s : Set α) => {a : α | ∃ (t : Finset α) (ht : t.Nonempty), ↑t ⊆ s ∧ Finset.sup' t ht id = a}) SupClosed ⋯ ⋯ ⋯
Instances For
Alias of the reverse direction of supClosure_eq_self
.
The semilatice generated by a finite set is finite.
Every set in a join-semilattice generates a set closed under join.
Equations
- infClosure = ClosureOperator.ofPred (fun (s : Set α) => {a : α | ∃ (t : Finset α) (ht : t.Nonempty), ↑t ⊆ s ∧ Finset.inf' t ht id = a}) InfClosed ⋯ ⋯ ⋯
Instances For
Alias of the reverse direction of infClosure_eq_self
.
The semilatice generated by a finite set is finite.
Every set in a join-semilattice generates a set closed under join.
Equations
- latticeClosure = ClosureOperator.ofCompletePred IsSublattice ⋯
Instances For
Alias of the reverse direction of latticeClosure_eq_self
.
A join-semilattice where every sup-closed set has a least upper bound is automatically complete.
Equations
Instances For
A meet-semilattice where every inf-closed set has a greatest lower bound is automatically complete.