| ((sk1 × refval(r1)) ' + fis0)[sk0] = refval(r), fis0[sk] = refval(r), sk0 ∈ (sk1 × refval(r1)) ' + fis0, sk ∈ fis0, ∀ sk2, r0, sk3. fis0[sk2] = refval(r0) ∧ fis0[sk3] = refval(r0) ∧ sk2 ∈ fis0 ∧ sk3 ∈ fis0 → sk3 = sk2 ∨ r0 = jvmref ⊦ sk = sk0, r = jvmref, r1 = jvmref, sk = sk1, dups(fis0 .vals .nonnullrefs), r1 ∈ fis0 .vals .nonnullrefs |
⊦ sk ≠ sk0 → ((sk0 × val) ' + fis)[sk] = fis[sk]
⊦ fis[sk] = refval(r) ∧ sk ∈ fis ∧ r ≠ jvmref → r ∈ fis .vals .nonnullrefs
sk0 ≠ sk1, fis0[sk0] = refval(r), fis0[sk] = refval(r), sk0 ∈ (sk1 × refval(r1)) ' + fis0, sk ∈ fis0, ∀ sk2, r0, sk3. fis0[sk2] = refval(r0) ∧ fis0[sk3] = refval(r0) ∧ sk2 ∈ fis0 ∧ sk3 ∈ fis0 → sk3 = sk2 ∨ r0 = jvmref ⊦ sk = sk0, r = jvmref, r1 = jvmref, sk = sk1, dups(fis0 .vals .nonnullrefs), r1 ∈ fis0 .vals .nonnullrefs
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : assoclist, fieldinit, assoc-yes, ⊦ ((sk × val) ' + fis)[sk] = val], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, a, ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPNAMEDSEQ : javavalue, , inj-03, ⊦ refval(r) = refval(r0) ↔ r = r0], [CSIMPNAMEDSEQ : assoclist, fieldinit, infirst, ⊦ sk ∈ (sk × val) ' + fis])], [EXTRATERMS : (sk0, fis0, refval(r1), sk1)]]