Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::Subobject< A, Chi > Struct Template Referenceexport

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 χ

Detailed Description

template<typename A, typename Chi>
struct dedekind::category::Subobject< A, Chi >

The Subobject Species S ↣ A.

Represents a subset of the ambient species A, defined by the characteristic morphism χ: A ⟶ Ω.

Template Parameters
AThe Ambient (Super) Species.
ChiThe type of the characteristic morphism χ.

Member Function Documentation

◆ π_1()

template<typename A, typename Chi>
auto dedekind::category::Subobject< A, Chi >::π_1 ( const Member & m) const
inlineconstexpr

π₁: S ⟶ X

topoi__Pullback_Projections

These projections are only valid when the Ambient space A satisfies the IsProduct concept (X × Y).

◆ operator()()

template<typename A, typename Chi>
auto dedekind::category::Subobject< A, Chi >::operator() ( const A & a) const
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.

Note
Returns a value, never a reference into the classifier (Jlt Rule 1, #1061): a large truth value is a boxed value, not a reference.

The documentation for this struct was generated from the following file: