Опубликован: 24.04.2007 | Доступ: свободный | Студентов: 722 / 35 | Оценка: 4.60 / 4.30 | Длительность: 25:56:00
Специальности: Программист
Лекция 9:

Исчисление предикатов

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Аннотация: Рассматривается исчисление, аналогичное исчислению высказываний, для формул первого порядка, аксиомы, правила вывода, области действия формул, вопросы корректности

Общезначимые формулы

Исчисление высказываний ( "Исчисление высказываний" ) позволяло выводить все тавтологии из некоторого набора базисных тавтологий (названных аксиомами) с помощью некоторых правил вывода (на самом деле единственного правила modus ponens). Сейчас мы хотим решить аналогичную задачу для формул первого порядка. Соответствующее исчисление называется исчислением предикатов.

Пусть фиксирована некоторая сигнатура \sigma. Формула \varphi этой сигнатуры (возможно, с параметрами) называется общезначимой, если она истинна в любой интерпретации сигнатуры \sigma на любой оценке.

Общезначимые формулы в логике предикатов играют ту же роль, что тавтологии в логике высказываний. Между ними есть и формальная связь: если взять любую тавтологию и вместо входящих в нее пропозициональных переменных подставить произвольные формулы сигнатуры \sigma, получится общезначимая формула. В самом деле, пусть есть некоторая интерпретация сигнатуры \sigma и некоторая оценка (то есть фиксированы значения индивидных переменных). Тогда каждая из подставленных формул станет истинной или ложной, а значение всей формулы определяется с помощью таблиц истинности для логических связок, то есть по тем же правилам, что в логике высказываний.

Конечно, бывают и другие общезначимые формулы, не являющиеся частным случаями пропозициональных тавтологий. Например, формула

\forall x\, A(x) \to \exists y A(y)
общезначима (здесь существенно, что носитель любой интерпретации непуст). Другие примеры общезначимых формул (во втором случае \varphi — произвольная формула):
\exists y\, \forall x\, B(x,y)\to
\forall x\, \exists y\, B(x,y),\qquad
\lnot\forall x\,\lnot \varphi \to \exists x\, \varphi.

87. Будет ли общезначима формула (а) \forall x\, \exists y\, B(x,y)\hm\to\exists y\,\forall x\,
B(x,y) ; (б) \lnot\forall x\, \exists y\, B(x,y)\to\exists x\,\forall y\, \lnot
B(x,y)?

Многие вопросы можно сформулировать как вопросы об общезначимости некоторых формул. Например, можно записать свойства рефлексивности, транзитивности и антисимметричности в виде формул R, T и A сигнатуры ({=},{<G}) и затем написать формулу

R \land T \land A \to \exists x \,\forall y\, ((y<x)\lor (y=x)).
Общезначимость этой формулы означала бы, что любое линейно упорядоченное множество имеет наибольший элемент, так что она не общезначима.

88. Напишите формулы R,T,A и проверьте, что приведенная нами формула не общезначима, хотя истинна во всех конечных интерпретациях.

89. Известно, что формула истинна во всех конечных и счетных интерпретациях. Можно ли из этого заключить, что она общезначима? (Указание: воспользуйтесь теоремой Левенгейма-Сколема об элементарной подмодели.)

Две формулы \varphi и \psi (с параметрами или без) называются эквивалентными, если в любой интерпретации и на любой оценке, на которой истинна одна из них, истинна и другая. Это определение равносильно такому: формула \varphi\hm\leftrightarrow\psi общезначима. Здесь, напомним, \varphi\leftrightarrow\psi есть сокращение для ((\varphi\to\psi)\land(\psi\to\varphi)).

Общезначимость любой формулы \varphi очевидно равносильна общезначимости ее замыкания — формулы, которая получится, если слева к \varphi приписать кванторы всеобщности по всем параметрам.

Двойственное к общезначимости понятие — выполнимость. Формула называется выполнимой, если она истинна в некоторой интерпретации на некоторой оценке. Очевидно, формула \varphi общезначима тогда и только тогда, когда формула \lnot\varphi не является выполнимой.

90. Закончите утверждение: выполнимость формулы с параметрами равносильна выполнимости замкнутой формулы, которая получится, если\, \ldots

Чтобы проверить, является ли формула тавтологией, достаточно подставить в нее все возможные наборы значений переменных. Хотя этот процесс может быть на практике невыполним (наборов слишком много), теоретически мы имеем простой алгоритм проверки, является ли формула тавтологией. Для общезначимых формул в общем случае такого алгоритма не существует (теорема Черча; ее доказательство можно прочесть в [5]); он есть только для очень ограниченных классов формул. Например, если сигнатура содержит только нульместные предикатные символы, то задача по существу сводится к проверке тавтологичности (в этом случае кванторы фиктивны). Чуть более сложен случай с одноместными предикатами.

91. Пусть сигнатура \sigma содержит только одноместные предикаты. Докажите, что всякая выполнимая формула этой сигнатуры, содержащая n различных предикатов, выполнима в некоторой конечной интерпретации, содержащей не более 2^n элементов. Как использовать этот факт для алгоритмической проверки выполнимости формул такой сигнатуры?

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >