| validreflist(str, vals1, ty1, st), validref(str, r, ty1, st), ∀ str, ty1, st, ty, vals0. validreflist(str, vals1, ty1, st) → validreflist(str, vals1, ty1, addarray(newref(st), ty, vals0, st)) ⊦ is_referencevalue(refval(r)) ∧ validref(str, refval(r) .refval, ty1, addarray(newref(st), ty, vals0, st)) ∧ validreflist(str, vals1, ty1, addarray(newref(st), ty, vals0, st)) |
validreflist(str, vals1, ty1, st), validref(str, r, ty1, st), ∀ str, ty1, st, ty, vals0. validreflist(str, vals1, ty1, st) → validreflist(str, vals1, ty1, addarray(newref(st), ty, vals0, st)) ⊦ validref(str, r, ty1, addarray(newref(st), ty, vals0, st)) ∧ validreflist(str, vals1, ty1, addarray(newref(st), ty, vals0, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ refval(r) .refval = r], [CSIMPSEQ : ⊦ is_referencevalue(refval(r))])]]