| mkfs(class, ty, fieldvar) ' ≠ mkfs(class1, ty0, fieldvar0) ', okfieldinits(class1, fis0), mkfs(class, ty, fieldvar) ' ∈ fis0, ∀ class, ty, fieldvar, class0. mkfs(class, ty, fieldvar) ' ∈ fis0 ∧ okfieldinits(class0, fis0) → fis0[mkfs(class, ty, fieldvar) '] = initial_value(ty) ⊦ fis0[mkfs(class, ty, fieldvar) '] = initial_value(ty), ty0 = abstract_type |
okfieldinits(class1, fis0), mkfs(class, ty, fieldvar) ' ∈ fis0, ∀ class, ty, fieldvar, class0. mkfs(class, ty, fieldvar) ' ∈ fis0 ∧ okfieldinits(class0, fis0) → fis0[mkfs(class, ty, fieldvar) '] = initial_value(ty), class ≠ class1 ∨ ty ≠ ty0 ∨ fieldvar ≠ fieldvar0 ⊦ fis0[mkfs(class, ty, fieldvar) '] = initial_value(ty), ty0 = abstract_type
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class1, ty, fieldvar) = mkfs(class2, ty0, fieldvar0) ↔ ¬ ¬ ( class1 = class2 ∧ ty = ty0 ∧ fieldvar = fieldvar0)], [CSIMPSEQ : ⊦ fs ' = fs0 ' ↔ fs = fs0])]]