| ((sk1 × val) ' + fis0)[sk0] = refval(r), ((sk1 × val) ' + fis0)[sk] = refval(r), sk0 ∈ (sk1 × val) ' + fis0, sk ∈ (sk1 × val) ' + 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, dups(fis0 .vals .nonnullrefs) |
⊦ sk ≠ sk0 → ((sk0 × val) ' + fis)[sk] = fis[sk]
sk ≠ sk1, ((sk1 × val) ' + fis0)[sk0] = refval(r), fis0[sk] = refval(r), sk0 ∈ (sk1 × val) ' + fis0, sk ∈ (sk1 × val) ' + 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, dups(fis0 .vals .nonnullrefs)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : assoclist, fieldinit, assoc-no, ⊦ sk ≠ sk0 → ((sk0 × val) ' + fis)[sk] = fis[sk]], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, a, ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPNAMEDSEQ : assoclist, fieldinit, assoc-yes, ⊦ ((sk × val) ' + fis)[sk] = val], [CSIMPNAMEDSEQ : assoclist, fieldinit, inkeys-n, ⊦ sk ≠ sk0 → ( sk ∈ (sk0 × val) ' + fis ↔ sk ∈ fis)], [CSIMPNAMEDSEQ : assoclist, fieldinit, infirst, ⊦ sk ∈ (sk × val) ' + fis], [CSIMPNAMEDSEQ : javavalue, , test-19, ⊦ is_referencevalue(refval(r))], [CSIMPNAMEDSEQ : javavalue, , sel-09, ⊦ refval(r) .refval = r])], [EXTRATERMS : (sk, fis0, val, sk1)]]