| fs = mkfs(class, ty, fieldvar), init⊆(str, st, st0), ¬ fs ' ∈ statfields(class) ∨ ¬ tdname∃(str, class), ty ≠ void_type ∨ fieldvar ≠ `initstate' .field ∧ fs ≠ mkfs(`java.lang.Object' .class, void_type, `uninit' .field) ⊦ init⊆(str, st, st0[jvmref -- fs ', val]) |
init⊆(str, st, st0), ¬ mkfs(class, ty, fieldvar) ' ∈ statfields(class) ∨ ¬ tdname∃(str, class), ty ≠ void_type ∨ fieldvar ≠ `initstate' .field ∧ (class ≠ `java.lang.Object' .class ∨ fieldvar ≠ `uninit' .field) ⊦ init⊆(str, st, st0[jvmref -- mkfs(class, ty, fieldvar) ', val])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class1, ty, fieldvar) = mkfs(class2, ty0, fieldvar0) ↔ ¬ ¬ ( class1 = class2 ∧ ty = ty0 ∧ fieldvar = fieldvar0)])]]