| n = n0, 2exp-size(n), 2exp-size(n1), n < minsize ⊦ 2exp-size(n * 2) ∧ (n * 2 ≥ minsize ⊃ 0;minsize - n * 2) < (n0 ≥ minsize ⊃ 0;minsize - n0) |
2exp-size(n0), 2exp-size(n1), n0 < minsize, minsize ≤ (minsize ≤ n0 * 2 ⊃ 0;minsize - n0 * 2) + n0 ⊦ minsize - n0 * 2 = 0
Used simplifier rules: ⊦ m < m + n ↔ n ≠ 0; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ n + 0 = n; (s)% ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n ↔ ¬ n ≤ m; (ss)%n0 ≤ n ⊦ m < n - n0 ↔ m + n0 < n; (s)% ⊦ m < n → m ≤ n; (s)% ⊦ m < n → (n ≤ m ↔ false); (s)% ⊦ n ≥ m ↔ m ≤ n; (s)%mult-c: ⊦ m * n = n * m; from specification nat-mult%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult% ⊦ 2exp-size(2 * n) ↔ 2exp-size(n); (s)