| val ' + vals0 ≠ [] ∧ m ≠ 0, ((val ' + vals0) .rest)[m - 1] = refval(r), (val ' + vals0)[n] = refval(r), n ≤ # vals0, m ≤ # vals0, ¬ is_referencevalue(val) ∨ val .refval = jvmref ⊦ m = n, r = jvmref, dups(vals0 .nonnullrefs), ∃ r0, m0, n0. vals0[m0] = refval(r0) ∧ vals0[n0] = refval(r0) ∧ r0 ≠ jvmref ∧ m0 ≠ n0 ∧ ¬ # vals0 ≤ m0 ∧ ¬ # vals0 ≤ n0 |
(val ' + vals0)[n] = refval(r), vals0[m - 1] = refval(r), n ≤ # vals0, m ≤ # vals0, ¬ is_referencevalue(val) ∨ val .refval = jvmref ⊦ m = n, r = jvmref, m = 0, dups(vals0 .nonnullrefs), ∃ r0, m0, n0. vals0[m0] = refval(r0) ∧ vals0[n0] = refval(r0) ∧ r0 ≠ jvmref ∧ m0 ≠ n0 ∧ ¬ # vals0 ≤ m0 ∧ ¬ # vals0 ≤ n0
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, javavalues, e-01, ⊦ val ' + vals ≠ []], [CSIMPNAMEDSEQ : list, javavalues, a, ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPNAMEDSEQ : list, javavalues, c-07, ⊦ (val ' + vals) .rest = vals])]]