| n0 < n1 + m1 ∨ (n1 + m1) + m0 ≤ n0, n0 < # ar1 ⊦ (n0 < n1 ∨ n1 + m1 ≤ n0 ⊃ ar1[n0];ar0[n0 + n - n1]) = (n0 < n1 ∨ n1 + m0 + m1 ≤ n0 ⊃ ar1[n0];ar0[n0 + n - n1]), # ar1 = 0 |
Used simplifier rules: lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%add-01: ⊦ n ≤ m → m + n0 - n = (m - n) + n0; from specification nat%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat%l-01: ⊦ m < m + n ↔ n ≠ 0; from specification nat-basic2%l: ⊦ m + n < m + n0 ↔ n < n0; from specification nat-basic2%l-02: ⊦ ¬ m + n < m; from specification nat-basic2%le-ls-simp: ⊦ m ≤ n → (n < m ↔ false); from specification nat