| 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) |
⊦ r ≠ r0 → (is_valid_ref(str, r0, st[r -- sk, val]) ↔ is_valid_ref(str, r0, st))
¬ r ≠ r0, 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 : ()], [EXTRATERMS : (val, fs ', r, st, r0, str)]]