Тема 3. формальные аксиоматические теории
(ИСЧИСЛЕНИЯ)
Принципы построения формальных теорий
Формальная аксиоматическая теория считается заданной, если заданы:
1. Символы. Задано некоторое счетное множество символов теории.
2. Формулы. Определено некоторое множество формул, или правильно построенных выражений. Формулы задают язык теории.
2. Аксиомы. Выделяется множество формул, называемых аксиомами теории. Это множество может быть как конечным, так и бесконечным.
4. Правила вывода. Задаются правила вывода как некоторые отношения на множестве формул. Если формулы A1, A2, …, Ak, B находятся в отношении R, то формула B называется непосредственно выводимой из A1, A2, …, Ak по правилу R. Это часто записывается следующим образом: .
Выводом формулы B из множества формул Г = {A1, A2, …, An} называется последовательность формул B1, B2, …, Bm , такая, что Bm есть B, и для любого i, i = 1, 2, …, m, Bi – либо аксиома, либо формула из Г, либо непосредственно выводима из предыдущих формул. B1, B2, …, Bi – 1. Это обозначается так: Г ├ B (B есть следствие Г) или A1, A2, …, An ├ B. Формулы A1, A2, …, An называются допущениями или гипотезами, про формулу B говорят, что она выводима из A1, A2, …, An.
Если Г – пустое множество, то A – теорема, а ее вывод называется доказательством. В этом случае пишут ├ A.
Во всякой формальной теории существуют три проблемы, связанные с системой аксиом:
1) проблема непротиворечивости;
2) проблема независимости;
3) проблема полноты.
Для того, чтобы доказать, что система аксиом непротиворечива, необходимо и достаточно доказать, что какова бы ни была формула F, выводимая в рассматриваемой теории, формула F не является выводимой в этой теории.
Доказательство независимости системы аксиом состоит в доказательстве невыводимости никакой из аксиом системы из других аксиом.
Проблема полноты состоит в доказательстве следующего факта. Какова бы ни была аксиома, не содержащаяся среди аксиом данной теории, добавление ее к исходной системе приводит к тому, что расширенная система аксиом становится противоречивой.
Исчисление высказываний
В соответствии с общими принципами построения формальных систем (исчислений) исчисление высказываний определяется следующим образом.
1 Символы исчисления высказываний включают в себя: а) знаки логических операций Ø, É; б) буквы Xi с целыми положительными индексами i; в) скобки и запятую – ( , ).
2. Формулами исчисления высказываний являются:
а) все переменные Xi;
б) если A и B – формулы, то ØA – формула и A É B – формула.
Хотя для исчисления высказываний выбраны только два логических символа Øи É и только два типа формул ØA и A É B, можно с помощью следующих известных равносильностей ввести и другие логические символы и формулы:
A & B º Ø(A É ØB);
A Ú B º ØA É B;
A ~ B º Ø(( A ÉB) É Ø( B É A )).
3. Аксиомы исчисления высказываний. Существуют различные системы аксиом исчисления высказываний, обладающие свойствами непротиворечивости, независимости и полноты. Будем использовать следующую систему аксиом:
А1. A É (B É A);
А2. (A É (B É C)) É ((A É B) É (A É C));
А3. (ØB É ØA) É ((ØB É A) ÉB).
Непосредственной проверкой можно убедиться, что аксиомы есть тождественно-истинные формулы. Например, для аксиомы А1:
A É (B É A) º ØA Ú ØB Ú A º И.
4. Правило вывода в исчислении высказываний одно – modus ponens (m. p.) – правило заключения:
, или A, AÉB ├ B.
Аксиомы исчисления высказываний являются формулами. Аксиомы и формулы можно рассматривать как схемы, так что любую входящую в них переменную можно заменять формулами.
Пример 3.1.
Если в правиле modus ponens переменную B заменить формулой A&B, получим правило вывода
.
Всякую выведенную в исчислении высказываний формулу можно рассматривать как правило вывода, которое может быть присоединено к уже имеющимся правилам.
Вывод формулы представляет собой последовательность формул, сопровождаемых указаниями, является ли данная формула гипотезой, аксиомой или получена из других формул по некоторому правилу вывода. Принято вначале выписать все гипотезы и слева указывать номер шага вывода.
Пример 3.2.
Построим вывод формулы A ├ B ÉA.
(1) A – гипотеза;
(2) A É (B É A) – аксиома А1;
(3) B É A – из (1) и (2) по m. p.
Очевидно, что любую равносильную формулу можно рассматривать как правило вывода. Например, закон де Моргана может быть представлен как следующее правило вывода: . Равносильность A É B º ØB É ØA порождает закон контрапозиции: .
С учетом сказанного перечислим правила вывода исчисления высказываний.
1. Введение конъюнкции: .
2. Удаление конъюнкции: и .
3. Отрицание конъюнкции: .
4. Введение дизъюнкции: и .
5. Удаление дизъюнкции: и .
6. Отрицание дизъюнкции: .
7. Введение импликации: .
8. Удаление импликации: (m. p.) и .
9. Отрицание импликации: .
10. Введение эквивалентности: .
11. Удаление эквивалентности: и .
12. Введение отрицания: .
13. Удаление отрицания: .
14. Закон контрапозиции: .
Для построения выводов в исчислении высказываний полезной оказывается следующая теорема.
Теорема дедукции (без доказательства). Пусть Г – множество формул, A и B – формулы, и имеет место вывод: Г, A ├ B. Тогда имеет место следующий вывод: Г ├ A É B.
Таким образом, если нужно вывести формулу вида A É B из множества формул (возможно, пустого), можно использовать дополнительное допущение A.
Важным следствием теоремы дедукции является правило силлогизма (дается без доказательства):
Правило силлогизма (транзитивный вывод).
A ÉB, B ÉC ├AÉC.
Рассмотрим примеры построения вывода в исчислении высказываний.
Пример 3.3.
а) Обосновать вывод A É (B É C), A&B ├ C.
(1) A É (B É C) – гипотеза;
(2) A&B – гипотеза;
(3) A – из (2) и правила удаления конъюнкции;
(4) B É C – из (1), (3) и m. p.
(5) B – из (2) и правила удаления конъюнкции;
(6) C – из (4), (5) и m. p.
б) Обосновать правильность следующего рассуждения, построив вывод:
Если число целое, то оно рациональное, Если число рациональное, то оно действительное. Число целое. Значит, оно действительное.
Сначала формализуем наше рассуждение, введя следующие высказывания:
A = “число целое”.
B = “число рациональное”.
C = “число действительное”.
Нужно построить следующий вывод: A É B, B É C, A ├ C.
Построим этот вывод.
(1) A É B – гипотеза;
(2) B É C – гипотеза;
(3) A – гипотеза;
(4) A É C – из (1) и (2) по правилу силлогизма;
(5) C – из (3) и (4) по m. p.
в) Обосновать правильность следующего рассуждения, построив вывод:
Если бы Иван был умнее Петра, он решил бы эту задачу. Иван не решил эту задачу. Значит, он не умнее Петра.
Формализуем наше рассуждение, введя следующие высказывания:
A = “Иван умнее Петра”.
B = “Иван решил эту задачу”.
Построим следующий вывод: A É B, ØB ├ ØA.
(1) A É B – гипотеза;
(2) ØB – гипотеза;
(3) ØB É ØA – из (1) по закону контрапозиции;
(4) ØA – из (3) и (2) по m. p.
Исчисление предикатов
Исчисление предикатов определяется следующим образом.
1. Символы исчисления предикатов включают в себя: а) символы предметных переменных x1, x2,…, xn, …; б) символы предметных констант a1, a2,…, an, …; в) символы или имена предикатов A , A ,…A , …; г) символы или имена функций f , f ,…f , …; д) знаки логических операций Ø, É; е) символы кванторов ", $ ; ж) скобки и запятую – ( , ) ,.
Верхние индексы указывают число аргументов, а нижние индексы служат для обычной нумерации.
2. Понятие формулы исчисления предикатов определяется в два этапа [4].
1) Термы:
а) предметные переменные x1, x2,…, xn, ... и константы a1, a2,…, an, …;
б) если fn – имя функции, а t1, t2,…, tn – термы, то fn(t1, t2,…, tn) – тоже терм.
2) Формулы:
а) если An – имя предиката, а t1, t2,…, tn – термы, то An(t1, t2,…, tn) – формула; все вхождения переменных в формулу An(t1, t2,…, tn) являются свободными;
б) если A(x) – формула, содержащая свободное вхождение переменной x, то выражения с кванторами "xA(x), $xA(x) – формулы;
в) если A и B – формулы, то ØA, AÉB – формулы, в которых свободные переменные формул A и B остаются свободными, а связанные переменные формул A и B остаются связанными.
Так же, как и в исчислении высказываний, можно ввести знаки других логических операций (&, Ú, ~), используя соответствующие равносильности.
Введение в исчисление предикатов термов расширяет правила образования формул, так как предметные переменные в элементарных предикатах могут быть заменены термами.
Подстановка терма y в формулу A(x) называется правильной, если и только если:
а) y является предметной константой;
б) у является предметной переменной, и все вхождения y, полученные в результате подстановки, оказываются свободными в полученной в результате подстановки формуле. Например, в формулу "y(P(x, y) É Q(x)) вместо x можно подставить либо константу a: "y(P(a, y) É Q(a)), либо переменную z: "y(P(z, y) É Q(z)), но нельзя подставить переменную y, так как после подстановки получим формулу: "y(P(y, y) É Q(y)), в которой переменная y оказывается связанной.
3. Аксиомы исчисления предикатов.
А1. A É (B É A).
А2. (A É (B É C)) É ((A É B) É (A É C)).
А3. (ØB É ØA) É ((ØB É ØA) ÉB).
А4. "xA(x) É A(y), где формула A(x) не содержит переменной y.
А5. A(x) É $yA(y), где формула A(x) не содержит переменной y.
4. Правил вывода в исчислении предикатов четыре:
П1 – modus ponens (m. p.) – правило заключения:
;
П2 – правило связывания квантором общности:
, где формула B не содержит переменной x;
П3– правило связывания квантором существования:
, где формула B не содержит переменной x;
П4 – правило переименования связанной переменной. Связанную переменную в формуле A можно заменить (в кванторе и во всех вхождениях в области действия квантора) другой переменной, не являющейся свободной в A. Например, для формулы "xF(x) É $xG(x) применяя правило переименования, получим формулу "yF(y) É $zG(z).
Для правил П2 и П3 условие, что формула B не содержит переменной x, является существенным. Это подтверждает следующий пример.
Пример 3.4.
Даны два предиката: B(x) = "x делится на 6"; A(x) = "x делится на 3".
Тогда B(x) É A(x) = "Если x делится на 6, то x делится на 3" = И для всех x.
Однако B(x) É "xA(x) = "Если x делится на 6, то все x делятся на 3" не всегда истинно. Таким образом, применение правила П2 неправомерно, если B зависит от x.
Если же к формуле B(x) É A(x) применить правило П3, то получим $xB(x) É A(x). После применения правила П2 получим $xB(x) É "xA(x) = "Если некоторые x делится на 6, то все x делятся на 3" = Л. Таким образом, применение правила П3 также неправомерно, если B зависит от x.
Для исчисления предикатов верны правила вывода 1 – 14 исчисления высказываний (раздел 3.2).
Дополнительные правила вывода для исчисления предикатов следующие:
1. Введение квантора общности: , где A(y) – результат правильной подстановки переменной y вместо x в A(x).
2. Удаление квантора общности: , где A(y) – результат правильной подстановки терма y вместо x в A(x).
3. Отрицание квантора общности: .
4. Введение квантора существования: , где A(y) – результат правильной подстановки терма y вместо x в A(x).
5. Удаление квантора существования: , где A(x) – результат правильной подстановки переменной x вместо y в A(y).
6. Отрицание квантора существования: .
Верна также теорема дедукции. Если Г – множество формул, A и B – формулы, и Г, A B. Тогда Г A É B.
Сформулируем без доказательства важные утверждения для исчисления предикатов
Теорема 3.1. Аксиомы исчисления предикатов – общезначимые формулы.
Теорема 3.2. Любая выводимая в исчислении предикатов формула является общезначимой.
Пример 3.5.
Обосновать правильность рассуждения, построив вывод.
а) Всякое нечетное натуральное число является разностью квадратов двух натуральных чисел. 5 – натуральное число. Следовательно, 5 – разность квадратов двух натуральных чисел
Пусть M – множество натуральных чисел. Введем предикаты:
A(x) = “x – нечетное число”.
B(x) – “x – разность квадратов двух чисел”.
Требуется построить вывод:
"x(A(x) É B(x)), A(5) ├ B(5).
Построим вывод.
(1) "x(A(x) É B(x)) – гипотеза;
(2) A(5) – гипотеза;
(3) A(5) É B(5) – из (1) и удаления ";
(4) B (5) – из (2) и (3) по m. p.
б) Все словари полезны. Все полезные книги высоко ценятся. Следовательно, все словари высоко ценятся.
Сначала формализуем наше рассуждение, введя следующие предикаты:
A(x) = “x – словарь”.
B(x) = “x – полезен”.
C(x) = “x высоко ценится”.
Требуется построить следующий вывод:
"x(A(x) É B(x)), "x(B(x) É C(x)) ├ "x(A(x) É C(x)).
Построим этот вывод.
(1) "x(A(x) É B(x)) – гипотеза;
(2) "x(B(x) É C(x)) - гипотеза;
(3) A(y) É B(y) – из (1) и удаления ";
(4) B(y) É C(y) – из (2) и удаления ";
(5) A(y) É C(y) – из (3) и (4) по правилу силлогизма;
(6) "x(A(x) É C(x)) – из (5) и введения ".
в) Всякий совершеннолетний человек, находящийся в здравом уме, допускается к голосованию. Джон не допущен к голосованию. Значит, он либо несовершеннолетний, либо не находится в здравом уме.
Формализуем наше рассуждение, введя следующие предикаты:
A(x) = “x – совершеннолетний”.
B(x) = “x находится в здравом уме”.
C(x) = “x допущен к голосованию”.
Введем константу d, обозначающую имя "Джон".
Требуется построить следующий вывод:
"x(A(x)&B(x) É C(x)), ØC(d)) ├ ØA(d) Ú ØB(d).
Построим этот вывод.
(1) "x(A(x)&B(x) É C(x)) - гипотеза;
(2) ØC(d)) - гипотеза;
(3) A(d)&B(d) É C(d) - из (1) и удаления ";
(4) ØC(d)) É Ø(A(d)&B(d)) – из (3) и правила контрапозиции;
(5) ØC(d)) É ØA(d) Ú ØB(d) – из (4) и отрицания конъюнкции;
(7) ØA(d) Ú ØB(d) – из (2) и (5) по m. p.
(8)