| sk = fs ', fs .type = void_type, fs .field = `initstate' .field, is_fskey(sk), jvmref -- sk ∈ st, jvmref ∈ st, ∀ rk. rk ∈ st ∧ rk .ref = jvmref ∧ ¬ is_indexkey(rk .key) ∧ rk .key .fs .type = void_type ∧ rk .key .fs .field = `initstate' .field → st[rk] ≠ initval(undone) ∧ st[rk] ≠ initval(error) ⊦ sk = i ', _uninit ∈ st, st[jvmref -- sk] ≠ initval(undone) ∧ st[jvmref -- sk] ≠ initval(error) |
fs .type = void_type, fs .field = `initstate' .field, jvmref -- fs ' ∈ st, jvmref ∈ st, ∀ rk. rk ∈ st ∧ rk .ref = jvmref ∧ ¬ is_indexkey(rk .key) ∧ rk .key .fs .type = void_type ∧ rk .key .fs .field = `initstate' .field → st[rk] ≠ initval(undone) ∧ st[rk] ≠ initval(error) ⊦ _uninit ∈ st, st[jvmref -- fs '] ≠ initval(undone) ∧ st[jvmref -- fs '] ≠ initval(error)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_fskey(fs ')], [CSIMPSEQ : ⊦ fs ' ≠ i '])]]