Every set must be declared in this way. The same person may be added to a set more than once, each time with a different value. Lengthset returns the number of persons in a person set. Union, intersect and difference take two person sets as arguments and return a third person set. The functions do not affect the values of their two argument sets.
Union returns the set union of the two sets.
Intersect returns the set intersection of the two sets. Difference returns the set difference of the two sets. Parentset returns the set of all parents of the persons in the argument set. The argument set is not affected. Childset returns the set of all children of the persons in the argument set.