functionally complete logic gates