| ¬ hasSharing(r, st) ∧ is_arraytype(st[r -- _type] .type) ∧ r ≠ jvmref ⊦ ∀ i, j. i ≠ j ∧ 0 ≤ i ∧ i < st[r -- _length] .intval ∧ 0 ≤ j ∧ j < st[r -- _length] .intval ∧ is_referencevalue(st[r -- i ']) ∧ st[r -- i '] .refval ≠ jvmref → st[r -- i '] ≠ st[r -- j '] |