Логика первого порядка | это... Что такое Логика первого порядка? (original) (raw)

Логика первого порядка (исчисление предикатов) — формальное исчисление, допускающее высказывания относительно переменных, фиксированных функций и предикатов. Расширяет логику высказываний. В свою очередь является частным случаем логики высшего порядка.

Содержание

Основные определения

Язык логики первого порядка строится на основе сигнатуры, состоящей из множества функциональных символов \mathcal{F} и множества предикатных символов \mathcal{P}. С каждым функциональным и предикатным символом связана арность, то есть число возможных аргументов. Допускаются как функциональные, так и предикатные символы арности 0. Первые иногда выделяют в отдельное множество констант. Кроме того, используются следующие дополнительные символы

Перечисленные символы вместе с символами из \mathcal{P} и \mathcal{F} образуют Алфавит логики первого порядка. Более сложные конструкции определяются индуктивно:

Переменная \! x называется связанной в формуле \! F, если \! F имеет вид \forall x G либо \exists x G, или же представима в одной из форм \neg H, F_1\lor F_2, F_1\land F_2, F_1\to F_2, причем \! x уже связанна в \! H, \! F_1 и \! F_2. Если \! x не связанна в \! F, ее называют свободной в \! F. Формулу без свободных переменных называют замкнутой формулой, или предложением. Теорией первого порядка называют любое множество предложений.

Аксиоматика и доказательство формул

Система логических аксиом логики первого порядка состоит из аксиом исчисления высказываний дополненной двумя новыми аксиомами:

где \! A[t/x] — формула, полученная в результате подстановки терма \! t вместо каждой свободной переменной \! x, встречающейся в формуле \! A.

Правил вывода 2:

Интерпретация

В классическом случае интерпретация формул логики первого порядка задается на модели первого порядка, которая определяется следующими данными

Обычно принято, отождествлять несущее множество \mathcal{D} и саму модель, подразумевая неявно семантическую функцию, если это не ведет к неоднозначности.

Предположим s — функция, отображающая каждую переменную в некоторый элемент из \mathcal{D}, которую мы будем называть подстановкой. Интерпретация ![[![t]!]_s](https://dic.academic.ru/dic.nsf/ruwiki/5b43ccd0b69f5bb57eee56c1279a7db6.png) терма t на\mathcal{D} относительно подстановки s задается индуктивно

В таком же духе определяется отношение истинности \models_s формул на \mathcal{D} относительно s

Формула \phi, истинна на \mathcal{D}, что обозначается как \mathcal{D}\models \phi, если \mathcal{D}\models_s \phi, для всех подстановок s. Формула \phi называется общезначимой, что обозначается как \models \phi, если \mathcal{D}\models \phi для всех моделей \mathcal{D}. Формула \phi называется выполнимой , если \mathcal{D}\models \phi хотя бы для одной \mathcal{D}.

Свойства и основные результаты

Логика первого порядка обладает рядом полезных свойств, которые делают ее очень привлекательной в качестве основного инструмента формализации математики. Главными из них являются полнота (это означает, что для любой формулы выводима либо она сама, либо ее отрицание) и непротиворечивость (ни одна формула не может быть выведена одновременно со своим отрицанием). При этом если непротиворечивость более или менее очевидна, то полнота — нетривиальный результат, полученный Гёделем в 1930 году (теорема Гёделя о полноте). По сути теорема Гёделя устанавливает фундаментальную эквивалентность понятий доказуемости и общезначимости.

Логика первого порядка обладает свойством компактности: если некоторое множество формул не выполнимо, то невыполнимо также некоторое его конечное подмножество.

Согласно теореме Лёвенгейма — Сколема если множество формул имеет модель, то оно также имеет модель не более чем счетной мощности. С этой теоремой связан парадокс Сколема, который, однако, является лишь мнимым парадоксом.

Использование

Логика первого порядка как формальная модель рассуждений

Являясь формализованым аналогом обычной логики, логика первого порядка дает возможность строго рассуждать об истинности и ложности утверждений и об их взаимосвязи, в частности, о логическом следовании одного утверждения из другого, или, например, об их эквивалентности. Рассмотрим классический пример формализации утверждений естественного языка в логике первого порядка.

Возьмем рассуждение «Каждый человек смертен. Конфуций — человек. Следовательно, Конфуций смертен». Обозначим «x есть человек» через ЧЕЛОВЕК(x) и «x смертен» через СМЕРТЕН(x). Тогда утверждение «каждый человек смертен» может быть представлено формулой:  \forallx(ЧЕЛОВЕК(x) → СМЕРТЕН(x)) утверждение «Конфуций — человек» формулой ЧЕЛОВЕК(Конфуций), и «Конфуций смертен» формулой СМЕРТЕН(Конфуций). Утверждение в целом теперь может быть записано формулой

( \forallx(ЧЕЛОВЕК(x) → СМЕРТЕН(x))  \and ЧЕЛОВЕК(Конфуций)) → СМЕРТЕН(Конфуций)

См. также

Литература