|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The Predicate Morphism: the DSL's membership test, i.e. the characteristic arrow \(\chi_A : A \to \Omega\). More...
The Predicate Morphism: the DSL's membership test, i.e. the characteristic arrow \(\chi_A : A \to \Omega\).
In the Dedekind topos, a Set is not a container, but a Rule. IsPredicate formalizes this rule as a mapping from a Domain object (T) to a Logical Species (Ω) — an IsArrow whose codomain is a IsΩ (the classifier Ω). This is the named concept for "the membership test"; the two-valued refinement is IsDecidableCharacteristic and the classifier inclusion ι : Σ ↪ Ω is IsDominanceInclusion (both below).
| P | The Predicate candidate (typically a Lambda or a Functor). |
@req { p(x) } The candidate must be callable with an instance of the Domain. @req The result type must be a truth-object: either IsΩ<Cod<P>> on its own (it carries the closed logical operators && / || / !, or declares a valid logic_species, e.g. Truth<L>), or the arrow names its species and answers in it (IsSpeciesTaggedArrow: a Chain<int> set answers int, which only its species can vouch for).