Duplication checker: itself self-explanatory, text around it confusing
Description
The writing specifications page says this of the duplication checker:
Create an empty set
seen, then step through the elements ofseq.Every time we see a number, we check if it's already in
seen.
- If it is, we say the list is not unique.
- Otherwise, we add the element to
seenand continue.If we reach the end and haven't seen any duplicate elements, we say the list is unique.
Our decision should match the operator
IsUnique(seq).In this chapter we'll focus on just writing out the spec, parts (2) and (3). In the next chapter we'll do steps (1) and (4), actually verifying the algorithm.
But the example plainly does do steps 1, 2, 3. Does the segment
In this chapter we'll focus on just writing out the spec, parts (2) and (3). In the next chapter we'll do steps (1) and (4), actually verifying the algorithm.
perhaps refer to an earlier list of activities that the user is to do?
problem statement
Suggest that IsUnique(seq) is a misleading name, and that something like ContainsNoDuplicates(seq) expresses the intent better. Similarly, if we reach the end and haven’t seen any duplicate elements, we might better say the elements of the list ~~is~~ are unique.