Введение

Концепция в математической логике В логике функционально полный набор логических соединителей или булевых операторов - это тот, который может быть использован для выражения всех возможных таблиц истинности путем объединения членов множества в булевое выражение. Хорошо известный полный набор соединителей - это каждый из одиночных наборов и функционально полный. Однако набор неполный, из-за его невозможности выразить НЕ. Врата (или набор ворот), которые функционально завершены, также могут называться универсальными воротами (или универсальным набором ворот). В контексте логики предложений функционально полные наборы соединителей также называются (экспрессивно) адекватными. С точки зрения цифровой электроники функциональная полнота означает, что каждый возможный логический шлюз может быть реализован как сеть шлюзов типов, предписанных набором. В частности, все логические шлюзы могут быть собраны либо только из бинарных NAND- шлюзов, либо только из бинарных NOR- шлюзов.

Введение

Современные тексты по логике обычно принимают за примитивные некоторые подмножества соединительных: соединение; разъединение; отрицание; материальный условный; и, возможно, двухусловной. Дальнейшие соединительные могут быть определены, если того пожелают, путем их определения с точки зрения этих примитивных. Например, NOR (отрицание дисъюнкции, иногда обозначаемое как ) может быть выражено как соединение двух отрицаний: Аналогичным образом, отрицание соединения, NAND (иногда обозначаемое как ), может быть определено с точки зрения дисъюнкции и отрицания. Каждый двоичный соединитель может быть определен в терминах , что означает, что множество функционально полно. Однако в ней содержится избыточность: это множество не является минимальным функционально полным множеством, потому что условное и двуобусловленное могут быть определены с точки зрения других соединителей, как следует из этого, что меньшее множество также функционально полно. (Его функциональная полнота также доказана теоремой о дизъюнктивной нормальной форме.) Но это все еще не минимально, как можно определить как альтернативно, может быть определено в терминах в аналогичной манере, или может быть определено в терминах: Следовательно, каждый двухэлементный набор соединителей, содержащий и один из, является минимальным функционально полным подмножеством .

Формальное определение

При наличии булевой области множество F булевых функций fi: Bni → B функционально полно, если клон на B, генерируемый базовыми функциями fi, содержит все функции f: Bn → B, для всех строго положительных целых чисел n ≥ 1. Другими словами, множество функционально полно, если каждая булева функция, которая принимает по крайней мере одну переменную, может быть выражена с точки зрения функций fi. Поскольку каждая булева функция по крайней мере одной переменной может быть выражена в терминах двоичных булевых функций, F функционально полная, если и только если каждая двоичная булевая функция может быть выражена в терминах функций в F. Более естественным условием будет то, что клон, генерируемый F, будет состоять из всех функций f: Bn → B, для всех целых чисел n ≥ 0. Однако приведенные выше примеры не являются функционально полными в этом более сильном смысле, потому что невозможно написать нулевую функцию, т. е. постоянное выражение, с точки зрения F, если сама F не содержит по крайней мере одной нулевой функции. При таком более строгом определении, самые маленькие функционально полные множества будут иметь 2 элемента. Еще одним естественным условием будет то, что клон, генерируемый F вместе с двумя нулевыми постоянными функциями, будет функционально полным или, эквивалентно, функционально полным в строгом смысле предыдущего пункта. Пример булевой функции, данный 1=S(x, y, z) = z, если 1=x = y и 1=S(x, y, z) = x, в противном случае показывает, что это условие строго слабее, чем функциональная полнота.

В других областях

Помимо логических соединителей (булевых операторов), функциональная полнота может быть введена в других областях. Например, набор обратимых ворот называется функционально полным, если он может выразить каждый обратимый оператор. Входные ворота Фредкина с 3 входами являются функционально полными обратимыми воротами сами по себе единственный достаточный оператор. Существует много других трех входных универсальных логических ворот, таких как Toffoli gate. В квантовых вычислениях ворота Хадамарда и T-ворота являются универсальными, хотя с определением, немного более ограничивающим, чем функциональная полнота.

Теория множеств

Между алгеброй множеств и булевой алгеброй существует изоморфизм, то есть они имеют одну и ту же структуру. Затем, если мы отобразим булевых операторов в операторы множеств, "переведенный" выше текст действителен также для множеств: существует много "минимальных полных множеств операторов теории множеств", которые могут генерировать любые другие отношения множеств. Более популярными являются "Минимальные полные множества операторов" и Если универсальное множество запрещено, операторы множества ограничены сохранением ложности (Ø), и не могут быть эквивалентными функционально полной булевой алгебре.