| n1 < # x0 ∧ n0 = n1 ∨ # x0 ≤ n0 ∧ # x0 ≤ n1 ∧ x1 = [] ∨ # x0 ≤ n0 ∧ n1 = # x0 ∧ x1 ≠ [] ⊦ x0 = (n1 ≤ # x0 + # x1 ⊃ firstn(n1, x0 + x1);x0 + x1), n0 ≤ # x0 |
# x0 < n0, # x0 ≤ n1 ∧ x1 = [] ∨ n1 = # x0 ∧ x1 ≠ [] ⊦ x0 = (n1 ≤ # x0 + # x1 ⊃ firstn(n1, x0 + x1);x0 + x1)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n → m ≤ n; (s)% ⊦ m < n → ¬ n < m; (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)