stringtranslate.com

Оговорка Хорна

В математической логике и логическом программировании предложение Хорна — это логическая формула определенной формы, подобной правилу, которая дает ей полезные свойства для использования в логическом программировании, формальной спецификации , универсальной алгебре и теории моделей . Предложение Хорна названо в честь логика Альфреда Хорна , который первым указал на их значимость в 1951 году. [1]

Определение

Предложение Хорна — это дизъюнктивное предложение ( дизъюнкция литералов ) с максимум одним положительным, т. е. неотрицательным , литералом.

Наоборот, дизъюнкция литералов с максимум одним отрицательным литералом называется предложением Хорна .

Предложение Хорна с ровно одним положительным литералом является определенным предложением или строгим предложением Хорна ; [2] определенное предложение без отрицательных литералов является единичным предложением , [3] а единичное предложение без переменных является фактом ; [4] Предложение Хорна без положительного литерала является целевым предложением . Пустое предложение, не состоящее ни из одного литерала (что эквивалентно false ), является целевым предложением. Эти три вида предложений Хорна проиллюстрированы в следующем пропозициональном примере:

Все переменные в предложении неявно универсально квантифицированы , а областью действия является все предложение. Например:

¬ человек ( X ) ∨ смертный ( X )

означает:

∀X( ¬ человек ( X ) ∨ смертный ( X ) ),

что логически эквивалентно:

∀X ( человек ( X ) → смертный ( X ) ).

Значение

Хорновские предложения играют основную роль в конструктивной логике и вычислительной логике . Они важны в автоматизированном доказательстве теорем с помощью резолюции первого порядка , поскольку резольвента двух хорновских предложений сама по себе является хорновским предложением, а резольвента целевого предложения и определенного предложения является целевым предложением. Эти свойства хорновских предложений могут привести к большей эффективности доказательства теоремы: целевое предложение является отрицанием этой теоремы; см. Целевое предложение в таблице выше. Интуитивно, если мы хотим доказать φ, мы предполагаем ¬φ (цель) и проверяем, приводит ли такое предположение к противоречию. Если это так, то φ должно выполняться. Таким образом, механическому инструменту доказательства необходимо поддерживать только один набор формул (предположений), а не два набора (предположений и (под)целей).

Пропозициональные предложения Хорна также представляют интерес для вычислительной сложности . Проблема поиска присваиваний истинностных значений, чтобы сделать конъюнкцию пропозициональных предложений Хорна истинной, известна как HORNSAT . Эта задача является P-полной и разрешимой за линейное время . [6] Напротив, проблема неограниченной булевой выполнимости является NP-полной задачей.

В универсальной алгебре определенные хорновские предложения обычно называются квазитождествами ; классы алгебр, определяемые набором квазитождеств, называются квазимногообразиями и обладают некоторыми хорошими свойствами более ограниченного понятия многообразия , т. е. эквационального класса. [7] С точки зрения теории моделей хорновские предложения важны, поскольку они являются в точности (с точностью до логической эквивалентности) предложениями, сохраняющимися при редуцированных произведениях ; в частности, они сохраняются при прямых произведениях . С другой стороны, существуют предложения, которые не являются хорновскими, но тем не менее сохраняются при произвольных прямых произведениях. [8]

Логическое программирование

Хорновские предложения также являются основой логического программирования , где принято записывать определенные предложения в форме импликации :

( пд ∧ ... ∧ т ) → у

Фактически, разрешение целевого предложения с помощью определенного предложения для создания нового целевого предложения является основой правила вывода разрешения SLD , используемого при реализации языка логического программирования Prolog .

В логическом программировании определенное предложение ведет себя как процедура сокращения цели. Например, предложение Хорна, написанное выше, ведет себя как процедура:

показать u , показать p и показать q и ... и показать t .

Чтобы подчеркнуть это обратное использование предложения, его часто пишут в обратной форме:

у ← ( пд ∧ ... ∧ т )

На Прологе это записывается так:

и  :-  п ,  д ,  ...,  т .

В логическом программировании — целевое предложение, имеющее логическую форму

X ( ложьpq ∧ ... ∧ t )

представляет собой отрицание проблемы, которую нужно решить. Сама проблема является экзистенциально квантифицированной конъюнкцией положительных литералов:

X ( pq ∧ ... ∧ t )

Нотация Пролога не имеет явных квантификаторов и записывается в виде:

:-  п ,  д ,  ...,  т .

Эта нотация неоднозначна в том смысле, что ее можно читать либо как утверждение проблемы, либо как утверждение отрицания проблемы. Однако оба прочтения верны. В обоих случаях решение проблемы сводится к выводу пустого предложения. В нотации Пролога это эквивалентно выводу:

:-  истинный .

Если предложение цели верхнего уровня читается как отрицание проблемы, то пустое предложение представляет ложь , а доказательство пустого предложения является опровержением отрицания проблемы. Если предложение цели верхнего уровня читается как сама проблема, то пустое предложение представляет истину , а доказательство пустого предложения является доказательством того, что проблема имеет решение.

Решение проблемы заключается в замене терминов на переменные X в целевом предложении верхнего уровня, которое может быть извлечено из доказательства разрешения. При таком использовании целевые предложения аналогичны конъюнктивным запросам в реляционных базах данных , а логика предложения Хорна эквивалентна по вычислительной мощности универсальной машине Тьюринга .

Ван Эмден и Ковальски (1976) исследовали модельно-теоретические свойства предложений Хорна в контексте логического программирования, показав, что каждый набор определенных предложений D имеет уникальную минимальную модель M. Атомарная формула A логически подразумевается D тогда и только тогда, когда A истинно в M. Из этого следует, что проблема P, представленная экзистенциально квантифицированной конъюнкцией положительных литералов, логически подразумевается D тогда и только тогда, когда P истинно в M. Минимальная модельная семантика предложений Хорна является основой для стабильной модельной семантики логических программ. [9]

Смотрите также

Примечания

  1. Хорн 1951.
  2. ^ Маковски 1987.
  3. ^ Басс 1998.
  4. ^ Лау и Орнаги 2004.
  5. ^ Как и в доказательстве теоремы о разрешении , «показать φ» и «предположить ¬φ» являются синонимами ( косвенное доказательство ); они оба соответствуют одной и той же формуле, а именно ¬φ.
  6. ^ Доулинг и Галлиер 1984.
  7. ^ Беррис и Санкаппанавар 1981.
  8. ^ Чанг и Кейслер 1990, Раздел 6.2.
  9. ^ Ван Эмден и Ковальски 1976.

Ссылки