| okfieldinits(fs .class, 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) ⊦ ((fs ' × initial_value(fs .type)) ' + fis0)[mkfs(class, ty, fieldvar) '] = initial_value(ty), fs .type = abstract_type |
fs = 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) ⊦ ((fs ' × initial_value(ty0)) ' + fis0)[mkfs(class, ty, fieldvar) '] = initial_value(ty), ty0 = abstract_type
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class1, ty0, fieldvar0)]]