| ⊦ r = jvmref, (∀ sk. sk ∈ instfields(class) → r -- sk ∈ st[_mode, val] ∧ is_fskey(sk) ∧ compat(str, st[_mode, val][r -- sk], sk .fs .type, st[_mode, val])) ↔ compatfields(str, r, instfields(class), st) |
⊦ r = jvmref, (∀ sk. sk ∈ instfields(class) → r -- sk ∈ st ∧ is_fskey(sk) ∧ compat(str, st[r -- sk], sk .fs .type, st[_mode, val])) ↔ compatfields(str, r, instfields(class), st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ≠ jvmref → (st[_mode, val][r -- sk]) = st[r -- sk]], [CSIMPSEQ : ⊦ r ≠ jvmref → ( r -- sk ∈ st[_mode, val] ↔ r -- sk ∈ st)])]]