| ⊦ initerror(class1, st[r -- _type, val]) ↔ initerror(class1, st) |
⊦ initerror(class1, st) ↔ (jvmref -- mkfs(class1, void_type, `initstate' .field) ') × initval(error) ∈ st
⊦ r -- sk ∈ st → r ∈ st
jvmref -- mkfs(class1, void_type, `initstate' .field) ' ∈ st, jvmref ∈ st ⊦ (((jvmref = r ∧ mkfs(class1, void_type, `initstate' .field) ' = _type) ⊃ val; st[jvmref -- mkfs(class1, void_type, `initstate' .field) '])) = initval(error) ↔ st[jvmref -- mkfs(class1, void_type, `initstate' .field) '] = initval(error)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk × val ∈ st ↔ ¬ ¬ (rk ∈ st ∧ st[rk] = val)], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ sk = sk0], [CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))], [CSIMPSEQ : ⊦ r0 -- mkfs (class0, ty0, `initstate' .field) ' ∈ st[r -- _type, val] ↔ r0 -- mkfs (class0, ty0, `initstate' .field) ' ∈ st], [CSIMPSEQ : ⊦ rk × val ∈ st ↔ rk ∈ st ∧ st[rk] = val])]]