| ∃ r, m, n. (refval(r0) ' + vals0)[m] = refval(r) ∧ (refval(r0) ' + vals0)[n] = refval(r) ∧ r ≠ jvmref ∧ m ≠ n ∧ ¬ # vals0 < m ∧ ¬ # vals0 < n, dups(vals0 .nonnullrefs) ↔ (∃ r, m, n. vals0[m] = refval(r) ∧ vals0[n] = refval(r) ∧ r ≠ jvmref ∧ m ≠ n ∧ m < # vals0 ∧ n < # vals0) ⊦ r0 ∈ vals0 .nonnullrefs ∨ dups(vals0 .nonnullrefs), r0 = jvmref |
(refval(r0) ' + vals0)[m] = refval(r), (refval(r0) ' + vals0)[n] = refval(r), n ≤ # vals0, m ≤ # vals0 ⊦ r0 = jvmref, m = n, r = jvmref, r0 ∈ vals0 .nonnullrefs, dups(vals0 .nonnullrefs), ∃ r1, m0, n0. vals0[m0] = refval(r1) ∧ vals0[n0] = refval(r1) ∧ r1 ≠ jvmref ∧ m0 ≠ n0 ∧ ¬ # vals0 ≤ m0 ∧ ¬ # vals0 ≤ n0
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : nat, , lels, ⊦ ¬ m < n ↔ n ≤ m])]]