| validrefvalnotnull(str, st[rk], ty, st), rk ∈ st ⊦ rk ∈ st0 ∪ st ∧ validrefvalnotnull(str, (st0 ∪ st)[rk], ty, st0 ∪ st) |
⊦ validrefvalnotnull(str, val, ty, st) ↔ is_referencevalue(val) ∧ validrefnotnull(str, val .refval, ty, st)
is_referencevalue(st[rk]) ∧ validrefnotnull(str, st[rk] .refval, ty, st), rk ∈ st ⊦ rk ∈ st0 ∪ st ∧ validrefvalnotnull(str, (st0 ∪ st)[rk], ty, st0 ∪ st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, ty, st[rk], str)]]