Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::sets::SymbolicImagePredicate< U > Struct Template Referenceexport

Symbolic image-of-intensional-Set predicate (#602 layer 1). More...

Public Member Functions

constexpr auto operator() (const U &) const

Detailed Description

template<typename U>
struct dedekind::sets::SymbolicImagePredicate< U >

Symbolic image-of-intensional-Set predicate (#602 layer 1).

For a source intensional Set{x | P(x)} and an arrow f: T → U, the categorical image is Set{y | ∃x ∈ T. P(x) ∧ y == f(x)}. On a transfinite carrier T the existential is generally undecidable (predicate-defined source, no enumerable elements); this predicate reflects the indecision honestly by returning Kleene::Unknown for every query.

Specializations that decide membership for monic arrows with structural inverses, or for finite source carriers, are layer 2 of #602 (per-arrow / per-carrier dispatch). This default predicate completes the layer-1 API surface so image(f, intensional_set) is well-formed and type-checked, with the result honestly tagged Kleene.

Captureless / no source-set + arrow storage in the closure: keeps the predicate value-light and structurally compatible with the comprehension-DSL paths (captureless predicates stay preferable for symbolic-image purposes).

Template Parameters
UThe codomain element type — read off from Cod<F> at the image call site. Parameterising by U keeps the predicate type distinct per result instantiation.

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