| (refval(r) ' + vals0)[n] = refval(r), n ≤ # vals0 ⊦ 0 = n, r = jvmref, dups(vals0 .nonnullrefs), r ∈ vals0 .nonnullrefs, ∃ r1, m0, n0. vals0[m0] = refval(r1) ∧ vals0[n0] = refval(r1) ∧ r1 ≠ jvmref ∧ m0 ≠ n0 ∧ ¬ # vals0 ≤ m0 ∧ ¬ # vals0 ≤ n0 |
n ≠ 0 ⊦ (val ' + vals)[(* n)] = vals[n -1]
n ≠ 0, vals0[n -1] = refval(r), n ≤ # vals0 ⊦ 0 = n, r = jvmref, dups(vals0 .nonnullrefs), r ∈ vals0 .nonnullrefs, ∃ r1, m0, n0. vals0[m0] = refval(r1) ∧ vals0[n0] = refval(r1) ∧ r1 ≠ jvmref ∧ m0 ≠ n0 ∧ ¬ # vals0 ≤ m0 ∧ ¬ # vals0 ≤ n0
[[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])], [EXTRATERMS : (n, vals0, refval(r))]]