Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::sets::Complement< T, L > Struct Template Referenceexport

The complement as an arrow on the object \(\mathrm{Sub}(T, L)\) (Subobjects, :boundaries), \(S \mapsto \neg S\): an endomorphism, its domain and codomain the one object, presented by every set object over T in L. It is an involution by the reducer's own law \(\neg\neg A \to A\): operator~ peels the node, so ~~s is s, by type, for every presentation s; the certificate reads that law at the representative. The first arrow on sets category::IsInvolution admits: the concept quantifies over the object, not over one value type (morphism__Objects_And_Their_Presentations). More...

Public Types

using Domain = Subobjects<T, L>
using Codomain = Subobjects<T, L>

Public Member Functions

template<typename S>
requires dedekind::category::Presents<S, Subobjects<T, L>>
constexpr auto operator() (const S &s) const

Static Public Attributes

template<typename X>
static constexpr bool is_involutive_v
 \(\neg\neg = \mathrm{id}\), read off the reducer at the universe: ~~𝔸 is 𝔸 by type.

Detailed Description

template<typename T, IsOckhamAlgebra L = Boole>
struct dedekind::sets::Complement< T, L >

The complement as an arrow on the object \(\mathrm{Sub}(T, L)\) (Subobjects, :boundaries), \(S \mapsto \neg S\): an endomorphism, its domain and codomain the one object, presented by every set object over T in L. It is an involution by the reducer's own law \(\neg\neg A \to A\): operator~ peels the node, so ~~s is s, by type, for every presentation s; the certificate reads that law at the representative. The first arrow on sets category::IsInvolution admits: the concept quantifies over the object, not over one value type (morphism__Objects_And_Their_Presentations).

Template Parameters
Tthe carrier.
Lthe logic species.

Member Data Documentation

◆ is_involutive_v

template<typename T, IsOckhamAlgebra L = Boole>
template<typename X>
bool dedekind::sets::Complement< T, L >::is_involutive_v
staticconstexpr
Initial value:
=
std::same_as<X, Subobjects<T, L>> &&
std::same_as<
std::remove_cvref_t<decltype(~~std::declval<const 𝔸<T, L>&>())>,
The universal set over the carrier T: the terminal object ⊤ of Sub(T), the reified type constraint.
Definition boundaries.cppm:296

\(\neg\neg = \mathrm{id}\), read off the reducer at the universe: ~~𝔸 is 𝔸 by type.


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