Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::Meet< A, B > Struct Template Referenceexport
Collaboration diagram for dedekind::category::Meet< A, B >:

Public Member Functions

template<typename... X>
requires requires(const A& l, const B& r, const X&... x) { l(x...); r(x...); }
constexpr auto operator() (const X &... x) const
 Evaluate the meet at x, through the π_1 / π_2 accessors (operand storage touched in one place). With a logic_species the combination is that logic's AND (honouring Kleene / Heyting Ω); for plain bool-returning callables (comprehension lambdas) it is the bare &&.

Public Attributes

A lhs
B rhs

Member Function Documentation

◆ operator()()

template<typename A, typename B>
template<typename... X>
requires requires(const A& l, const B& r, const X&... x) { l(x...); r(x...); }
auto dedekind::category::Meet< A, B >::operator() ( const X &... x) const
inlineconstexpr

Evaluate the meet at x, through the π_1 / π_2 accessors (operand storage touched in one place). With a logic_species the combination is that logic's AND (honouring Kleene / Heyting Ω); for plain bool-returning callables (comprehension lambdas) it is the bare &&.

Note
LAYERING: the node stays LATTICE ALGEBRA only; the Set-specific subobject lift (Member / ι / IsSet) lives DOWNSTREAM in sets.
The logic_species branch feeds operand results straight to L::AND, so it assumes operands return the RAW L::Ω. The :sets surface always does (membership is lift_logic<L>, which yields L::Ω, never a Truth<L> wrapper), so this is sound there. A callable whose codomain is Truth<L> would need unwrapping first; that path is not reached through sets.

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