001package components.set;
002
003import java.util.Comparator;
004import java.util.Iterator;
005
006import components.binarytree.BinaryTree;
007import components.binarytree.BinaryTree1;
008
009/**
010 * {@code Set} represented as a {@link BinaryTree} (maintained as a binary
011 * search tree) of elements with implementations of primary methods.
012 *
013 * @param <T>
014 *            type of {@code Set} elements
015 * @mathdefinitions <pre>
016 * IS_TOTAL_PREORDER (
017 *   r: binary relation on T
018 *  ) : boolean is
019 *  for all x, y, z: T
020 *   ((r(x, y) or r(y, x))  and
021 *    (if (r(x, y) and r(y, z)) then r(x, z)))
022 *
023 * IS_BST(
024 *   tree: binary tree of T,
025 *   r: binary relation on T
026 *  ): boolean satisfies
027 *  [tree satisfies the binary search tree ordering property according to the
028 *   relation r and has no duplicate labels]
029 * </pre>
030 * @convention <pre>
031 * IS_TOTAL_PREORDER([relation computed by $this.order.compare method]  and
032 * IS_BST($this.tree, $this.order)
033 * </pre>
034 * @correspondence this = labels($this.tree)
035 */
036public class Set3<T> extends SetSecondary<T> {
037
038    /*
039     * 2221/2231 assignment code deleted.
040     */
041
042}