| is_obj(r, st) ∨ is_array(r, st), oktype(val, ty, st) ⊦ ty = void_type, mkfs(class, ty, fieldvar) ' = _length, is_valid_ref(r, st[r1 -- mkfs(class, ty, fieldvar) ', val]) |
⊦ is_valid_ref(r, st) ↔ is_obj(r, st) ∨ is_array(r, st)
is_obj(r, st) ∨ is_array(r, st), oktype(val, ty, st) ⊦ ty = void_type, mkfs(class, ty, fieldvar) ' = _length, is_obj(r, st[r1 -- mkfs(class, ty, fieldvar) ', val]) ∨ is_array(r, st[r1 -- mkfs(class, ty, fieldvar) ', val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st[r1 -- mkfs(class, ty, fieldvar) ', val], r)]]