Ликбез по логике предикатов. Часть 2

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

В процессе обсуждения первой части статьи выявилась необходимость дополнительно прояснить семантику кванторов.

Формулу

x P(x)

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

P(x1) ∧ P(x2) ∧ … ∧ P(xn)

по всем индивидам x1, x2, … xn конечной индивидной области. Т.е. “все x есть P” означает “x1 есть P, и x2 есть P, … и xn есть P”. Соответственно, формулу

x P(x)

можно понимать как бесконечный аналог логической суммы

P(x1) ∨ P(x2) ∨ … ∨ P(xn).

Т.е. “существует такое x, которое есть P” означает “x1 есть P, или x2 есть P, … или xn есть P”.

3. Исчисление предикатов

В «Первой аналитике» Аристотель разбирает 14 схем правильных умозаключений, называемых им силлогизмами. Силлогизм гарантирует истинность заключения при условии истинности посылок независимо от содержания входящих в них терминов. В принципе 14 силлогизмов – это не так уж много и все их можно выучить наизусть, что, судя по всему, и требовали от бедных студентов средневековых университетов, за что они возненавидели логику на всю оставшуюся жизнь.

В логике предикатов ситуация кардинально иная. Там бесконечное множество логически общезначимых формул, причем невозможен алгоритм, который для любой данной формулы определял бы, является она логически общезначимой или нет. Это доказали в 1936 году независимо друг от друга Алонзо Черч и Алан Тьюринг.

Но Аристотель подсказал выход. В «Первой аналитике» Аристотель продемонстрировал, что силлогизмы второй и третьей фигуры могут быть сведены к силлогизмам первой фигуры с помощью правил обращения посылок и рассуждения от противного. В свою очередь третий и четвертый силлогизм первой фигуры могут быть сведены к первым двум. Наконец первый и второй силлогизм сводятся к одному правилу, известному как Dictum de omni et nullo.

“А «[одно] сказывается обо всем [другом]» мы говорим, когда не может быть найдено что‑либо из того, что принадлежит подлежащему, о чем другое не высказывалось бы. И точно так же, когда говорим «не сказывается ни об одном»”. – Аристотель. Первая аналитика, 1.1. 24b28.

Таким образом, Аристотель строит силлогистику как дедуктивную систему: из правила Dictum de omni et nullo как аксиомы он выводит все четырнадцать силлогизмов как теоремы.

Возникает вопрос, не можем ли мы и в логике предикатов поступить аналогично – отталкиваясь от небольшого числа аксиом выводить теоремы, которые потенциально охватывали бы все логически общезначимые формулы? Другими словами, не можем ли мы превратить логику предикатов в дедуктивную систему? Оказывается, это возможно. Причем таких дедуктивных систем существует несколько, хотя все они в определенном смысле эквивалентны. Они называются исчислениями предикатов. Три основные типа исчислений – системы гильбертовского типа, системы натурального вывода, и исчисления секвенций. Последние две системы созданы гениальным немецким логиком Герхардом Генценом. В 1936 году им была решена одна и труднейших проблем Гильберта – доказана непротиворечивость формальной арифметики.

Необходимой частью исчисления предикатов являются тождественно-истинные формулы алгебры логики (тавтологии), а также их частные случаи. Например, закон исключенного третьего

p ∨ ¬p

и его частные случаи, такие как

R(x, y) ∨ ¬R(x, y).

Последняя формула истинна в любой модели при любых значениях индивидных переменных x, y, а значит является общезначимой в логике предикатов.

Наибольший интерес для изучающего логику предикатов представляют аксиомы, содержащие предикаты и кванторы. Их обычно две:

(1) ∀x (pQ(x)) ⊃ (p ⊃ ∀x Q(x))

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

Различие между левой и правой частью формулы (1) заключается в положении квантора. Если бы вместо p стояло бы P(x) формула была бы не верна.

(2) ∀x P(x) ⊃ P(y)

Если P истинно для все х, то P истинно и для какого-то y. Если все люди смертны, то и Сократ смертен.

Эти аксиомы впервые были сформулированы Фреге в его пионерской работе “Исчисление понятий” (1879).

Аналогом формулы (1) для конечной индивидной области является формула

((pQ(x1)) ∧ (pQ(x2)) ∧ … ∧ (pQ(xn))) ⊃ (pQ(x1) ∧ Q(x2) ∧ … ∧ Q(xn))

Если из p следует каждое из Q(xi), то из p следует их конъюнкция.

Аналогом формулы (2) –

P(x1) ∧ P(x2) ∧ … ∧ P(xn) ⊃ P(y)

Квантор существования ∃x можно определить через квантор всеобщности. Тогда формула

x P(x)

понимается как сокращенная запись для формулы

¬ (∀x ¬ P(x)).

Другой подход заключается в том, что мы должны отдельно добавить аксиомы для существования:

(1ʹ) ∃x (Q(x) ⊃ p) ⊃ (∃x Q(x) ⊃ p)
(2ʹ) P(y) ⊃ ∃x P(x)

В исчислении предикатов имеется также правило вывода, называемое правило обобщения, которое из доказанной формулы A выводит формулу ∀x A, Символически

          A
(3)   ───     или     A ⊢ ∀x A
       ∀x A

В процессе доказательства различных теорем, например в геометрии, когда мы хотим воспользоваться уже доказанной теоремой, которая формулируется для общего случая, мы должны применить её к нашему конкретному случаю. Например:

“Согласно теореме Пифагора, в любом прямоугольном треугольнике квадрат гипотенузы равен сумме квадратов катетов. Треугольник ABC прямоугольный с гипотенузой AB. Следовательно,
AB 2 = AC 2 + BC 2”.

Такое рассуждение можно было бы назвать конкретизацией – применением общей теоремы к конкретному случаю. Для этого как раз и требуется аксиома (2).

На последнем шаге доказательства мы получим формулировку доказываемой теоремы для нашего конкретного случая. Но поскольку это доказательство останется справедливым для любого конкретного случая, то мы можем вывести из частной формулировки – общую, для всех случаев. Для этого требуется правило (3)

Логик, который строит тот или иной вариант исчисления предикатов, подбирает аксиомы и правила вывода исчисления исходя из различных соображений. Например, он желает минимизировать число аксиом, или правил вывода, или стремится к тому, чтобы они были как можно проще и очевиднее. Но в любом случае полученное исчисление должно обладать свойствами непротиворечивости и полноты. Непротиворечивость исчисления означает, что в нем невозможно доказать две противоречащие друг другу формулы: A и ¬A. Полнота исчисления означает, что любая теорема данного исчисления является общезначимой формулой, а любая общезначимая формула является теоремой. Непротиворечивость доказывается сравнительно легко. Полнота исчисления предикатов первого порядка была доказана в 1929 году Куртом Гёделем.

Связанные материалы Тип
Ликбез по логике предикатов. Часть 1 Виктор Володин Запись

Комментарии

Аватар пользователя bravoseven

 Полезное дело делаете, спасибо.

... с гипотенузой AB. Следовательно, АB ...

 Поправьте, пожалуйста.

Аватар пользователя Виктор Володин

bravoseven, 24 Январь, 2026 - 23:26, ссылка

Спасибо за отзыв, ошибку исправил.

Аватар пользователя К.Б.Н.

.

Для Виктора Володина.

А сколько всего частей будет (у этого ликбеза)?

.

Аватар пользователя Виктор Володин

"Сколько всего частей?" - Три

Аватар пользователя Victor_

 Хотелось бы получить у вас разъяснение по поводу "¬ P(x)" - складывается впечатление,  что здесь "¬" не есть отрицание в логическом смысле, а есть просто такое вот сокращение для выражения "¬ P" вида: "некие иные свойства, окромя P", а само же "P" - это просто "свойство P", - т.е. все свойства "х" представляются так: "свойство P и некие иные свойства, окромя P"...

Аватар пользователя Виктор Володин

Victor_, 28 Январь, 2026 - 21:57, ссылка

Обычно в учебниках математической логики дается определение правильно построенной формулы). Индивидные переменные - x, y, z... - это не формулы.

Минимальные формулы (их еще называют атомарными формулами) - это одноместные, двухместные и многоместные предикаты, например P(x), R(x, y), Q(x, y, z). Отрывать предикатные буквы P, Q, R от их списков аргументов нельзя.

Из атомарных формул далее строятся сложные формулы с помощью связок (¬, ∧, ∨, ⊃ и др.) и кванторов (∀x, ∃y). Если F, G - фомулы, то формулами также будут: (¬F), (FG),
(FG), (FG), (∀x F), (∃x F).

Лишние скобки, в соответствии с соглашением о приоритетах, можно опустить. Высший приоритет у кванторов и отрицания (¬), затем идут в порядке уменьшения приоритета ∧, ∨, ⊃.

Конкретно, касательно вашего вопроса, формула ¬ P(x) трактуется как ¬(P(x)), или "Неверно, что P(x)", т.е. сначала определяем значение P(x), а потом берем его отрицание.

Аватар пользователя Victor_

 Ну тогда другой момент - в рамках логики предикатов как формально определить - истинно или ложно значение P(x)?

Аватар пользователя Виктор Володин

Victor_, 28 Январь, 2026 - 23:01, ссылка

Нужно знать смысл P(x), а это определяется моделью. Когда мы знаем модель для P, мы понимаем, для каких x P(x) истинно, а для каких ложно. Например P(x) значит, что х - четное число. Тогда для x = 7 P(x) ложно, а для x = 8 - истинно.

Точно так же в силлогистике:

Если все А есть B, а все B есть C, то все А есть С.

Но как узнать, что все А есть В? Это зависит от смысла А и В. Например, все люди смертны - истинно, а все люди математики - ложно.

Аватар пользователя Victor_

смысл P(x), а это определяется моделью

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

  Позвольте ещё вопрос: как реализуются тавтологии в логике предикатов? - как в пропозиционной логике ясно, а тут как-то мудрёно - поясните пожалуйста...

Аватар пользователя Виктор Володин

Victor_, 29 Январь, 2026 - 01:04, ссылка

Аналогом понятия тавтология в пропозициональной логике является понятие логически общезначимой формулы в логике предикатов. Впрочем, вы можете использовать и термин тавтология. Здесь нет большого греха.

Формула логики предикатов является общезнанимой, если она истинна в любой модели при любых значениях свободных (т.е. не связанных кванторами) переменных. Примеры общезначимых формул я приводил:

(P(x) ∧ Q(x)) ⊃ Q(x)
x P(x) ⊃ ∃x P(x)
x ∀y R(x, y) ⊃ ∀y ∃x R(x, y)

Их общезначимость можно доказать либо явно, показав, что они истинны в любой модели, либо выведя их из аксиом исчисления предикатов.

Аватар пользователя Victor_

--- Виктор Володин, 29 Январь, 2026 - 07:38, ссылка

 Спасибо за разъяснение.

 Но вот ещё момент - раз смысл P(x) определяется моделью (как вы выше сказали), то закономерен вопрос о следующем - как будет правильно (пишут иногда "=", а иногда "≡"  и почему так):

 ¬(∀x) P(x) = ∃x ¬(P(x))   или   ¬(∀x) P(x) ∃x ¬(P(x))?

Аватар пользователя Виктор Володин

Victor_, 29 Январь, 2026 - 17:04, ссылка

Это все одно и то же. Рассел писал ¬(x) P(x) = Ex ¬(P(x)).

= и ≡ - это одно и то же. Используют также символы ↔ и ⇔.
Всесто ¬ некоторые авторы используют ~, вместо ∧ – &, вместо ⊃ – ⇒ или →.

Запись 

¬(∀x) P(x) = ∃x ¬(P(x))

В любом случае понимается как

(¬((∀x) P(x))) = (∃x (¬(P(x))))

Аватар пользователя Victor_

Спасибо

Аватар пользователя bravoseven

Виктор Володин, 29 Январь, 2026 - 00:15, ссылка
Это зависит от смысла А и В

 Тогда эта логика не формальна. Для сохранения формального статуса  силлогистики это должно зависеть не от смысла понятий, а от их содержания.

 Не знаю, что вы называете смыслом, но содержанием понятия в отличие от объёма называют совокупность его предикатов.

Аватар пользователя Victor_

---  bravoseven, 29 Январь, 2026 - 01:03, ссылка

Тогда эта логика не формальна. Для сохранения формального статуса  силлогистики это должно зависеть не от смысла понятий, а от их содержания.

  Спасибо за формулировку - я что-то подобное (вскользь говорил про формальность) пытался вымолвить, но видно до такого ещё не дорос.))

 А, действительно, г-н Виктор Володин, что на такое ответите?

Аватар пользователя Виктор Володин

bravoseven, 29 Январь, 2026 - 01:03, ссылка

Истинность или ложность суждения в силлогистики Аристотеля зависит от его смысла. Смысл и содержание в данном случае одно и то же. Но доказательство ведется независимо от  смысла суждений - формально.  Поэтому не удивительно, что рассуждая о фигурах силлогизмов Аристотель везде вместо конкретных терминов использует буквы. Правильный силлогизм останется правильным при подстановке любых терминов в место букв. А вот когда он приводит контрпримеры, он уже использует конкретные термины. В этом и заключается формальность силлогистики. Истинность заключения силлогизма зависит только от истинности посылок, но не зависит от их смысла. Откуда мы узнаем об истинности посылок - совсем другой вопрос.

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

Аватар пользователя bravoseven

Смысл и содержание в данном случае одно и то же

 Если так, то согласен.

Аватар пользователя vlopuhin

Так мне кто-нибудь объяснит, что это такое, и в чем кайф многополярного мира?

Ну если никто, то я сам: ложь она и в Африке ложь! В переводе на русский - развал. Ну типа не надо мне рассказывать о том, как нам русским пофигу, кому достанется Гренландия! Или о том, как мне была пофигу пенсионная реформа. Меня за три года до пенсии не взирая на мой статус предпенсионера сократили на вполне законных основаниях, и хрен я кода-либо это забуду.

Аватар пользователя Эль-Марейон

Ваши слова: Если все А есть B, а все B есть C, то все А есть С.

Но как узнать, что все А есть В? Это зависит от смысла А и В. Например, все люди смертны - истинно, а все люди математики - ложно. 

Пример:   Если все мухи есть клоны, а все клоны есть насекомые, то  все  мухи  есть  тоже  насекомые.  Все А есть В почему? Потому что  А- это и есть В. 

Например, все люди смертны - истинно, а все люди математики - ложно. Не так, не все люди есть смертны -  это истина, потому что смертно неразвитое самое себя, что не выпустило в жизнь свое Я. Пример:  самое себе время сливает в никуда ту свою часть, что не имеет самое себе Я, то есть, не имеет способности  мыслить, а цель всего живого -  мыслить и чувствовать, а чувствовать- это тоже мыслить. С уважением.