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