| ⊦ disjoint(str, r ' + r2 ', st) ∧ ¬ hasSharing(r, st) ∧ ¬ hasSharing(r2, st) ∧ ¬ junkref(str, r, st) ∧ r ≠ r2 ∧ validref(str, r2, st[r0 -- _type] .type .type, st) ∧ r0 ≠ jvmref ∧ is_arraytype(st[r0 -- _type] .type) ∧ (r2 = jvmref → is_reftype(st[r0 -- _type] .type .type)) → ¬ hasSharing(r, st[r0 -- i ', refval(r2)]) |