| is_indexkey(sk), okfieldinits(class, (sk1 × val) ' + fis0), ∀ sk0, class0. ¬ sk0 ∈ fis0 .keys ∨ ¬ okfieldinits(class0, fis0) ∨ is_fskey(sk0) ⊦ sk ≠ sk1 ∧ ¬ sk ∈ fis0 .keys |
⊦ okfieldinits(class, (sk × val) ' + fis) ↔ is_fskey(sk) ∧ val = initial_value(sk .fs .type) ∧ sk .fs .class = class ∧ sk .fs .type ≠ abstract_type ∧ okfieldinits(class, fis)
is_indexkey(sk), is_fskey(sk1) ∧ val = initial_value(sk1 .fs .type) ∧ sk1 .fs .class = class ∧ sk1 .fs .type ≠ abstract_type ∧ okfieldinits(class, fis0), ∀ sk0, class0. ¬ sk0 ∈ fis0 .keys ∨ ¬ okfieldinits(class0, fis0) ∨ is_fskey(sk0) ⊦ sk ≠ sk1 ∧ ¬ sk ∈ fis0 .keys
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (fis0, val, sk1, class)]]