Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::IsBoundedLattice Concept Referenceexport

A IsLattice whose join and meet each carry an identity: the bottom \(\bot\) (unit<T>(Join{})) and top \(\top\) (unit<T>(Meet{})). More...

Concept definition

template<typename T, typename Join std::bit_or<>, typename Meet std::bit_and<>>
A IsLattice whose join and meet each carry an identity: the bottom (unit<T>(Join{}...
Definition total.cppm:951
compatibility alias for order-lattice refinement.
Definition total.cppm:893
A Semigroup with a two-sided Identity element.
Definition total.cppm:584

Detailed Description

A IsLattice whose join and meet each carry an identity: the bottom \(\bot\) (unit<T>(Join{})) and top \(\top\) (unit<T>(Meet{})).

A lattice is bounded when it has a least and a greatest element, \(a \vee \bot = a\) and \(a \wedge \top = a\); equivalently its join- and meet-semilattices are each an IsMonoid (commutativity is already forced by IsLattice, so only the identity is new here). For bool the bounds are false ( \(\bot\), the logical_or identity) and true ( \(\top\), the logical_and identity). Adding the bounds expands the signature from Alg(∧,∨) to Alg(∧,∨,⊥,⊤) (two nullary constants), so bounded lattices are a variety over the expanded signature, not a subvariety of Alg(∧,∨) — compare a unital ring expanding Alg(+,×) with the constant 1.

Note
Name disambiguation. Two siblings carry related names in other partitions: dedekind::sets::IsBoundedLattice (1-param, :mereology) is the IsSet / powerset-specific bounded lattice, and dedekind::category::IsBoundedLatticeCategory (:lattice) is the relation-based categorical reading. This one is the operation-parametric variety concept (matching the un-suffixed ring-ladder names IsRing / IsField in this partition). The :mereology sibling is only used within namespace dedekind::sets, where its own declaration wins unqualified lookup, so the shared name does not collide in practice.