| 1 + # ints1 = # ints0, ∀ n. n < # ints0 → (i ' + ints1)[n] = ints0[n], ∀ ints0. # ints1 = # ints0 ∧ (∀ n. n < # ints0 → ints1[n] = ints0[n]) → Σ ints1 = Σ ints0 ⊦ ints0 = [], i + Σ ints1 = ints0.first + Σ ints0.rest |
ints0 = i0 + ints2, 1 + # ints1 = # ints0, ∀ n. n < # ints0 → (i ' + ints1)[n] = ints0[n], ∀ ints0. # ints1 = # ints0 ∧ (∀ n. n < # ints0 → ints1[n] = ints0[n]) → Σ ints1 = Σ ints0 ⊦ ints0 = [], i + Σ ints1 = i0 + Σ ints2
Used simplifier rules: ints ≠ [] ⊦ i = ints.first ∧ ints0 = ints.rest ↔ ints = i + ints0; (elim) Used terms: ints0, i0, ints