| okfieldinits(fs .class, fis0), mkfs(class, ty, fieldvar) ' ∈ fis0 .keys, ∀ class0, class, ty, fieldvar. okfieldinits(class0, fis0) ∧ mkfs(class, ty, fieldvar) ' ∈ fis0 .keys → class = class0 ⊦ class = fs .class, fs .type = abstract_type, mkfs(class, ty, fieldvar) = fs |
fs = mkfs(class1, ty0, fieldvar0), okfieldinits(class1, fis0), mkfs(class, ty, fieldvar) ' ∈ fis0 .keys, ∀ class0, class, ty, fieldvar. okfieldinits(class0, fis0) ∧ mkfs(class, ty, fieldvar) ' ∈ fis0 .keys → class = class0 ⊦ class = class1, ty0 = abstract_type, mkfs(class, ty, fieldvar) = fs
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class1, ty0, fieldvar0)]]