| ⊦ is-aligned(n, m) ↔ (∃ n0. n = n0 * m), m = 0 |
⊦ is-aligned(n, m) ↔ n % m = 0
n ≠ 0 ⊦ is-aligned(n0 * n, n)
n % m = 0 ⊦ m = 0, ∃ n0. n = n0 * m
Used simplifier rules: is-aligned-def: ⊦ is-aligned(n, m) ↔ n % m = 0;%is-aligned-multiplier: n ≠ 0 ⊦ is-aligned(n0 * n, n);%mult-c: ⊦ m * n = n * m; from specification nat-mult%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult