| initdone(class3, st), tdname∃(str, class3), mkfs(class0, ty, fieldvar) ' ∈ statfields(class3), tdname∃(str, class0), mkfs(class0, ty, fieldvar) ' ∈ statfields(class0), initdone(class0, st), validfield(str, jvmref, mkfs(class0, ty, fieldvar) ', st) ⊦ initdone(class, st), validfield(str, jvmref, mkfs(class0, ty, fieldvar) ', st[jvmref -- mkfs(class, void_type, `initstate' .field) ', initval(error)]) |
⊦ r ≠ jvmref ∨ sk ≠ sk0 → (validfield(str, r, sk0, st[jvmref -- sk, val]) ↔ validfield(str, r, sk0, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ fs ' = fs0 ' ↔ fs = fs0], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) = mkfs(class0, ty0, fieldvar0) ↔ class = class0 ∧ ty = ty0 ∧ fieldvar = fieldvar0])], [EXTRATERMS : (initval(error), mkfs(class, void_type, `initstate' .field) ', st, mkfs(class0, ty, fieldvar) ', jvmref, str)]]