| dups(fv .2 ' .nonnullrefs + fis0 .vals .nonnullrefs), dups(fis0 .vals .nonnullrefs) → sk ≠ sk0 ∧ r ≠ jvmref ∧ fis0[sk] = refval(r) ∧ fis0[sk0] = refval(r) ∧ sk ∈ fis0 ∧ sk0 ∈ fis0 ⊦ dups(fis0 .keys), fv .1 ∈ fis0 .keys, ∃ r0, sk1, sk2. sk1 ≠ sk2 ∧ r0 ≠ jvmref ∧ (fv ' + fis0)[sk1] = refval(r0) ∧ (fv ' + fis0)[sk2] = refval(r0) ∧ (sk1 ∈ fv ' ∨ sk1 ∈ fis0) ∧ (sk2 ∈ fv ' ∨ sk2 ∈ fis0) |
fv = sk3 × val, dups(val ' .nonnullrefs + fis0 .vals .nonnullrefs), dups(fis0 .vals .nonnullrefs) → sk ≠ sk0 ∧ r ≠ jvmref ∧ fis0[sk] = refval(r) ∧ fis0[sk0] = refval(r) ∧ sk ∈ fis0 ∧ sk0 ∈ fis0 ⊦ dups(fis0 .keys), sk3 ∈ fis0 .keys, ∃ r0, sk1, sk2. sk1 ≠ sk2 ∧ r0 ≠ jvmref ∧ (fv ' + fis0)[sk1] = refval(r0) ∧ (fv ' + fis0)[sk2] = refval(r0) ∧ (sk1 ∈ fv ' ∨ sk1 ∈ fis0) ∧ (sk2 ∈ fv ' ∨ sk2 ∈ fis0)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk3, val)]]