| ⊦ r = jvmref, (jvmref -- mkfs(class0, void_type, `initstate' .field) ') × initval(undone) ∈ addobj(r, class, sks, st) ∨ ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ addobj(r, class, sks, st) ∧ _uninit ∈ addobj(r, class, sks, st) ↔ initundone(class0, st) |
⊦ r ≠ r0 → (r -- sk ∈ addobj(r0, class, sks, st) ↔ r -- sk ∈ st)
⊦ r ≠ r0 → (addobj(r0, class, sks, st)[r -- sk]) = st[r -- sk]
⊦ r = jvmref, jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∧ st[jvmref -- mkfs(class0, void_type, `initstate' .field) '] = initval(undone) ∨ ¬ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ addobj(r, class, sks, st) ↔ initundone(class0, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk × val ∈ st ↔ rk ∈ st ∧ st[rk] = val])]]