Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::IsIsomorphism Concept Referenceexport

An Arrow f: A -> B with a guaranteed Inverse g: B -> A. More...

Concept definition

template<typename F>
concept dedekind::category::IsIsomorphism = IsArrow<F> && requires(F f) {
{ inverse(f) } -> IsArrow;
requires std::same_as<
typename std::remove_cvref_t<F>::Codomain,
typename std::remove_cvref_t<decltype(inverse(f))>::Domain>;
requires std::same_as<
typename std::remove_cvref_t<F>::Domain,
typename std::remove_cvref_t<decltype(inverse(f))>::Codomain>;
}
A type that knows its own Domain (A) and Codomain (B), objects it maps between: called at the domain'...
Definition morphism.cppm:168
An Arrow f: A -> B with a guaranteed Inverse g: B -> A.
Definition morphism.cppm:1010
constexpr 𝔽64 inverse(𝔽64 a, std::plus< 𝔽64 >) noexcept
The additive (group) inverse of 𝔽64, spelled as the computable inverse(a, std::plus) free function th...
Definition galois.cppm:281

Detailed Description

An Arrow f: A -> B with a guaranteed Inverse g: B -> A.

Represents a reversible morphism. In Level 0, we verify the structural existence of the 'Undo' path.