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