| ∀ sk0, r, sk. fis0[sk0] = refval(r) ∧ fis0[sk] = refval(r) ∧ sk0 ∈ fis0 ∧ sk ∈ fis0 → sk = sk0 ∨ r = jvmref ∨ dups(fis0 .vals .nonnullrefs), (fv + fis0)[sk0] = refval(r), (fv + fis0)[sk] = refval(r), sk0 ∈ fv + fis0, sk ∈ fv + fis0 ⊦ sk = sk0, r = jvmref, dups((fv + fis0) .vals .nonnullrefs) |
⊦ (fv ' + fis) .vals = fv .2 ' + fis .vals
(fv ' + fis0)[sk0] = refval(r), (fv ' + fis0)[sk] = refval(r), sk0 ∈ fv ' + fis0, sk ∈ fv ' + fis0, ∀ sk0, r, sk. fis0[sk0] = refval(r) ∧ fis0[sk] = refval(r) ∧ sk0 ∈ fis0 ∧ sk ∈ fis0 → sk = sk0 ∨ r = jvmref ∨ dups(fis0 .vals .nonnullrefs) ⊦ sk = sk0, r = jvmref, dups((fv .2 ' + fis0 .vals) .nonnullrefs)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, fieldinit-assoclista, a, ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPNAMEDSEQ : list, fieldinit-assoclista, c, ⊦ fv + fis = fv ' + fis])]]