|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Public Member Functions | |
| template<typename Leaf> | |
| constexpr Leaf | operator() (const Leaf &leaf) const |
| template<typename A, typename B, typename RA, typename RB> | |
| constexpr auto | operator() (const Meet< A, B > &, const RA &a, const RB &b) const |
| template<typename A, typename B, typename RA, typename RB> | |
| constexpr auto | operator() (const Join< A, B > &, const RA &a, const RB &b) const |
| The exact dual for join (⊤ annihilates, ⊥ is the unit; join = lub). | |
| template<typename A, typename RA> | |
| constexpr auto | operator() (const Not< A > &, const RA &a) const |
¬(reduced): the De Morgan negation law (involution ¬¬A→A, De Morgan), gated on an involutive De Morgan negation, pushes ¬ toward the leaves and the result is folded again (termination: ¬ descends); otherwise ¬(reduced) is already negation-normal and stays. | |