| a ∈ x0, ∀ m, a. # x0 = m + 1 ∧ a ∈ x0 → #(x0 -1l a) = m ∨ x0 = [] ⊦ a = a0, #(x0 -1l a) + 1 = # x0 |
a ∈ x0, ∀ m, a. # x0 = m + 1 ∧ a ∈ x0 → #(x0 -1l a) = m ∨ x0 = [] ⊦ x0 = [], a = a0, #(x0 -1l a) + 1 = # x0
Used simplifier rules: del1-e: ⊦ [] -1l a = [];%size-01: ⊦ # [] = 0; from specification list-data%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%in-empty: ⊦ ¬ a ∈ []; from specification list Used formulas: x0 = []