| ¬ n < # a ', n ≤ # x0, ∀ m, n0. # x0 = m + 1 ∧ n0 ≤ m → #(x0 \ x0[n0] ') = m ⊦ x0 = [], #(x0 \ x0[n - # a '] ') + 1 = # x0, a = x0[n - # a '], dups(x0), a ∈ x0 |
n ≤ # x0, ∀ m, n0. # x0 = m + 1 ∧ n0 ≤ m → #(x0 \ x0[n0] ') = m ⊦ x0 = [], #(x0 \ x0[n - 1] ') + 1 = # x0, a = x0[n - 1], n = 0, dups(x0), a ∈ x0
Used simplifier rules: one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%len-02: ⊦ # a ' = 0 +1; from specification list