| hasSharing(r, addarray(newref(st), ty, vals, st)) ⊦ junkref(str, r, st), hasSharing(r, st) |
⊦ ¬ junkref(str, r, st) ∧ st ⊆ st1 ∧ ¬ hasSharing(r, st) → ¬ hasSharing(r, st1)
¬ (¬ junkref(str, r, st) ∧ st ⊆ addarray(newref(st), ty, vals, st) ∧ ¬ hasSharing(r, st)), hasSharing(r, addarray(newref(st), ty, vals, st)) ⊦ junkref(str, r, st), hasSharing(r, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (str, r, st, addarray(newref(st), ty, vals, st))]]