| align↑(n0, m) + n2 < n1, n1 ≤ n0 ⊦ m = 0 |
m ≠ 0 ⊦ n0 ≤ align↑(n0, m)
0 ≠ m ⊦ align↑(n, m) = (n % m = 0 ⊃ n;(n / m)+1 * m)
Used simplifier rules: alignup-def: 0 ≠ m ⊦ align↑(n, m) = (n % m = 0 ⊃ n;(n / m)+1 * m);% ⊦ m +1 = m + 1; (s)% ⊦ m * (n + 1) = m * n + m; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult%mult-c: ⊦ m * n = n * m; from specification nat-mult%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%let: ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1; (forward) from specification nat% ⊦ m < n → n ≠ 0; (s)% ⊦ ¬ m + n < m; (s) Used terms: m, n0