
- •4. Теории первого порядка
- •4.1. Термы и предикаты
- •4.2. Язык логики предикатов
- •Аксиомы кванторов
- •Аксиомы равенства
- •4.3. Семантика языка логики предикатов
- •4.4. Модели теории первого порядка
- •4.5. Компактность и полнота языка первого порядка
- •4.6. Упрощение формул
- •4.7. Метод резолюций Робинсона
- •5. Нечеткая логика
- •5.1. Нечеткие множества
- •5.2. Логические операции
- •X (a b), если и только если X a b.
- •5.3. Нечеткие отношения
- •5.4. Пропозициональная нечёткая логика
- •5.5. Вывод с нечёткими посылками
- •4. Теории первого порядка 26
- •5. Нечеткая логика 42
-
Аксиомы предложений: всякая формула языка L, которая может быт получена из некоторой тавтологии исчисления высказываний K (описанного в разд. 3 с помощью аксиом К1 – К10) в результате подстановки формул языка L на место высказывательных символов, есть логическая аксиома языка L. Всякая такая формула называется тавтологией языка первого порядка L.
-
Аксиомы кванторов
-
если и – формулы языка L, то имеют место следующие аксиомы:
(x ( )) ( x ), если х не входит свободно в ;
(x ( )) (( x ) ), если х не входит свободно в ;
-
для каждой формулы (х) и терма t, свободного для x, имеют место кванторные аксиомы:
х (х) (t);
(t) х (х).
-
Аксиомы равенства
t = t для любого терма t;
(t = s) & (t) (s), для любых формул (х) и термов s, t, для которых х свободна в , а s и t свободны для х (здесь (t) означает формулу (x/t)).
Правила вывода
(MP) Из формул и выводится (Modus Ponens).
(Gen) Из формулы выводится x (правило обобщения).
Таким образом, определена формальная теория, (разд.3.4), в которой есть формулы, аксиомы и правила вывода. Эта теория называется исчислением предикатов L.
Запись:
означает, что существует вывод формулы
из логических
аксиом и формул из множества .
Если
,
то – теорема
исчисления предикатов L. Множество
называется противоречивым, если
для каждой формулы
языка L существует вывод:
.
В противном случае
называется непротиворечивым.
Предложение
называется непротиворечивым,
если множество {}
непротиворечиво. Множество формул
называется максимально непротиворечивым,
если оно не является собственным
подмножеством некоторого непротиворечивого
множества.
Легко доказать следующие свойства непротиворечивых множеств:
1) Множество непротиворечиво, если и только если каждое его конечное подмножество непротиворечиво.
2) Пусть
– предложение. Тогда множество
{}
противоречиво, если и только если
.
3) Пусть – максимально непротиворечивое множество. Тогда для любых предложений и имеет место:
-
, если и только если ;
-
, если и только если ;
-
( & ) , если и только если и ;
4) Каждое непротиворечивое множество предложений содержится в некотором максимальном непротиворечивом множестве предложений.
Теорема
(о непротиворечивости исчисления
предикатов). Нет формул
исчисления предикатов L, для которых
существуют выводы:
и
.
Доказательство. Каждой формуле поставим в соответствие формулу h() исчисления высказываний K, множество символов P которого состоит из предикатов RL. Формулу h() определим по индукции:
-
для атомных формул;
-
,
,
,
,
для любых формул
;
-
h(x) = h(), h(x) = h().
Для всякой
логической аксиомы
формула h() будет
тавтологией в K. Если бы для некоторой
формулы существовали
выводы
и
,
то формулы h() и h()
были бы тавтологиями в исчислении
высказываний. Поскольку исчисление
высказываний непротиворечиво, это
невозможно. Стало быть, нет формул ,
для которых существуют выводы:
и
.
4.3. Семантика языка логики предикатов
Моделью
А языка L первого порядка
называется пара, состоящая из множества
А, называемого универсумом, и
функции
,
сопоставляющей
-
каждому символу константы c L некоторый элемент
;
-
каждому символу n-арной операции f из L функцию
;
-
каждому предикатному символу R из L отношение
.
Символ «=»
интерпретируется как логический символ,
такой, что
.
Пример 1
Пусть L = {R}
состоит из одного предикатного символа,
и пусть #(R) = 2. Модель языка L задаётся
как пара A = (A, ),
состоящая из множества А и отношения
,
равного
.
Такую модель можно представить как
ориентированный граф, вершинами которого
являются элементы из А, а рёбрами – пары
(a, b) .
Произвольное множество с отношением
порядка будет моделью этого языка, если
положить
.
Пример 2
Полугруппой
называется множество А вместе с бинарной
операцией
,
удовлетворяющей закону ассоциативности
a(bc)
= (ab)c,
для всех a, b, c A.
Полугруппа вместе с элементом e
A, удовлетворяющим для всех a
A соотношениям
ea
= ae = a, называется
моноидом. Моноид, в котором для
каждого a A задан
такой элемент
,
что
,
называется группой. Язык теории
полугрупп
L = {}
состоит из одного элемента, #()
= 2. Язык теории моноидов
состоит из символов бинарной операции
и константы. Язык теории групп
состоит из символов бинарной и унарной
операций и из символа константы. Множество
действительных чисел R вместе с аддитивными
операциями (R, +, -x, 0) будет моделью языка
теории групп. Символы интерпретируются
следующим образом:
.
Моделью языка
теории групп будет также множество
положительных действительных чисел с
мультипликативными операциями
).
Множество натуральных чисел
можно рассматривать как линейно
упорядоченный моноид, если определить
язык теории линейно упорядоченных
моноидов как L = {+, 0, }.
Модели языка теории групп могут не удовлетворять закону ассоциативности и другим формулам, определяющим группу. Наша задача – дать формальное определение истинности предложений в модели А языка первого порядка. Будем записывать выполнение формулы в модели А, как А |= . Например:
(R, +, 0) |= x y (xy = e)
будет верно, поскольку для каждого a R существует такой b R, что a + b = 0.
Обычно не для
всякого элемента модели существует
символ константы, обозначающий этот
элемент. Предположим, однако, что для
каждого a A существует
такой символ константы
в языке L, что
.
Интерпретацию операций можно расширить
на термы, не содержащие переменных, с
помощью преобразования:
.
Каждому терму
t без переменных будет соответствовать
элемент
.
Определим отношение |= («удовлетворяет
формуле») по индукции:
-
A |= R
, если
-
A |= , если и только если утверждение A |= ложно;
-
A |= ( ), если и только если A |= или A |= ;
-
A |= x (x), если и только если существует такой b A, что A |= (
).
Определим теперь
A |= для произвольных
языка L и модели А этого языка. Пусть
,
где
– символы констант. Обозначим через
модель языка
,
полученную из модели A сопоставлением
каждому
элемента a.
Заметим, что
поскольку x (x)
равносильно x
((x)), то A |= x(x)
тогда и только тогда, когда для всех b
A верно A |= ().
Если
– предложение языка L, то положим: A |= ,
если и только если
|= .
Пример 3
Пусть L = {, e, R} – язык теории частично упорядоченных моноидов. Рассмотрим модель N = (, +, 0, ). Справедливость утверждения:
(,
+, 0, ) |=
равносильна выполнению стоящего
в правой части равенства предложения
для модели
языка
.
Предложение означает, что для любых
p,
q, r
верно
,
интерпретируемое как
.
Замечание. Альфред Тарский был первым, ясно осознавшим необходимость определения истинности предложения для модели. Он предложил следующий метод, отличный от рассматриваемого нами.
Пусть А – модель
языка первого порядка L. Рассмотрим
произвольную функцию
.
Будем называть её А-оценкой и
представлять в виде бесконечной
последовательности
,
i-й член которой является значением
переменной
,
даваемой оценкой .
Определяется оценка (t)
для каждого терма:
-
если t есть переменная
, то
;
-
если t есть константа с, то
;
-
если t есть n-арная операция, то
.
Выполнение формулы в модели А при оценке записывается как A |= [] и определяется по индукции:
-
A |=
, если и только если (
);
-
A |= [], если и только если A |= [] ложно;
-
A |= ( )[], если и только если A |= [] или A |= [].
-
A |=
(
)[], если и только если выполнена хотя бы на одной последовательности
, отличной от не более чем в одной i-й компоненте
Наконец, модель А называется удовлетворяющей формуле , если A |= [] для всякой оценки .
Возвращаясь к нашему первоначальному определению, отметим следующее утверждение, доказательство которого ясное, но громоздкое:
Пусть
– языки первого порядка. Для любой
модели А языка
обозначим через
множество А, рассматриваемое как модель
языка
.
Тогда для любого предложения
языка
утверждение A |=
истинно, если и только если
|= .