Comment by Jtsummers

4 hours ago

You need a way to differentiate the two 5s, that isn't present. If you had a list like:

  L = [(5,foo), (2,bar), (2,baz),...]

And did a:

  SORT(L, key=first) # or however it'd be specified

Then the duplicate 2s would be fine, because they're no longer duplicates, only duplicate keys. But it would still fail if (2,baz) showed up twice in the source and destination even though we've asked for SORT, not UNIQSORT.

In the cases of

  SORT ( 3, 2, 5, 5 ) ->> ( 2, 3, 5, 5 ) and
  SORT ( 3, 2, 5, 5 ) ->> ( 2, 3, 5, 5 )

one or both of those might be incorrect ?

( I'm teasing, perhaps )

More seriously,

> You need a way to differentiate the two 5s

As there's no unique filtering or other reduction going on here, there's a permutation chain from input to output.

  • But that's not in the specification given above. That specification is entirely wrong to specify SORT. It requires no duplicates survive the sorting process.