| init⊆(str, st, st0) ⊦ mkfs(class, int_type, fieldvar) ' ∈ statfields(class), init⊆(str, st, st0[jvmref -- mkfs(class, int_type, fieldvar) ', intval(i)]) |
⊦ init⊆(str, st, st0) ∧ (¬ rk .key ∈ statfields(rk .key .fs .class) ∨ ¬ tdname∃(str, rk .key .fs .class)) ∧ rk .ref = jvmref ∧ is_fskey(rk .key) ∧ (rk .key .fs .type ≠ void_type ∨ rk .key .fs .field ≠ `initstate' .field ∧ rk ≠ _uninit) → init⊆(str, st, st0[rk, val])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (r -- sk) .key = sk], [CSIMPSEQ : ⊦ fs ' .fs = fs], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .class = class], [CSIMPSEQ : ⊦ (r -- sk) .ref = r], [CSIMPSEQ : ⊦ is_fskey(fs ')], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .type = ty], [CSIMPSEQ : ⊦ int_type ≠ void_type])], [EXTRATERMS : (intval(i), jvmref -- mkfs(class, int_type, fieldvar) ', st0, st, str)]]