| ⊦ newref(r, st) ∧ validfieldinits(str, fis, st) ∧ ¬ junkref(str, r, addobj(r, class, fis, st)) ∧ fis .keys = instfields(class) → ( hasSharing(r, addobj(r, class, fis, st)) ↔ ¬ (¬ dups(fis .vals .nonnullrefs) ∧ ¬ hasSharing(fis .vals .nonnullrefs, st) ∧ disjoint(str, fis .vals .nonnullrefs, st))) |