Hacker News new | ask | show | jobs
by simonreiff 16 days ago
Exactly, so [0]_3 = [3]_3 = [6]_3 = ... (and here these are indeed equalities inside Z/3Z because these are equalities of sets and not just equivalences). And for that reason, we take the "best" or canonical representative of the equivalence class to be [a]_n where 0 is less than or equal to `a`, which is always strictly less than n; hence, [0]_3 is canonical.

Actually, since the modulus is often fixed within a computation or expression, we often simply abuse notation by writing:

0 := [0]_n ("zero is defined to be the equivalence class of 0 mod n") 1 := [1]_n ...