| x[n] ∈ x, n < # x, ∃ n0. n0 < # firstn(n, x) ∧ firstn(n, x)[n0] = x[n] ⊦ x = [], ∃ m, n. m < # x ∧ n < # x ∧ m ≠ n ∧ x[m] = x[n] |
firstn(n, x)[n0] = x[n], n0 < # x, n0 < n, n < # x, x[n] ∈ x, n0 + 1 < # x ⊦ n = 0, x = [], ∃ m, n. m < # x ∧ n < # x ∧ m ≠ n ∧ x[m] = x[n]
Used simplifier rules: firstn-length-03: ⊦ n < # x → # firstn(n, x) = n;%succ: ⊦ m +1 = m + 1; from specification nat-basic2%trans-1: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification nat-basic1%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1