| _uninit ∈ st[_out, val] ∧ ¬ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st ∨ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st[_out, val] ∧ st[jvmref -- mkfs(class1, void_type, `initstate' .field) '] = initval(undone) ⊦ ¬ jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st ∧ _uninit ∈ st, jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st ∧ st[jvmref -- mkfs(class1, void_type, `initstate' .field) '] = initval(undone) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st], [CSIMPSEQ : ⊦ _uninit ≠ _out], [CSIMPSEQ : ⊦ ¬ rk ∈ st → st[rk] = ∅[rk]], [CSIMPSEQ : ⊦ _out = jvmref -- sk ↔ sk = mkfs (`java.lang.Object' .class, void_type, `out' .field) '], [CSIMPSEQ : ⊦ fs ' = fs0 ' ↔ fs = fs0], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) = mkfs(class0, ty0, fieldvar0) ↔ class = class0 ∧ ty = ty0 ∧ fieldvar = fieldvar0], [CSIMPSEQ : ⊦ stringvar .field = stringvar0 .field ↔ stringvar = stringvar0])]]