| m ≠ 0 ⊦ is-aligned(n1, m) ∧ n0 < n1 → (align↓(n1, m) ≤ align↓(n0, m) ↔ false) |
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) Csimpnamedforward(nat-basic1,,f, ⊦ m < n → n ≠ 0) Csimpnamedforward(nat,,fle, ⊦ m < n ∧ n ≤ n0 → m < n0)))]