|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The Subobject Species S ↣ A. More...
Classes | |
| struct | Member |
| The Internal Member of the Subobject. Wraps a value from the ambient space that satisfies the classifier. More... | |
Public Types | |
| using | Domain = A |
| using | logic_species = predicate_logic_t<Chi> |
The logic species is the characteristic morphism's own when it names one, else read off its codomain Cod<Chi> (bool ↦ Boole, Ternary ↦ Kleene, a wrapper's own logic_species), with no default. Required by :lattice::IsSubobjectLattice as a CT-vocabulary metadata typedef. | |
| using | Codomain = Cod<Chi> |
χ: A ⟶ Ω: re-export the stored rule's own codomain Cod<Chi> (the classifier the predicate returns — bool / Ternary, or a Truth<L> wrapper such as Truth<Boole> / Truth<Kleene>). Preserving it, rather than normalising to logic_species::Ω (which would unwrap Truth<L> to bool and then break IsArrow's convertible_to<Codomain> check, since Truth<L>'s conversion to its machine_type is explicit), makes a Subobject a full IsArrow / IsCharacteristic (#850), not merely a structural callable. | |
Public Member Functions | |
| constexpr A | ι (const Member &m) const |
| ι: S ↣ A (The Textbook Inclusion) | |
| constexpr auto | operator() (const A &a) const |
Subobject IS the characteristic morphism — invocation s(a) forwards to the stored χ field. Structural predicate shape (per the IsSubobject refactor in this file): callers use s(a) rather than s.χ(a), so Set and Subobject expose a uniform predicate surface. | |
| constexpr auto | π_1 (const Member &m) const |
| π₁: S ⟶ X | |
| constexpr auto | π_2 (const Member &m) const |
| π_2: S ⟶ Y | |
Public Attributes | |
| Chi | χ |
The Subobject Species S ↣ A.
Represents a subset of the ambient species A, defined by the characteristic morphism χ: A ⟶ Ω.
| A | The Ambient (Super) Species. |
| Chi | The type of the characteristic morphism χ. |
|
inlineconstexpr |
π₁: S ⟶ X
These projections are only valid when the Ambient space A satisfies the IsProduct concept (X × Y).
|
inlineconstexpr |
Subobject IS the characteristic morphism — invocation s(a) forwards to the stored χ field. Structural predicate shape (per the IsSubobject refactor in this file): callers use s(a) rather than s.χ(a), so Set and Subobject expose a uniform predicate surface.