| n0 < # x, m ≤ n0 + 1, m ≤ # x, m ≤ #(x to n0), ∀ m, x. m ≤ n0 ∧ n0 ≤ # x ∧ m ≤ # x → x to n0 to m = x to m ⊦ x to n0 to m = x to m, x = [] |
m < # x, n0 < # x, m ≤ n0, m ≤ n0 + 1, ∀ m, x. m ≤ n0 ∧ n0 ≤ # x ∧ m ≤ # x → x to n0 to m = x to m ⊦ x to n0 to m = x to m, x = []
Used simplifier rules: length-to: ¬ # x < n ⊦ #(x to n) = n;% ⊦ m < n → m ≤ n; (s)%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m < n → ¬ n < m; (s)