| sk .fs = mkfs(class0, ty, fieldvar), is_fskey(sk) ∧ sk ∈ statfields(sk .fs .class) ∧ tdname∃(str, sk .fs .class) ∧ (initdone(sk .fs .class, st) → validfield(str, jvmref, sk, st)), sk ∈ statfields(class3), tdname∃(str, class3), initdone(class3, st) ⊦ initdone(class, st), ¬ is_indexkey(sk) ∧ sk ∈ statfields(class0) ∧ tdname∃(str, class0) ∧ ( initdone(class0, st[jvmref -- mkfs(class, void_type, `initstate' .field) ', initval(error)]) → validfield(str, jvmref, sk, st[jvmref -- mkfs(class, void_type, `initstate' .field) ', initval(error)])) |
sk .fs = mkfs(class0, ty, fieldvar), is_fskey(sk), initdone(class3, st), tdname∃(str, class3), sk ∈ statfields(class3), tdname∃(str, class0), sk ∈ statfields(class0), initdone(class0, st[jvmref -- mkfs(class, void_type, `initstate' .field) ', initval(error)]), initdone(class0, st) → validfield(str, jvmref, sk, st) ⊦ initdone(class, st), validfield(str, jvmref, sk, st[jvmref -- mkfs(class, void_type, `initstate' .field) ', initval(error)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .class = class], [CSIMPSEQ : ⊦ ¬ is_indexkey(sk) ↔ is_fskey(sk)], [CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)])]]