| okval(val, fs .type), r -- fs ' ∈ st, okval(st[r -- fs '], fs .type), r ∈ st ⊦ fs ' = _length, fs ' = _type, r0 = jvmref ∨ r0 ≠ jvmref ∧ is_valid_ref(str, r0, st[r -- fs ', val]) ∧ (st[r -- fs ', val][r0 -- _type]) .type ≤ ty ↔ r0 = jvmref ∨ is_valid_ref(str, r0, st) ∧ st[r0 -- _type] .type ≤ ty |
okval(val, fs .type), r -- fs ' ∈ st, okval(st[r -- fs '], fs .type), r ∈ st, st[r0 -- _type] .type ≤ ty ⊦ r0 = jvmref, fs ' = _length, fs ' = _type, is_valid_ref(str, r0, st[r -- fs ', val]) ↔ is_valid_ref(str, r0, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ≠ sk0 → (st[r -- sk, val][r0 -- sk0]) = st[r0 -- sk0]])]]