| ∀ r, r1, class, class1, fis1, st. r = r1 ∨ (instore(r, class, fis0, addobj(r1, class1, fis1, st)) ↔ instore(r, class, fis0, st)) ⊦ r = r1, r -- sk ∈ st ∧ st[r -- sk] = val ∧ instore(r, class, fis0, addobj(r1, class1, fis1, st)) ↔ instore(r, class, (sk × val) ' + fis0, st) |
⊦ instore(r, class, fv ' + fis, st) ↔ (r -- fv .1) × fv .2 ∈ st ∧ instore(r, class, fis, st)
∀ r, r1, class, class1, fis1, st. r = r1 ∨ (instore(r, class, fis0, addobj(r1, class1, fis1, st)) ↔ instore(r, class, fis0, st)) ⊦ r = r1, r -- sk ∈ st ∧ st[r -- sk] = val ∧ instore(r, class, fis0, addobj(r1, class1, fis1, st)) ↔ (r -- (sk × val) .1) × (sk × val) .2 ∈ st ∧ instore(r, class, fis0, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, fis0, sk × val, class, r)]]