functionally complete set of gates