The document discusses red-black trees, which are self-balancing binary search trees. It defines properties of red-black trees, including that every node must be red or black, and that every path from the root to a leaf must contain the same number of black nodes. It presents four theorems about red-black trees relating to their structure and balancing. It then describes algorithms for inserting and deleting nodes from red-black trees in a way that maintains the red-black tree properties.