Глава 2. Логика предикатов первого порядка 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Глава 2. Логика предикатов первого порядка



Глава 2. Логика предикатов первого порядка

Логика высказываний обладает довольно слабыми выразительными возможностями. В ней нельзя выразить даже очень простые с математической точки зрения рассуждения. Рассмотрим, например, следующее умозаключение. “Всякое целое число является рациональным. Число 2 – целое. Следовательно, 2 – рациональное число”. Все эти утверждения с точки зрения логики высказываний являются атомарными. Средствами логики высказываний нельзя вскрыть внутреннюю структуру и поэтому нельзя доказать логичность этого рассуждения в рамках логики высказываний. Мы рассмотрим расширение логики высказываний, которое называется логикой предикатов первого порядка (или логикой первого порядка, или логикой предикатов).

Интерпретация в логике первого порядка

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

Определение. Интерпретацией на непустом множестве M называется функция, заданная на сигнатуре FR, которая

1) константе ставит в соответствие элемент из M;

2) символу n -местной функции ставит в соответствие некоторую n -местную функцию, определенную на множестве M;

3) символу n -местного предиката ставит в соответствие n -местный предикат, заданный на M.

В результате любая формула F получает в соответствие предикат, местность которого равна числу свободных переменных формулы F.

Пример 1. Пусть сигнатура состоит из символов одноместного предиката P и двухместного предиката D, M = {2,

3, 6, 9, 12, 15} и 

F = P (x) & (∀ y)(P (y) → D (x, y)).

Поставим в соответствие символу P предикат “ x – простое число”, символу D – предикат “ x меньше или равно y ”. Тогда формула F получит в соответствие предикат “ x = 2”. На этом же множестве можно рассмотреть и другую интерпретацию: P ставится в соответствие “ x – нечетное число”, D – предикат “ x делит y ”. В таком случае, формула F получает в соответствие предикат “ x = 3”. Если ϕ – интерпретация, то предикат, соответствующий формуле F, будем обозначать через ϕ F.  

Одним из основных типов задач этой главы являются задачи, связанные с использованием выразительных возможностей языка логики предикатов. В качестве примера рассмотрим задачу перевода на язык логики предикатов следующего рассуждения. “Каждый первокурсник знаком с кем-либо из спортсменов. Никакой первокурсник не знаком ни с одном любителем подледного лова. Следовательно, никто из спортсменов не является любителем подледного лова”. Для удобства ссылок это рассуждение условимся называть рассуждением о первокурсниках. Выберем следующую сигнатуру (сигнатурные элементы приведены с предполагаемой интерпретацией).

П (x): “ x – первокурсник”, 

С (x): “ x – спортсмен”, 

Л (x): “ x – любитель подледного лова”, З (x, y): “ x знаком с y ”.

Тогда рассуждение запишется в виде следующей последовательности формул:

H 1 = (∀ x)[ П (х) → (∃ y)(C (y) & З (x, y))], 

H 2 = (∀ x)(∀ y)[ П (x)& Л (y) → З (x, y)], 

H 3 = (∀ x)(C (x) → Л (x)).

Мы установили, что выразительных средств логики предикатов достаточно, чтобы записать рассуждение о первокурсниках. Естественно далее поставить вопрос, логично ли оно? Будет ли третье предложение следствием первых двух? На этот вопрос мы ответим в §5. 

Логическое следствие

Определение. Формула G (x 1, …, xn) называется логическим следствием формул F 1(x 1, …, xn), …, Fk (x 1, …, xn), если для любой интерпретации ϕ с областью М и любых a 1, …, anM из истинности высказываний (ϕ F 1)(a 1, …, an), …, (ϕ Fk)(a 1, …, an) следует истинность высказывания (ϕ G)(a 1, …, an).

Пример 1. Пусть F 1 = (∀ x)(P (x)→ Q (x)& R (x)), F 2 = P (c), G = Q (c). Покажем, что формула G является логическим следствием формул F 1 и F 2. Возьмем интерпретацию ϕ с областью M такую, что высказывания ϕ F 1 и ϕ F 2 истинны. Элемент ϕ(c) обозначим буквой b. Истинность ϕ F 2 означает, что высказывание (ϕ P)(b) истинно. А истинность высказывания ϕ F 1 означает, что для любого элемента xM истинно высказывание (ϕ P)(x) → (ϕ Q)(x)&(ϕ R)(x). Поскольку это высказывание истинно для любого х, оно, в частности, истинно для x = b. Мы видим, что истинна импликация (ϕ P)(b) → (ϕ Q)(b)&(ϕ R)(b) и ее посылка (ϕ P)(b). Из таблицы истинности импликации следует истинность заключения (ϕ Q)(b)&(ϕ R)(b). Следовательно, истинно высказывание (ϕ Q)(b). А это и есть ϕ G. Мы доказали, что если истинны высказывания ϕ F 1 и ϕ F 2, то истинно высказывание ϕ G, т.е. что G –логическое следствие F 1 и F 2

Пример 2. В качестве второго примера докажем нелогичность рассуждения о первокурсниках, приведенное в §3. Мы записали это рассуждение в виде последовательности формул H 1, H 2, и H 3. Для доказательства нелогичности рассуждения надо найти интерпретацию ϕ, при которой формулы H 1 и H 2 истинны, а формула H 3 ложна. Пусть множество М состоит из трех элементов 2, 3, 4. Символы С, Л и П проинтерпретируем следующим образом:

С)(x) = “ х – простое число”, 

Л)(х) = “ х – четное число”, 

П)(х) = “ х >4”, 

т.е. П интерпретируется как тождественно ложный пре-

дикат. Символу З поставим в соответствие произвольный двухместный предикат. Тогда формулы H 1 и H 2 истинны, поскольку посылки импликаций этих формул ложны при любом x. А формула H 3 ложна. Чтобы убедиться в этом достаточно взять x = 2. Следовательно, рассуждение о первокурсниках нелогично. 

Определение. Множество формул

K = { F 1(x 1, …, xl), …, Fm (x 1, …, xl)}

называется выполнимым, если существует интерпретация ϕ с областью M и элементы a 1, …, alM такие, что все высказывания (ϕ F 1)(a 1, …, al), …, (ϕ Fm)(a 1, …, al) истинны.

Пример 3. Множество формул K = { F 1 = (∀ x)(∃ y)(P (y)

& Q (x, y)), F 2 = (∀ y) Q (c, y), F 3 = P (c)} выполнимо. Возьмем в качестве области интерпретации множество натуральных чисел N. Символы P, Q и с проинтерпретируем следующим образом:

P)(u) = “ u – простое число”, (ϕ Q)(u, v) = “ u меньше или равно v ”, ϕ(с) = 1.

Тогда высказывание ϕ F 1 означает, что для любого натурального числа х найдется простое число y, которое не меньше х, высказывание ϕ F 2 означает, что 1 –наименьшее натуральное число, а высказывание ϕ F 3 означает, что 1 – непростое число. Ясно, что все эти высказывания истинны, и поэтому множество формул K выполнимо. 

Понятия логического следствия и выполнимости в логике первого порядка связаны точно так же, как и в логике высказываний.

Теорема 2.2. Формула G (x 1, …, xn) является логическим следствием формул F 1(x 1, …, xn), …, Fk (x 1, …, xn) тогда и только тогда, когда множество формул { F 1(x 1, …, xn), …,

Fk (x 1, …, xn), G (x 1, …, xn)} невыполнимо.

Доказательство теоремы 2.2 аналогично доказательству теоремы 1.2 и поэтому не приводится.

Нормальные формы

Как и в логике высказываний, в логике первого порядка вводятся нормальные формы. Мы рассмотрим две из них: предваренную нормальную и сколемовскую нормальную формы.

Определение. Формула G имеет предваренную нормальную форму (сокращенно: ПНФ), если 

G = (Q 1 x 1)…(Qnxn) H,

где Q 1, …, Qn кванторы, а формула H не содержит кванторов.

Например, формула (∀ x)(∃ y)(P (x, y) & Q (y)) имеет предваренную нормальную форму, а формула (∀ x)(T (x) & S (x, y)) не имеет.

Теорема 2.3. Для всякой формулы F существует формула G, равносильная F и имеющая предваренную нормальную форму.

Доказательство теоремы легко следует из анализа алгоритма приведения к ПНФ.

...

En (x, y) = 

(∃ z 1)…(∃ zn)[ P (x, z 1) & P (z 1, z 2) &…& P (zn, y)],

...

Используя определение транзитивного замыкания и предположение о том, что формула F (x, y) определяет транзитивное замыкание, получаем, что формула F (x, y) есть логическое следствие множества формул K. По теореме компактности F (x, y) есть логическое следствие некоторого конечного подмножества K / множества K. Можно считать, что 

K ′ = { E 0(x, y), E 1(x, y), …, Ed (x, y)}

для некоторого d.

Пусть M = {0, 1, …, d +1, d +2}. На множестве M определим двухместный предикат S следующим образом:

S (u, v) ⇔ u +1 равно v

Например, высказывания S (0, 1), S (1, 2) истинны, а высказывание S (0, 2) ложно. Отметим, что высказывание S +(0, d +2) истинно. Рассмотрим интерпретацию ϕ, для которой (ϕ P)(u, v) = S (u, v). Все высказывания (ϕ E 0)(0, d +2), (ϕ E 1)(0, d +2), …,(ϕ Ed)(0, d +2) истинны. Так как формула F (x, y) есть логическое следствие множества формул K /, истинно высказывание (ϕ F)(0, d +2). С другой стороны, поскольку F (x, y) определяет транзитивное замыкание и истинно высказывание S +(0, d +2) (другими словами, высказывание (ϕ P)+(0, d +2)), то истинно высказывание (ϕ F)(0, d +2). Мы доказали, что истинно и последнее высказывание, и его отрицание. Полученное противоречие показывает, что не существует формулы логики первого порядка, определяющей транзитивное замыкание предиката. 

Глава 2. Логика предикатов первого порядка

Логика высказываний обладает довольно слабыми выразительными возможностями. В ней нельзя выразить даже очень простые с математической точки зрения рассуждения. Рассмотрим, например, следующее умозаключение. “Всякое целое число является рациональным. Число 2 – целое. Следовательно, 2 – рациональное число”. Все эти утверждения с точки зрения логики высказываний являются атомарными. Средствами логики высказываний нельзя вскрыть внутреннюю структуру и поэтому нельзя доказать логичность этого рассуждения в рамках логики высказываний. Мы рассмотрим расширение логики высказываний, которое называется логикой предикатов первого порядка (или логикой первого порядка, или логикой предикатов).



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 140; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.171.202 (0.015 с.)