| is_fskey(sk) ∧ val = initial_value(sk .fs .type) ∧ sk .fs .class = class ∧ sk .fs .type ≠ abstract_type ∧ okfieldinits(class, fis0), mkfs(class, abstract_type, fieldvar) ' ∈ (sk × val) ' + fis0, ∀ class0, fieldvar0. ¬ okfieldinits(class0, fis0) ∨ ¬ mkfs(class0, abstract_type, fieldvar0) ' ∈ fis0 ⊦ |
is_fskey(sk), okfieldinits(sk .fs .class, fis0), mkfs(sk .fs .class, abstract_type, fieldvar) ' ∈ (sk × initial_value(sk .fs .type)) ' + fis0, ∀ class0, fieldvar0. ¬ okfieldinits(class0, fis0) ∨ ¬ mkfs(class0, abstract_type, fieldvar0) ' ∈ fis0 ⊦ sk .fs .type = abstract_type
[[CONCRETESIMPRULES : ()]]