| m ≠ 0 ⊦ n0 ≤ align↑(n0, m) |
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-01, ⊦ ¬ 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)))]