До сих пор ничего не было сказано о том, что значат переменные, входящие в состав высказывания. В действительности, использование переменных имеет смысл лишь в случае, когда они вводятся с помощью
Исчисление предикатов | Обозначение в книге | Значение |
---|---|---|
∀ν. ρ | all(ν, ρ) | «ρ истинно для всех значений переменной ν» |
∃ν.ρ | exists(ν, ρ) | «существует такое значение переменной ρ, для которого ν истинно» |
Первый из кванторов называется
all(X, мужчина(Х) -› человек(Х))
которая значит, что какое бы значение
Xмы не выбрали, если
Xявляется мужчиной, то тогда
X– человек. Эту формулу можно прочитать так:
exists(Z, отец(джон,2)& женщина(Z)))
значит, что существует объект, обозначаемый
Zтакой, что Джон является отцом
Zи
Z– женщина. Эту формулу можно прочитать так:
all(X, животное(Х) -› exists(Y,мать(X,Y)))
all(X, формула_исчисления_предикатов(Х) ‹-› атомарная_формула(Х) # составная_формула(Х))
10.2. Приведение формул к стандартной форме
Как было показано в предыдущем разделе, формулы исчисления предикатов, записанные с использованием связок -› (импликация) и ‹-› (эквивалентность), могут быть переписаны лишь с использованием связок& (конъюнкция), # (дизъюнкция) и ~ (отрицание). В действительности, существует множество разных форм записи формул, и мы ни в коей мере не принесли бы в жертву выразительность формул, если бы должны были полностью отказаться от использования, например,
#,
-›,
‹-›и
exists(X, P). Как следствие этой избыточности, существуют много различных способов записи одного и того же высказывания. При необходимости выполнять формальные преобразования формул исчисления предикатов это оказывается очень неудобным. Было бы значительно лучше, если бы все, что мы хотим сказать, можно было выразить единственным способом. Поэтому здесь будет рассмотрен способ преобразования формул исчисления предикатов к специальному виду –
Процесс приведения формулы исчисления предикатов к стандартной форме состоит из шести основных этапов.
Процедура начинается с замены всех вхождений -› и ‹-
аll(Х,мужчина(Х) -› человек(Х))
будет преобразована в формулу
аll(Х,~мужчина(Х) # человек(Х))
На этом этапе обрабатываются случаи применения отрицания к формулам, не являющимся атомарными. Если такой случай имеет место, то формула переписывается по соответствующим правилам. Так, например, формула
~(человек (цезарь)& существующий (цезарь))
преобразуется в
~человек(цезарь) # существующий (цезарь)
а
~аll(Х, человек (X))
преобразуется в
exists(Х,~человек(Х))
Преобразования, выполняемые на втором этапе, основаны на следующих фактах:
~(α&β)значит то же самое, что и (~α) # (~β)
~exists(ν,ρ)значит то же самое, что и all(ν,~ρ)
~all(ν,ρ)значит то же самое, что и exists(ν,~ρ)