Дизъюнктное объединение
- 1 year ago
- 0
- 0
Хорновский дизъюнкт — дизъюнктивный одночлен с не более чем одним положительным литералом . Изучены ( англ. ) в 1951 году в связи с их важной ролью в теории моделей и универсальной алгебре . Впоследствии стали основой для языка логического программирования Пролог , в котором программа являются непосредственно набором хорновских дизъюнктов, а также нашли важные приложения в конструктивной логике и теории сложности вычислений .
Для положительных литералов хорновские дизъюнкты могут иметь один из следующих видов :
Дизъюнкт Хорна с ровно одним положительным литералом есть определённый дизъюнкт ; в универсальной алгебре определённые дизъюнкты являются квазитождествами . Дизъюнкт Хорна без положительных литералов иногда называется целью или запросом, в частности в логическом программировании . Формула Хорна — конъюнкция дизъюнктов Хорна, то есть формула в конъюнктивной нормальной форме , все дизъюнкты которой являются хорновскими. Двойственным хорновским дизъюнктом называют дизъюнкцию с не более чем одним отрицательным литералом.
Пример (определённого) дизъюнкта Хорна:
Эта формула может быть преобразована в эквивалентную формулу с импликацией :
или :
Хорновские дизъюнкты могут быть пропозициональными формулами, либо формулами первого порядка , в зависимости от того, рассматриваются ли пропозициональные литералы или литералы первого порядка.
Дизъюнкты Хорна связаны с доказательством теорем через резолюции первого порядка , так как резолюция двух хорновских дизъюнктов является хорновским дизъюнктом. Кроме того, резолюция цели и определённого дизъюнкта также является хорновским дизъюнктом. В автоматическом доказательстве теорем , это может давать большую эффективность в доказательстве теоремы, представленной в виде цели.
Резолюция цели с определённым дизъюнктом для получения новой цели является основной для правила вывода в , используемого для реализации логического программирования и языка программирования Пролог . В логическом программировании определённый дизъюнкт используется как процедура редукции цели. Например, дизъюнкт из примера выше работает как процедура: «чтобы показать , показать , , и ».
Чтобы подчеркнуть это обратное применение дизъюнкта, часто используется оператор :
На Прологе это записывается в виде:
u :- p, q, ..., t.
Пропозициональные дизъюнкты Хорна также представляют интерес для теории сложности вычислений , где задача HORNSAT поиска множества истинностных значений, выполняющих конъюнкцию дизъюнктов Хорна, является . Это вариант из класса P для SAT — важнейшей NP-полной задачи. Задача выполнимости дизъюнктов Хорна первого порядка не разрешима.