| mkfs(class0, ty, fieldvar) ' ∈ statfields(class), mkfs(class0, ty, fieldvar) ' ∈ statfields(class0), tdname∃(str, class0) ⊦ initdone(class0, st) → validfield(str, jvmref, mkfs(class0, ty, fieldvar) ', st[_mode, val]) ↔ initdone(class0, st) → validfield(str, jvmref, mkfs(class0, ty, fieldvar) ', st) |
⊦ rk .ref = jvmref ∧ (r ≠ jvmref ∨ rk .key ≠ sk0) → (validfield(str, r, sk0, st[rk, val]) ↔ validfield(str, r, sk0, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ _mode .ref = jvmref], [CSIMPSEQ : ⊦ _mode .key = mkfs (`java.lang.Object' .class, void_type, `mode' .field) '], [CSIMPSEQ : ⊦ fs ' = fs0 ' ↔ fs = fs0], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) = mkfs(class0, ty0, fieldvar0) ↔ class = class0 ∧ ty = ty0 ∧ fieldvar = fieldvar0], [CSIMPSEQ : ⊦ ¬ mkfs (class0, void_type, fieldvar) ' ∈ statfields(class)])], [EXTRATERMS : (val, _mode, st, mkfs(class0, ty, fieldvar) ', jvmref, str)]]