| n ≠ 0 ⊦ align↑(m0, n) < align↑(m1, n) → (¬ m0 < m1 ↔ false) |
0 ≠ m ⊦ align↑(n, m) = (n % m = 0 ⊃ n;(n / m)+1 * m)
[Concretesimprules((Csimpnamedseq(alignup-def,,, 0 ≠ m ⊦ align↑(n, m) = (n % m = 0 ⊃ n;(n / m)+1 * m)) Csimpnamedforward(nat-basic1,,f, ⊦ m < n → n ≠ 0) Csimpnamedseq(nat,,lels, ⊦ ¬ m < n ↔ n ≤ m) Csimpnamedseq(nat-mult,,mult-c, ⊦ m * n = n * m) Csimpnamedseq(nat-mult,,mult-a, ⊦ m0 * m * n = (m0 * m) * n) Csimpnamedseq(nat-basic2,,c, ⊦ m + n = n + m) Csimpnamedseq(nat-basic2,,a, ⊦ (m + n0) + n1 = m + n0 + n1) Csimpnamedseq(nat-mult,,rsucc-02, ⊦ m * (n + 1) = m * n + m) Csimpnamedseq(nat-basic2,,succ, ⊦ m +1 = m + 1)))]