| fs .type = void_type, fs .field = `initstate' .field, jvmref -- fs ' ∈ st, jvmref ∈ st, ∀ rk0. rk0 ∈ st ∧ rk0 .ref = jvmref ∧ ¬ is_indexkey(rk0 .key) ∧ rk0 .key .fs .type = void_type ∧ rk0 .key .fs .field = `initstate' .field → st[rk0] ≠ initval(undone) ∧ st[rk0] ≠ initval(error) ⊦ r = jvmref, _uninit ∈ st, st[jvmref -- fs '] ≠ initval(undone) ∧ st[jvmref -- fs '] ≠ initval(error) |
fs = mkfs(class, ty, fieldvar), ty = void_type, fieldvar = `initstate' .field, jvmref -- fs ' ∈ st, jvmref ∈ st, ∀ rk0. rk0 ∈ st ∧ rk0 .ref = jvmref ∧ ¬ is_indexkey(rk0 .key) ∧ rk0 .key .fs .type = void_type ∧ rk0 .key .fs .field = `initstate' .field → st[rk0] ≠ initval(undone) ∧ st[rk0] ≠ initval(error) ⊦ r = jvmref, _uninit ∈ st, st[jvmref -- fs '] ≠ initval(undone) ∧ st[jvmref -- fs '] ≠ initval(error)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class, ty, fieldvar)]]