| okfieldinits(class, (sk × val) ' + []) ↔ is_fskey(sk) ∧ val = initial_value(sk .fs .type) ∧ sk .fs .class = class ∧ sk .fs .type ≠ abstract_type ∧ okfieldinits(class, []), sk .fs = mkfs(class0, ty, fieldvar) ⊦ okfieldinits(class, (sk × val) ') ↔ ¬ is_indexkey(sk) ∧ val = initial_value(ty) ∧ class0 = class ∧ ty ≠ abstract_type |
⊦ okfieldinits(class, [])
sk .fs = mkfs(class0, ty, fieldvar), okfieldinits(class, (sk × val) ') ↔ is_fskey(sk) ∧ val = initial_value(ty) ∧ class0 = class ∧ ty ≠ abstract_type ⊦ okfieldinits(class, (sk × val) ') ↔ ¬ is_indexkey(sk) ∧ val = initial_value(ty) ∧ class0 = class ∧ ty ≠ abstract_type
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .class = class], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .type = ty], [CSIMPSEQ : ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPSEQ : ⊦ fis + [] = fis])]]