| ¬ is_referencevalue(val) ∨ val .refval = jvmref, dups([] + 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 ∧ ((sk3 × val) ' + fis0)[sk1] = refval(r0) ∧ ((sk3 × val) ' + fis0)[sk2] = refval(r0) ∧ (sk1 = sk3 ∨ sk1 ∈ fis0) ∧ (sk2 = sk3 ∨ sk2 ∈ fis0) |
⊦ fis[sk] = refval(r) ∧ fis[sk0] = refval(r) ∧ sk ≠ sk0 ∧ sk ∈ fis ∧ sk0 ∈ fis ∧ r ≠ jvmref → dups(fis .vals .nonnullrefs)
fis0[sk] = refval(r), fis0[sk0] = refval(r), sk ∈ fis0, sk0 ∈ fis0, ¬ is_referencevalue(val) ∨ val .refval = jvmref ⊦ r = jvmref, sk = sk0, dups(fis0 .keys), sk3 ∈ fis0 .keys, ∃ r0, sk1, sk2. sk1 ≠ sk2 ∧ r0 ≠ jvmref ∧ ((sk3 × val) ' + fis0)[sk1] = refval(r0) ∧ ((sk3 × val) ' + fis0)[sk2] = refval(r0) ∧ (sk1 = sk3 ∨ sk1 ∈ fis0) ∧ (sk2 = sk3 ∨ sk2 ∈ fis0)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, references, a, ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPNAMEDSEQ : list, references, Nil, ⊦ [] + refs = refs])]]