| n1 < n, m1 < m0 / n0, n ≤ n0, m0 ≤ m1 * n + n1, n1 < n0 ⊦ |
n ≠ 0 ⊦ m0 = m / n ∧ n0 = m % n ↔ m = m0 * n + n0 ∧ n0 < n
Used simplifier rules: f: ⊦ m < n → n ≠ 0; from specification nat-basic1%mod-nle: ⊦ m0 < m ∧ n ≤ n0 ∧ n2 < n0 ∧ n1 < n → ¬ m * n0 + n2 ≤ m0 * n + n1; from specification nat-mult%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult%mult-c: ⊦ m * n = n * m; from specification nat-mult%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%lez-01: ⊦ m ≤ 0 ↔ m = 0; from specification nat Used terms: m0, n0, m, n2