| ∀ class1, ty, fieldvar, st. jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class1, fis0, st) ↔ ty = void_type ∧ fieldvar = `initstate' .field ∨ mkfs(class1, ty, fieldvar) ' ∈ fis0 ∨ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ st ⊦ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ (addclass(class1, fis0, st)[jvmref -- mkfs(class1, ty0, fieldvar0) ', val]) ↔ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ st ∨ ty = ty0 ∧ fieldvar = fieldvar0 ∨ mkfs(class1, ty, fieldvar) ' ∈ fis0 ∨ ty = void_type ∧ fieldvar = `initstate' .field |
⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st
∀ class1, ty, fieldvar, st. jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class1, fis0, st) ↔ ty = void_type ∧ fieldvar = `initstate' .field ∨ mkfs(class1, ty, fieldvar) ' ∈ fis0 ∨ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ st ⊦ jvmref -- mkfs(class1, ty, fieldvar) ' = jvmref -- mkfs(class1, ty0, fieldvar0) ' ∨ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class1, fis0, st) ↔ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ st ∨ ty = ty0 ∧ fieldvar = fieldvar0 ∨ mkfs(class1, ty, fieldvar) ' ∈ fis0 ∨ ty = void_type ∧ fieldvar = `initstate' .field
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, jvmref -- mkfs(class1, ty0, fieldvar0) ', addclass(class1, fis0, st), jvmref -- mkfs(class1, ty, fieldvar) ')]]