| ⊦ jvmref = r, ( jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class0, fis0, st) ↔ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class0, fis0, addobj(r, class, fis, st))) ∧ (addclass(class0, fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = (addclass(class0, fis0, addobj(r, class, fis, st))[jvmref -- mkfs(class1, ty, fieldvar) ']), ¬ mkfs(class1, ty, fieldvar) ' ∈ fis0 ∧ mkfs(class1, ty, fieldvar) ≠ mkfs(class0, void_type, `initstate' .field) |
⊦ jvmref = r, ( jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class0, fis0, st) ↔ jvmref -- mkfs(class1, ty, fieldvar) ' ∈ addclass(class0, fis0, addobj(r, class, fis, st))) ∧ (addclass(class0, fis0, st)[jvmref -- mkfs(class1, ty, fieldvar) ']) = (addclass(class0, fis0, addobj(r, class, fis, st))[jvmref -- mkfs(class1, ty, fieldvar) ']), ¬ mkfs(class1, ty, fieldvar) ' ∈ fis0 ∧ (class1 ≠ class0 ∨ ty ≠ void_type ∨ fieldvar ≠ `initstate' .field)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) = mkfs(class0, ty0, fieldvar0) ↔ class = class0 ∧ ty = ty0 ∧ fieldvar = fieldvar0])]]