| vals0[m] = refval(r0), m < # vals0 ⊦ r0 = jvmref, vals0 = [], dups(vals0 .nonnullrefs), ∃ r, m, n. vals0[m] = refval(r) ∧ vals0[n] = refval(r) ∧ r ≠ jvmref ∧ m ≠ n ∧ ¬ # vals0 ≤ m ∧ ¬ # vals0 ≤ n, ∃ r, m, n. (refval(r0) ' + vals0)[m] = refval(r) ∧ (refval(r0) ' + vals0)[n] = refval(r) ∧ r ≠ jvmref ∧ m ≠ n ∧ ¬ # vals0 < m ∧ ¬ # vals0 < n |
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list-del, javavalues, get-zero-01, ⊦ (val ' + vals)[0] = val], [CSIMPNAMEDSEQ : list, javavalues, a, ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPNAMEDSEQ : javavalue, , inj-03, ⊦ refval(r) = refval(r0) ↔ r = r0], [CSIMPNAMEDSEQ : list-del, javavalues, get-succ, ⊦ (val ' + vals)[n + 1] = vals[n]], [CSIMPNAMEDSEQ : nat-basic2, , a, ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPNAMEDSEQ : nat-basic2, , c, ⊦ m + n = n + m], [CSIMPNAMEDSEQ : nat-basic2, , oz, ⊦ m + 1 ≠ 0], [CSIMPNAMEDSEQ : nat-basic1, , less-1, ⊦ ¬ n < 0], [CSIMPNAMEDSEQ : nat-basic2, , s, ⊦ m < n + 1 ↔ ¬ n < m], [CSIMPNAMEDSEQ : nat, , lels, ⊦ ¬ m < n ↔ n ≤ m], [CSIMPNAMEDSEQ : nat, , ls-le-simp, ⊦ m < n → (n ≤ m ↔ false)])], [EXTRATERMS : (r0, 0, m + 1)]]