В логике и универсальной алгебре решетка Поста обозначает решетку всех клонов на двухэлементном множестве {0, 1}, упорядоченном по включению . Она названа в честь Эмиля Поста , который опубликовал полное описание решетки в 1941 году. [1] Относительная простота решетки Поста резко контрастирует с решеткой клонов на трехэлементном (или большем) множестве, которое имеет мощность континуума и сложную внутреннюю структуру. Современное изложение результата Поста можно найти в Lau (2006). [2]
и если заданы m -арная функция f и n- арная функции g 1 , ..., g m , мы можем построить еще одну n -арную функцию
называется их композицией . Набор функций, замкнутый относительно композиции и содержащий все проекции, называется клоном .
Пусть B — набор связок. Функции, которые можно определить формулой с использованием пропозициональных переменных и связок из B, образуют клон [ B ], на самом деле это наименьший клон, который включает B. Мы называем [ B ] клон, созданный B , и говорим, что B является базисом [ B ]. Например, [¬, ∧] — все булевы функции, а [0, 1, ∧, ∨] — монотонные функции.
Например, thн 1является большой дизъюнкцией всех переменных x i , и thн нэто большое соединение. Особое значение имеет функция большинства
Мы обозначаем элементы 2 n (т.е. истинностные назначения) как векторы: a = ( a 1 , ..., a n ) . Множество 2 n несет в себе естественную структуру булевой алгебры произведения . То есть, упорядочение, встречи, соединения и другие операции над n -арными истинностными назначениями определяются поточечно:
Именование клонов
Пересечение произвольного числа клонов снова является клоном. Удобно обозначать пересечение клонов простым сопоставлением, т. е. клон C 1 ∩ C 2 ∩ ... ∩ C k обозначается как C 1 C 2 ... C k . Некоторые специальные клоны представлены ниже:
M = [∧, ∨, 0, 1] — множество монотонных функций: f ( a ) ≤ f ( b ) для любого a ≤ b .
D = [maj, ¬] — множество самодвойственных функций: ¬ f ( a ) = f (¬ a ) .
A = [↔, 0] — множество аффинных функций: функции, удовлетворяющие
для каждого i ≤ n , a , b ∈ 2 n и c , d ∈ 2. Эквивалентно, функции, выражаемые как f ( x 1 , ..., x n ) = a 0 + a 1 x 1 + ... + a n x n для некоторых a 0 , a .
U = [¬, 0] — это множество по существу унарных функций, т. е. функций, которые зависят не более чем от одной входной переменной: существует i = 1, ..., n такое, что f ( a ) = f ( b ) всякий раз, когда a i = b i .
Λ = [∧, 0, 1] — множество конъюнктивных функций: f ( a ∧ b ) = f ( a ) ∧ f ( b ) . Клон Λ состоит из конъюнкций для всех подмножеств I из {1, ..., n } (включая пустую конъюнкцию, т. е. константу 1), и константу 0.
V = [∨, 0, 1] — множество дизъюнктивных функций: f ( a ∨ b ) = f ( a ) ∨ f ( b ) . Эквивалентно, V состоит из дизъюнкций для всех подмножеств I из {1, ..., n } (включая пустую дизъюнкцию 0) и константы 1.
Для любого k ≥ 1, Тк 0= [йк+2 к+1, ↛] — множество функций f таких, что
Более того, = [↛] — множество функций, ограниченных сверху переменной: существует i = 1, ..., n такое, что f ( a ) ≤ a i для всех a .
В частном случае P 0 = T1 0= [∨, +] — множество функций , сохраняющих 0 : f ( 0 ) = 0. Кроме того, ⊤ можно рассматривать как T0 0если принять во внимание пустое место.
Для любого k ≥ 1, Тк 1= [йк+2 к+1, →] — это множество функций f, таких что
и = [→] — множество функций, ограниченных снизу переменной: существует i = 1, ..., n такое, что f ( a ) ≥ a i для всех a .
Частный случай P 1 = T1 1= [∧, →] состоит из 1-сохраняющих функций: f ( 1 ) = 1. Кроме того, ⊤ можно рассматривать как T0 1если принять во внимание пустое соединение.
Наибольший клон всех функций обозначается ⊤ = [∨, ¬], наименьший клон (содержащий только проекции) обозначается ⊥ = [], а P = P 0 P 1 = [ x ? y : z ] является клоном функций, сохраняющих константы .
Восемь бесконечных семейств на самом деле также имеют элементы с k = 1, но они появляются в таблице отдельно: T 0 1 = P 0 , T 1 1 = P 1 , PT 0 1 = PT 1 1 = P , MT 0 1 = MP 0 , MT 1 1 = MP 1 , MPT 0 1 = MPT 1 1 = MP .
Решетка имеет естественную симметрию, отображающую каждый клон C в его дуальный клон C d = { f d | f ∈ C }, где f d ( x 1 , ..., x n ) = ¬ f (¬ x 1 , ..., ¬ x n ) — это дуальная по де Моргану функция булевой функции f . Например, Λ d = V , (T 0 k ) d = T 1 k , и M d = M .
Приложения
Полная классификация булевых клонов, данная Постом, помогает решать различные вопросы о классах булевых функций. Например:
Проверка решетки показывает, что максимальные клоны, отличные от ⊤ (часто называемые классами Поста ), — это M, D, A, P 0 , P 1 , и каждый собственный подклон ⊤ содержится в одном из них. Поскольку множество связок B функционально полно тогда и только тогда, когда оно порождает ⊤, мы получаем следующую характеристику: B функционально полно тогда и только тогда, когда оно не включено ни в один из пяти классов Поста.
Проблема выполнимости для булевых формул является NP-полной по теореме Кука . Рассмотрим ограниченную версию проблемы: для фиксированного конечного множества B связок пусть B -SAT будет алгоритмической проблемой проверки выполнимости заданной B -формулы. Льюис [4] использовал описание решетки Поста, чтобы показать, что B -SAT является NP-полной, если функция ↛ может быть сгенерирована из B (т.е. [ B ] ⊇ T 0 ∞ ), а во всех остальных случаях B -SAT разрешима за полиномиальное время .
Варианты
Клоны, требующие постоянных функций
Если рассматривать только клоны, которые должны содержать постоянные функции, то классификация становится намного проще: таких клонов всего 7: UM, Λ, V, U, A, M и ⊤. Хотя это можно вывести из полной классификации, есть и более простое доказательство, занимающее меньше страницы. [5]
Клоны, допускающие нулевые функции
Композиция сама по себе не позволяет генерировать нулевую функцию из соответствующей унарной константной функции, это техническая причина, по которой нулевые функции исключены из клонов в классификации Поста. Если мы снимем ограничение, мы получим больше клонов. А именно, каждый клон C в решетке Поста, который содержит хотя бы одну константную функцию, соответствует двум клонам в рамках менее ограничительного определения: C и C вместе со всеми нулевыми функциями , унарные версии которых есть в C.
Итеративные системы
Первоначально Пост работал не с современным определением клонов, а с так называемыми итеративными системами , которые представляют собой наборы операций, замкнутые относительно подстановки.
а также перестановка и идентификация переменных. Главное отличие в том, что итеративные системы не обязательно содержат все проекции. Каждый клон является итеративной системой, и существует 20 непустых итеративных систем, которые не являются клонами. (Пост также исключил пустую итеративную систему из классификации, поэтому его диаграмма не имеет наименьшего элемента и не является решеткой.) В качестве другой альтернативы некоторые авторы работают с понятием замкнутого класса , который является итеративной системой, замкнутой относительно введения фиктивных переменных. Существует четыре замкнутых класса, которые не являются клонами: пустое множество, множество функций константы 0, множество функций константы 1 и множество всех функций константы.
Ссылки
^ EL Post, Двузначные итеративные системы математической логики , Annals of Mathematics studies, № 5, Princeton University Press, Принстон, 1941, 122 стр.
^ Д. Лау, Функциональные алгебры на конечных множествах: Базовый курс по многозначной логике и теории клонов , Springer, Нью-Йорк, 2006, 668 стр. ISBN 978-3-540-36022-3
^ Йозеф Мария Бохенский (1959), ред., Альберт Менне, ред. и перевод, Отто Берд, Precis of Mathematical Logic , Нью-Йорк: Гордон и Брич, часть II, «Логика предложений», раздел 3.23, «'N p ,'» раздел 3.32, «16 диадических функторов истины», стр. 10-11.
^ HR Lewis , Проблемы выполнимости для пропозициональных исчислений , Математическая теория систем 13 (1979), стр. 45–53.