Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::Identity< T > Struct Template Referencefinalexport

The Identity Morphism and Functorial Witness. More...

Public Types

using Domain = T
 The source category species.
using Codomain = T
 The target category species (invariant for identity).

Public Member Functions

constexpr T operator() (const T &x) const noexcept
 The Morphic Action (Object -> Object).
constexpr bool operator== (const Identity &) const =default
template<typename S>
requires (!std::same_as<std::remove_cvref_t<S>, T>) && requires { T::template presents<std::remove_cvref_t<S>>; } && Presents<S, T>
constexpr S operator() (const S &s) const noexcept
 The identity at a presentation of T, where T is an object that names its presentations (morphism__Objects_And_Their_Presentations): the presentation itself. A value-typed T keeps the overload above.
template<IsArrow Arrow>
requires std::same_as<typename Arrow::Domain, T>
constexpr auto operator() (Arrow f) const noexcept
 The Functorial Action (Morphism -> Morphism).

Detailed Description

template<typename T>
struct dedekind::category::Identity< T >

The Identity Morphism and Functorial Witness.

Factory Verification: Tagging and Species

Integrity.

morphism__The_Universal_Functor_Interface

In the Category of Species (Set), Identity acts as the unit morphism (id_T: T \to T). In the Category of Functors, it acts as the Identity Functor (Id: \mathcal{C} \to \mathcal{C}).

This reification is "Dual-Action": it preserves the structure of both individual elements (Species) and their transformations (Morphisms). It is the canonical "Zero-Length Highway" that connects a species to itself without distortion.

Template Parameters
TThe Species (Object) for which this identity is defined.

Member Function Documentation

◆ operator()() [1/2]

template<typename T>
template<IsArrow Arrow>
requires std::same_as<typename Arrow::Domain, T>
auto dedekind::category::Identity< T >::operator() ( Arrow f) const
inlineconstexprnoexcept

The Functorial Action (Morphism -> Morphism).

Implements the Identity Functor lift (F(f) = f). This satisfies the Functorial Identity Law: mapping an arrow through the identity context must result in the original arrow.

Template Parameters
ArrowA type satisfying the IsArrow concept.
Parameters
fThe arrow to be lifted into the identity context.
Returns
The original arrow, preserved without transformation.

◆ operator()() [2/2]

template<typename T>
T dedekind::category::Identity< T >::operator() ( const T & x) const
inlineconstexprnoexcept

The Morphic Action (Object -> Object).

morphism__Categorical_Actions

The following operators ensure that Identity acts as a structure-preserving map across different levels of the categorical hierarchy.

Implements the identity function (f(x) = x). This satisfies the "Identity on Set" requirement for Level 0 categorical grounding.

Parameters
xThe species value to be mapped.
Returns
The identical species value.

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