| ∀ class. ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st ∨ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st ∧ st[jvmref -- mkfs(class, void_type, `initstate' .field) '] = initval(undone) ⊦ _uninit ∈ st ∧ (r -- sk ∈ st ∧ r = jvmref ∧ is_fskey(sk) ∧ sk .fs .type = void_type ∧ sk .fs .field = `initstate' .field → st[jvmref -- sk] = initval(undone)) |
sk .fs = mkfs(class0, ty, fieldvar), ∀ class. ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st ∨ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st ∧ st[jvmref -- mkfs(class, void_type, `initstate' .field) '] = initval(undone) ⊦ _uninit ∈ st ∧ (r -- sk ∈ st ∧ r = jvmref ∧ is_fskey(sk) ∧ ty = void_type ∧ fieldvar = `initstate' .field → st[jvmref -- sk] = initval(undone))
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (sk .fs, class0, ty, fieldvar)]]