| is_fskey(sk) ⊦ jvmref = r, (jvmref -- sk ∈ addclass(class0, fis0, st) ↔ jvmref -- sk ∈ addclass(class0, fis0, addobj(r, class, fis, st))) ∧ (addclass(class0, fis0, st)[jvmref -- sk]) = (addclass(class0, fis0, addobj(r, class, fis, st))[jvmref -- sk]) |
⊦ ¬ sk ∈ fis ∧ sk ≠ mkfs(class, void_type, `initstate' .field) ' → (r -- sk ∈ addclass(class, fis, st) ↔ r -- sk ∈ st)
¬ (¬ sk ∈ fis0 ∧ sk ≠ mkfs(class0, void_type, `initstate' .field) '), is_fskey(sk) ⊦ jvmref = r, (jvmref -- sk ∈ addclass(class0, fis0, st) ↔ jvmref -- sk ∈ addclass(class0, fis0, addobj(r, class, fis, st))) ∧ (addclass(class0, fis0, st)[jvmref -- sk]) = (addclass(class0, fis0, addobj(r, class, fis, st))[jvmref -- sk])
⊦ ¬ sk ∈ fis ∧ sk ≠ mkfs(class, void_type, `initstate' .field) ' → (r -- sk ∈ addclass(class, fis, st) ↔ r -- sk ∈ st)
⊦ r ≠ r0 → (r -- sk ∈ addobj(r0, class1, fis, st) ↔ r -- sk ∈ st)
⊦ ¬ sk ∈ fis ∧ sk ≠ mkfs(class, void_type, `initstate' .field) ' → (addclass(class, fis, st)[r -- sk]) = st[r -- sk]
⊦ r ≠ r0 → (addobj(r, class1, fis, st)[r0 -- sk]) = st[r0 -- sk]
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, fis0, class0, sk, jvmref)]]