| #(a0 + x0) < #oc(a, a0 + x0), a ∈ a0 + x0, ∀ a. ¬(# x0 < #oc(a, x0) ∧ a ∈ x0) ⊦ |
1 + # x0 < #oc(a, a0 ') + #oc(a, x0), ∀ a1. ¬ # x0 < #oc(a1, x0) ∨ ¬ a1 ∈ x0, a = a0 ∨ a ∈ x0 ⊦
Used simplifier rules: ocappend: ⊦ #oc(a, x + y) = #oc(a, x) + #oc(a, y);% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ # a ' = 0 +1; (s)% ⊦ #(x + y) = # x + # y; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a ∈ b ' ↔ a = b; (s)% ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s)% ⊦ a + x = a ' + x; (s)