| ⊦ sks ≠ [] ∧ sks0 ≠ [] ∧ st[r -- sks] .refval ≠ jvmref ∧ st[r -- sks0] .refval ≠ jvmref ∧ r ≠ jvmref ∧ path∃(str, st[r -- sks] .refval, st[r -- sks0] .refval, st) ∧ sks ≠ sks0 ∧ fits(r, sks, st) ∧ fits(r, sks0, st) ∧ ¬ sks ⊑ sks0 → hasSharing(r, st) |
fits(r, sks0, st), fits(r, sks, st), path∃(str, st[r -- sks] .refval, st[r -- sks0] .refval, st) ⊦ sks = [], sks0 = [], st[r -- sks] .refval = jvmref, st[r -- sks0] .refval = jvmref, r = jvmref, sks = sks0, sks ⊑ sks0, hasSharing(r, st)
[[CONCRETESIMPRULES : ()]]