| n ≠ 0 ⊦ is-aligned(n0, n) → align↓(n0 + n1, n) = n0 + align↓(n1, n) |
0 ≠ m ⊦ align↓(n, m) = (n % m = 0 ⊃ n;n / m * m)
[Concretesimprules((Csimpnamedseq(aligndown-def,,, 0 ≠ m ⊦ align↓(n, m) = (n % m = 0 ⊃ n;n / m * m)) Csimpnamedseq(is-aligned-def,,, ⊦ is-aligned(n, m) ↔ n % m = 0) Csimpnamedseq(nat-div,,div-add, ⊦ m0 % n = 0 ∧ 0 ≠ n → (m + m0) / n = m / n + m0 / n) Csimpnamedseq(nat-basic2,,c, ⊦ m + n = n + m) Csimpnamedseq(nat-basic2,,a, ⊦ (m + n0) + n1 = m + n0 + n1) Csimpnamedseq(nat-div,,mod-add, ⊦ m0 % n = 0 ∧ 0 ≠ n → (m + m0) % n = m % n)))]