| sk0 ≠ sk1, fis0[sk0] = refval(r), fis0[sk] = refval(r), sk0 ∈ (sk1 × val) ' + fis0, sk ∈ fis0, ¬ is_referencevalue(val) ∨ val .refval = jvmref, ∀ sk2, r0, sk3. fis0[sk2] = refval(r0) ∧ fis0[sk3] = refval(r0) ∧ sk2 ∈ fis0 ∧ sk3 ∈ fis0 → sk3 = sk2 ∨ r0 = jvmref ⊦ sk = sk0, r = jvmref, sk = sk1, dups(fis0 .vals .nonnullrefs) |
fis0[sk0] = refval(r), fis0[sk] = refval(r), sk ∈ fis0, sk0 ∈ fis0, ¬ is_referencevalue(val) ∨ val .refval = jvmref, ∀ sk2, r0, sk3. fis0[sk2] = refval(r0) ∧ fis0[sk3] = refval(r0) ∧ sk2 ∈ fis0 ∧ sk3 ∈ fis0 → sk3 = sk2 ∨ r0 = jvmref ⊦ sk = sk0, r = jvmref, sk = sk1, sk0 = sk1, dups(fis0 .vals .nonnullrefs)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, fieldinit-assoclista, a, ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPNAMEDSEQ : assoclist, fieldinit, inkeys-n, ⊦ sk ≠ sk0 → ( sk ∈ (sk0 × val) ' + fis ↔ sk ∈ fis)])]]