| sk0 .fs = mkfs(class0, ty, fieldvar), ∀ r, r0, sk, class, st. r ≠ r0 ∨ ¬ sk ∈ sks0 ∧ sk ≠ _type → (r -- sk ∈ addobj(r0, class, sks0, st) ↔ r -- sk ∈ st), r ≠ r0 ∨ sk ≠ sk0 ∧ ¬ sk ∈ sks0 ∧ sk ≠ _type ⊦ r -- sk ∈ (addobj(r0, class, sks0, st)[r0 -- sk0, initial_value(ty)]) ↔ r -- sk ∈ st |
⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st
sk0 .fs = mkfs(class0, ty, fieldvar), ∀ r, r0, sk, class, st. r ≠ r0 ∨ ¬ sk ∈ sks0 ∧ sk ≠ _type → (r -- sk ∈ addobj(r0, class, sks0, st) ↔ r -- sk ∈ st), r ≠ r0 ∨ sk ≠ sk0 ∧ ¬ sk ∈ sks0 ∧ sk ≠ _type ⊦ r -- sk = r0 -- sk0 ∨ r -- sk ∈ addobj(r0, class, sks0, st) ↔ r -- sk ∈ st
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (initial_value(ty), r0 -- sk0, addobj(r0, class, sks0, st), r -- sk)]]