| is_valid_ref(r, st), oktype(val, ty, st) ⊦ mkfs(class, ty, fieldvar) ' = _type, mkfs(class, ty, fieldvar) ' = _length, is_array(r, st[r -- mkfs(class, ty, fieldvar) ', val]), is_obj(r, st[r -- 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) ⊦ mkfs(class, ty, fieldvar) ' = _type, mkfs(class, ty, fieldvar) ' = _length, is_array(r, st[r -- mkfs(class, ty, fieldvar) ', val]), is_obj(r, st[r -- mkfs(class, ty, fieldvar) ', val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, r)]]