W teorii układów cyfrowych kluczowym pojęciem jest funkcjonalna pełność (ang. functional completeness). Zbiór operatorów/bramek jest funkcjonalnie pełny, gdy pozwala zrealizować dowolną funkcję boolowską (czyli dowolną zależność między sygnałami 0/1 opisywaną algebrą Boole’a).
Odpowiedź "NAND" jest poprawna, ponieważ bramka NAND jest tzw. bramką uniwersalną. Oznacza to, że z samych bramek NAND można skonstruować podstawowe operacje, które wystarczają do syntezy wszystkich funkcji:
- NOT da się uzyskać przez połączenie wejść NAND (to daje negację sygnału).
- AND można otrzymać jako negację wyniku NAND (czyli NAND + "odwrócenie").
- OR da się zbudować z użyciem praw de Morgana, realizując negacje wejść i odpowiednie połączenie NAND.
Skoro z NAND można zbudować NOT oraz AND/OR, to można też budować dowolne postacie normalne (np. sumy iloczynów), a to prowadzi do realizacji dowolnej funkcji logicznej.
Pozostałe odpowiedzi są błędne z typowych powodów:
- "OR" nie jest wystarczająca sama w sobie, bo bez negacji i iloczynu nie da się wygenerować pełnej rodziny funkcji.
- "NOT" realizuje wyłącznie negację; nie pozwala tworzyć funkcji zależnych od kombinacji wielu wejść (brak operacji łączenia informacji jak AND/OR).
- "EX-OR" (XOR) jest użyteczna (np. suma modulo 2), ale sama nie stanowi bazy do wszystkich funkcji boolowskich; nie pozwala odtworzyć pełnej logiki kombinacyjnej bez dodatkowych operatorów.
W praktyce (montaż i instalowanie urządzeń elektronicznych) wiedza o bramkach uniwersalnych ułatwia rozumienie, dlaczego w niektórych układach spotyka się powtarzalne struktury z jednego typu bramek oraz jak z nich "składa się" bardziej złożone funkcje.