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

A binary relation on T that is reflexive, symmetric, and transitive — the textbook equivalence-relation axioms. More...

Concept definition

template<typename T, typename Rel>
A binary relation on T that is reflexive, symmetric, and transitive — the textbook equivalence-relati...
Definition equivalence.cppm:287
Formal verification of the identity relation.
Definition mereology.cppm:96
Formal verification: Rel(a, b) ⇔ Rel(b, a).
Definition equivalence.cppm:129
Formal verification: (a ≤ b ∧ b ≤ c) ⇒ a ≤ c.
Definition mereology.cppm:131

Detailed Description

A binary relation on T that is reflexive, symmetric, and transitive — the textbook equivalence-relation axioms.

Composes the structural shape (IsBinaryRelation) with the three engineer-supplied axiom concepts (IsReflexive / IsSymmetric / IsTransitive). The runtime laws stay the engineer's honesty obligation; the type system pins the shape mechanically and the combination of axiom claims structurally.

The Mazur up to equivalence reading (see partition docstring) treats this concept as the principled relaxation of strict equality: stating IsEquivalence<T, Rel> is a structural declaration that Rel is the equivalence relation under which algebraic concepts on T are to be read.

Template Parameters
TThe carrier on which Rel is a relation.
RelThe relation type.