úÎý?portable experimental Luke Palmer <lrpalmer@gmail.com> Safe-InferredA Partition of a.: represents a collection of disjoint sets of a whose ! union includes every element of a. Semantics:  [[Partition a]] = P(P(a))  where P is the power set operation. &A partition in which every element of a is in its own set. Semantics:   [[discrete]] = { { x } | x in a }  Synonym for discrete. PTakes a list of disjoint sets and constructs a partition containing those sets, 7 with every remaining element being given its own set. PReturns a list of all nontrivial sets (sets with more than one element) in the  partition. join x y merges the two sets containing x and y into a single set. Semantics:   [[join x y p]] = (p `minus` find x `minus` find y) `union` { find x `union` find y } find p x finds the set that the element x" is associated with. Semantics:   [[find p x]]% = the unique s in p such that x in s. rep p x1 finds the minimum element in the set containing x.           data-partition-0.2.0.0Data.Partition PartitiondiscreteemptyfromSetsnontrivialSetsjoinfindrep forwardMap backwardMaprepFindcompose$fShowPartition