|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The binary congruence relation \(x \equiv y \pmod N\) on the integer carrier: the kernel of the reduction \(\mathbb{Z} \twoheadrightarrow \mathbb{Z}/N\mathbb{Z} =\) Modular<N>.
More...
Public Types | |
| using | machine_type = typename Modular<N>::machine_type |
Public Member Functions | |
| constexpr bool | operator() (machine_type a, machine_type b) const |
The binary congruence relation \(x \equiv y \pmod N\) on the integer carrier: the kernel of the reduction \(\mathbb{Z} \twoheadrightarrow \mathbb{Z}/N\mathbb{Z} =\) Modular<N>.
Where Congruence<N,R> is the unary residue-class predicate (the fiber over R), ModularCongruence<N> is the equivalence relation whose quotient is Modular<N> — the relation the H-leg rides (IsCongruenceQuotient, :algebra::quotient). It is a genuine congruence for + and × ( \(x \equiv x' \wedge y
\equiv y' \Rightarrow x{+}y \equiv x'{+}y'\)), so Modular<N> is witnessed relationally as \(V/({\equiv}\bmod N)\) — the non-trivial companion to the int/(=) diagonal witness upstream.