| vals0[n - 1] = refval(r), n ≤ # vals0 ⊦ r = jvmref, n = 0, 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 = m + 1, vals0[m] = refval(r), n ≤ # vals0 ⊦ r = jvmref, n = 0, 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 : ([CSIMPELIM : n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1])], [EXTRATERMS : (n, m)]]