| align↓(n0 + n1, m) = n2 + n1, n0 < n2 ⊦ m = 0 |
0 ≠ m ⊦ align↓(n, m) = (n % m = 0 ⊃ n;n / m * m)
((n0 + n1) % m = 0 ⊃ n0 + n1;(n0 + n1) / m * m) = n2 + n1, n0 < n2 ⊦ m = 0
Used simplifier rules: aligndown-def: 0 ≠ m ⊦ align↓(n, m) = (n % m = 0 ⊃ n;n / m * m);% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic