Логика первого порядка — также называемая логикой предикатов , исчислением предикатов , квантификационной логикой — представляет собой совокупность формальных систем, используемых в математике , философии , лингвистике и информатике . Логика первого порядка использует квантифицированные переменные над нелогическими объектами и допускает использование предложений, содержащих переменные. Вместо предложений, таких как «все люди смертны», в логике первого порядка можно иметь выражения в форме «для всех x , если x — человек, то x — смертен»; где «для всех x» — квантификатор, x — переменная, а «... — человек » и «... — смертен » — предикаты. [1] Это отличает ее от пропозициональной логики , которая не использует квантификаторы или отношения ; [2] в этом смысле пропозициональная логика является основой логики первого порядка.
Теория о теме, например, теория множеств, теория групп [3] или формальная теория арифметики , обычно представляет собой логику первого порядка вместе с указанной областью дискурса (в которой варьируются квантифицированные переменные), конечным числом функций из этой области в себя, конечным числом предикатов, определенных в этой области, и набором аксиом, которые, как считается, выполняются относительно них. «Теория» иногда понимается в более формальном смысле как просто набор предложений в логике первого порядка.
Термин «первого порядка» отличает логику первого порядка от логики высшего порядка , в которой есть предикаты, имеющие предикаты или функции в качестве аргументов, или в которой разрешена квантификация по предикатам, функциям или и тем, и другим. [4] : 56 В теориях первого порядка предикаты часто связаны с множествами. В интерпретируемых теориях высшего порядка предикаты могут интерпретироваться как множества множеств.
Существует много дедуктивных систем для логики первого порядка, которые являются как обоснованными , т. е. все доказуемые утверждения истинны во всех моделях; так и полными , т. е. все утверждения, истинные во всех моделях, доказуемы. Хотя отношение логического следствия является лишь полуразрешимым , в автоматизированном доказательстве теорем в логике первого порядка достигнут значительный прогресс . Логика первого порядка также удовлетворяет нескольким металогическим теоремам, которые делают ее поддающейся анализу в теории доказательств , таким как теорема Лёвенгейма–Сколема и теорема о компактности .
Логика первого порядка является стандартом для формализации математики в аксиомы и изучается в основаниях математики . Арифметика Пеано и теория множеств Цермело–Френкеля являются аксиоматизациями теории чисел и теории множеств , соответственно, в логику первого порядка. Однако ни одна теория первого порядка не обладает силой, чтобы однозначно описать структуру с бесконечной областью, такой как натуральные числа или вещественная прямая . Системы аксиом, которые полностью описывают эти две структуры, т. е. категориальные системы аксиом, могут быть получены в более сильных логиках, таких как логика второго порядка .
Основы логики первого порядка были разработаны независимо Готтлобом Фреге и Чарльзом Сандерсом Пирсом . [5] Об истории логики первого порядка и о том, как она стала доминировать над формальной логикой, см. Хосе Феррейрос (2001).
В то время как пропозициональная логика имеет дело с простыми декларативными предложениями, логика первого порядка дополнительно охватывает предикаты и квантификацию . Предикат оценивается как истинный или ложный для сущности или сущностей в области дискурса .
Рассмотрим два предложения « Сократ — философ» и « Платон — философ». В пропозициональной логике эти предложения сами по себе рассматриваются как индивиды исследования и могут быть обозначены, например, такими переменными, как p и q . Они не рассматриваются как применение предиката, например , к каким-либо конкретным объектам в области дискурса, вместо этого их рассматривают как чистое высказывание, которое является либо истинным, либо ложным. [6] Однако в логике первого порядка эти два предложения могут быть оформлены как утверждения о том, что определенный индивид или нелогический объект имеет свойство. В этом примере оба предложения имеют общую форму для некоторого индивида , в первом предложении значение переменной x равно «Сократ», а во втором предложении — «Платон». Благодаря возможности говорить о нелогических индивидах вместе с исходными логическими связками, логика первого порядка включает в себя пропозициональную логику. [7]
Истинность формулы, такой как « x — философ», зависит от того, какой объект обозначен x, и от интерпретации предиката «является философом». Следовательно, « x — философ» сам по себе не имеет определенного истинностного значения «истина» или «ложь» и сродни фрагменту предложения. [8] Отношения между предикатами могут быть установлены с помощью логических связок . Например, формула первого порядка «если x — философ, то x — ученый» является условным утверждением с « x — философ» в качестве гипотезы и « x — ученый» в качестве заключения, которое снова требует спецификации x , чтобы иметь определенное истинностное значение.
Квантификаторы могут применяться к переменным в формуле. Переменная x в предыдущей формуле может быть универсально квантифицирована, например, с помощью предложения первого порядка «Для каждого x , если x — философ, то x — ученый». Универсальный квантификатор «для каждого» в этом предложении выражает идею о том, что утверждение «если x — философ, то x — ученый» справедливо для всех выборов x .
Отрицание предложения «Для каждого x , если x — философ, то x — ученый» логически эквивалентно предложению «Существует x такой, что x — философ, а x — не ученый». Квантор существования « существует» выражает идею о том, что утверждение « x — философ, а x — не ученый» справедливо для некоторого выбора x .
Предикаты «является философом» и «является ученым» принимают по одной переменной. В общем случае предикаты могут принимать несколько переменных. В предложении первого порядка «Сократ — учитель Платона» предикат «является учителем» принимает две переменные.
Интерпретация (или модель) формулы первого порядка определяет, что означает каждый предикат, и сущности, которые могут конкретизировать переменные. Эти сущности образуют область дискурса или вселенную, которая обычно должна быть непустым множеством. Например, рассмотрим предложение «Существует x такой, что x является философом». Это предложение рассматривается как истинное в интерпретации, такой, что область дискурса состоит из всех людей, и что предикат «является философом» понимается как «был автором Республики» . Это истинно, как свидетельствует Платон в этом тексте. [ необходимо разъяснение ]
Есть две ключевые части логики первого порядка. Синтаксис определяет, какие конечные последовательности символов являются правильно сформированными выражениями в логике первого порядка, в то время как семантика определяет значения, стоящие за этими выражениями.
В отличие от естественных языков, таких как английский, язык логики первого порядка полностью формален, так что можно механически определить, является ли данное выражение правильно сформированным . Существует два основных типа правильно сформированных выражений: термины , которые интуитивно представляют объекты, и формулы , которые интуитивно выражают утверждения, которые могут быть истинными или ложными. Термины и формулы логики первого порядка представляют собой строки символов , где все символы вместе образуют алфавит языка.
Как и во всех формальных языках , природа самих символов выходит за рамки формальной логики; их часто рассматривают просто как буквы и знаки препинания.
Символы алфавита принято делить на логические символы , которые всегда имеют одно и то же значение, и нелогические символы , значение которых меняется в зависимости от интерпретации. [9] Например, логический символ всегда представляет «и»; он никогда не интерпретируется как «или», которое представлено логическим символом . Однако нелогический предикатный символ, такой как Phil( x ), может быть интерпретирован как означающий « x — философ», « x — человек по имени Филипп» или любой другой унарный предикат в зависимости от имеющейся интерпретации.
Логические символы представляют собой набор символов, которые различаются у разных авторов, но обычно включают в себя следующее: [10]
Не все эти символы требуются в логике первого порядка. Достаточно одного из квантификаторов вместе с отрицанием, конъюнкцией (или дизъюнкцией), переменными, скобками и равенством.
Другие логические символы включают в себя следующее:
Нелогические символы представляют предикаты (отношения), функции и константы. Раньше было стандартной практикой использовать фиксированный, бесконечный набор нелогических символов для всех целей:
Когда арность предикатного символа или функционального символа ясна из контекста, верхний индекс n часто опускается.
В этом традиционном подходе существует только один язык логики первого порядка. [13] Этот подход все еще распространен, особенно в философски ориентированных книгах.
Более поздняя практика заключается в использовании различных нелогических символов в соответствии с приложением, которое вы имеете в виду. Поэтому стало необходимым назвать набор всех нелогических символов, используемых в определенном приложении. Этот выбор осуществляется с помощью подписи . [14]
Типичные сигнатуры в математике — {1, ×} или просто {×} для групп , [3] или {0, 1, +, ×, <} для упорядоченных полей . Ограничений на количество нелогических символов нет. Сигнатура может быть пустой , конечной или бесконечной, даже несчетной . Несчетные сигнатуры встречаются, например, в современных доказательствах теоремы Лёвенгейма–Сколема .
Хотя в некоторых случаях подписи могут подразумевать, как следует интерпретировать нелогические символы, интерпретация нелогических символов в подписи является отдельной (и не обязательно фиксированной). Подписи касаются синтаксиса, а не семантики.
При таком подходе каждый нелогический символ относится к одному из следующих типов:
Традиционный подход можно восстановить в современном подходе, просто указав «пользовательскую» сигнатуру, состоящую из традиционных последовательностей нелогических символов.
Правила формирования определяют термины и формулы логики первого порядка. [16] Когда термины и формулы представлены в виде строк символов, эти правила могут быть использованы для написания формальной грамматики для терминов и формул. Эти правила, как правило, не зависят от контекста (каждая продукция имеет один символ в левой части), за исключением того, что набор символов может быть бесконечным, и может быть много начальных символов, например, переменных в случае терминов.
Множество терминов индуктивно определяется следующими правилами: [17]
Терминами являются только выражения, которые могут быть получены конечным числом применений правил 1 и 2. Например, никакое выражение, включающее предикатный символ, не является термином.
Набор формул (также называемых правильно сформированными формулами [18] или WFF ) индуктивно определяется следующими правилами:
Формулами являются только выражения, которые могут быть получены конечным числом применений правил 1–5. Формулы, полученные из первых двух правил, называются атомарными формулами .
Например:
является формулой, если f является символом унарной функции, P — символом унарного предиката, а Q — символом тернарного предиката. Однако не является формулой, хотя это строка символов из алфавита.
Роль скобок в определении заключается в том, чтобы гарантировать, что любая формула может быть получена только одним способом — следуя индуктивному определению (т. е. существует уникальное дерево разбора для каждой формулы). Это свойство известно как уникальная читаемость формул. Существует много соглашений о том, где скобки используются в формулах. Например, некоторые авторы используют двоеточия или точки вместо скобок или меняют места, в которых вставляются скобки. Каждое конкретное определение автора должно сопровождаться доказательством уникальной читаемости.
Для удобства были разработаны соглашения о приоритете логических операторов, чтобы избежать необходимости писать скобки в некоторых случаях. Эти правила похожи на порядок операций в арифметике. Общее соглашение:
Более того, может быть вставлена дополнительная пунктуация, не требуемая определением, — чтобы сделать формулы более удобными для чтения. Таким образом, формула:
можно записать так:
В некоторых областях принято использовать инфиксную запись для бинарных отношений и функций вместо префиксной записи, определенной выше. Например, в арифметике обычно пишут "2 + 2 = 4" вместо "=(+(2,2),4)". Формулы в инфиксной записи принято рассматривать как сокращения соответствующих формул в префиксной записи, см. также term structure vs. representation .
Определения выше используют инфиксную запись для бинарных связок, таких как . Менее распространенной конвенцией является польская запись , в которой пишут , и так далее перед их аргументами, а не между ними. Эта конвенция выгодна тем, что позволяет отбрасывать все знаки препинания. Таким образом, польская запись компактна и элегантна, но редко используется на практике, поскольку ее трудно читать людям. В польской записи формула:
становится "∀x∀y→Pfx¬→ PxQfyxz".
В формуле переменная может встречаться свободной или связанной (или и то, и другое). Одна формализация этого понятия принадлежит Куайну: сначала определяется концепция вхождения переменной, затем определяется, является ли вхождение переменной свободным или связанным, затем определяется, является ли переменный символ в целом свободным или связанным. Чтобы различать различные вхождения одинакового символа x , каждое вхождение переменного символа x в формуле φ идентифицируется с начальной подстрокой φ до точки, в которой появляется указанный экземпляр символа x . [8] стр. 297 Затем вхождение x называется связанным, если это вхождение x лежит в области действия по крайней мере одного из двух или . Наконец, x связан в φ, если все вхождения x в φ связаны. [8] стр. 142--143
Интуитивно, переменный символ свободен в формуле, если ни в одной точке он не квантифицирован: [8] стр.142--143 в ∀ y P ( x , y ) единственное вхождение переменной x свободно, а y связано. Свободные и связанные вхождения переменных в формулу определяются индуктивно следующим образом.
Например, в ∀ x ∀ y ( P ( x ) → Q ( x , f ( x ), z )) x и y встречаются только в связанном виде, [19] z встречается только в свободном виде, а w не является ни тем, ни другим, поскольку не встречается в формуле.
Свободные и связанные переменные формулы не обязательно должны быть непересекающимися множествами: в формуле P ( x ) → ∀ x Q ( x ) первое вхождение x как аргумента P является свободным, а второе, как аргумент Q , является связанным.
Формула в логике первого порядка без свободных переменных вхождений называется предложением первого порядка . Это формулы, которые будут иметь четко определенные значения истинности при интерпретации. Например, является ли формула, такая как Phil( x ), истинной, должно зависеть от того, что представляет x . Но предложение ∃ x Phil( x ) будет либо истинным, либо ложным при данной интерпретации.
В математике язык упорядоченных абелевых групп имеет один постоянный символ 0, один унарный символ функции −, один бинарный символ функции + и один бинарный символ отношения ≤. Тогда:
Аксиомы для упорядоченных абелевых групп могут быть выражены как набор предложений на языке. Например, аксиома, утверждающая, что группа коммутативна, обычно записывается
Интерпретация языка первого порядка присваивает обозначение каждому нелогическому символу (символу предиката, символу функции или символу константы) в этом языке. Она также определяет область дискурса , которая задает диапазон квантификаторов. Результатом является то, что каждому термину присваивается объект, который он представляет, каждому предикату присваивается свойство объектов, а каждому предложению присваивается значение истинности. Таким образом, интерпретация придает семантическое значение терминам, предикатам и формулам языка. Изучение интерпретаций формальных языков называется формальной семантикой . Далее следует описание стандартной или тарской семантики для логики первого порядка. (Также возможно определить игровую семантику для логики первого порядка , но помимо требования аксиомы выбора игровая семантика согласуется с тарской семантикой для логики первого порядка, поэтому игровая семантика не будет здесь подробно рассматриваться.)
Наиболее распространенным способом задания интерпретации (особенно в математике) является задание структуры (также называемой моделью ; см. ниже). Структура состоит из области дискурса D и функции интерпретации I, отображающей нелогические символы в предикаты, функции и константы.
Область дискурса D — это непустое множество «объектов» некоторого вида. Интуитивно, при наличии интерпретации, формула первого порядка становится утверждением об этих объектах; например, утверждает существование некоторого объекта в D , для которого предикат P является истинным (или, точнее, для которого предикат, назначенный предикату символа P интерпретацией, является истинным). Например, можно взять D как множество целых чисел .
Нелогические символы интерпретируются следующим образом:
Формула оценивается как истинная или ложная, учитывая интерпретацию и назначение переменной μ, которая связывает элемент области дискурса с каждой переменной. Причина, по которой требуется назначение переменной, заключается в том, чтобы придать значения формулам со свободными переменными, такими как . Значение истинности этой формулы меняется в зависимости от значений, которые обозначают x и y .
Во-первых, переменная присваивания μ может быть распространена на все термины языка, в результате чего каждый термин сопоставляется с одним элементом области дискурса. Для выполнения этого присваивания используются следующие правила:
Далее каждой формуле присваивается значение истинности. Индуктивное определение, используемое для этого присвоения, называется T-схемой .
Если формула не содержит свободных переменных, как и предложение, то начальное назначение переменных не влияет на его истинностное значение. Другими словами, предложение истинно согласно M и тогда и только тогда, когда оно истинно согласно M и любому другому назначению переменных .
Существует второй распространенный подход к определению значений истинности, который не опирается на функции назначения переменных. Вместо этого, учитывая интерпретацию M , сначала к сигнатуре добавляется набор константных символов, по одному для каждого элемента области дискурса в M ; скажем, для каждого d в области константный символ c d фиксирован. Интерпретация расширяется таким образом, что каждый новый константный символ назначается соответствующему элементу области. Теперь истина для квантифицированных формул определяется синтаксически следующим образом:
Этот альтернативный подход дает точно такие же значения истинности для всех предложений, как и подход с использованием присваивания переменных.
Если предложение φ оценивается как истинное при данной интерпретации M , говорят, что M удовлетворяет φ; это обозначается [20] . Предложение выполнимо , если есть некоторая интерпретация, при которой оно истинно. Это немного отличается от символа из теории моделей, где обозначает выполнимость в модели, т. е. «существует подходящее назначение значений в области ' переменным символам ". [21]
Выполнимость формул со свободными переменными более сложна, поскольку интерпретация сама по себе не определяет истинностное значение такой формулы. Наиболее распространенное соглашение заключается в том, что формула φ со свободными переменными , ..., считается удовлетворенной интерпретацией, если формула φ остается истинной независимо от того, какие индивиды из области дискурса назначены ее свободным переменным , ..., . Это имеет тот же эффект, что и утверждение, что формула φ удовлетворена тогда и только тогда, когда удовлетворено ее универсальное замыкание .
Формула логически действительна (или просто действительна ), если она истинна в любой интерпретации. [22] Эти формулы играют роль, аналогичную тавтологиям в пропозициональной логике.
Формула φ является логическим следствием формулы ψ, если каждая интерпретация, которая делает ψ истинной, также делает φ истинной. В этом случае говорят, что φ логически следует из ψ.
Альтернативный подход к семантике логики первого порядка осуществляется через абстрактную алгебру . Этот подход обобщает алгебры Линденбаума–Тарского пропозициональной логики. Существует три способа устранения квантифицированных переменных из логики первого порядка, которые не предполагают замены квантификаторов другими операторами связывания переменных:
Все эти алгебры представляют собой решетки , которые надлежащим образом расширяют двухэлементную булеву алгебру .
Тарский и Дживант (1987) показали, что фрагмент логики первого порядка, не имеющий атомарного предложения , лежащего в области действия более трех квантификаторов, имеет ту же выразительную силу, что и алгебра отношений . [23] : 32–33 Этот фрагмент представляет большой интерес, поскольку он достаточен для арифметики Пеано и большинства аксиоматических теорий множеств , включая каноническую ZFC . Они также доказывают, что логика первого порядка с примитивной упорядоченной парой эквивалентна алгебре отношений с двумя упорядоченными парными проекционными функциями . [24] : 803
Теория первого порядка конкретной сигнатуры — это набор аксиом , которые являются предложениями, состоящими из символов из этой сигнатуры. Набор аксиом часто конечен или рекурсивно перечислим , в этом случае теория называется эффективной . Некоторые авторы требуют, чтобы теории также включали все логические следствия аксиом. Аксиомы считаются верными в рамках теории, и из них могут быть выведены другие предложения, верные в рамках теории.
Структура первого порядка, которая удовлетворяет всем предложениям в данной теории, называется моделью этой теории. Элементарный класс — это множество всех структур, удовлетворяющих определенной теории. Эти классы являются основным предметом изучения в теории моделей .
Многие теории имеют предполагаемую интерпретацию , определенную модель, которая учитывается при изучении теории. Например, предполагаемая интерпретация арифметики Пеано состоит из обычных натуральных чисел с их обычными операциями. Однако теорема Лёвенгейма–Сколема показывает, что большинство теорий первого порядка будут иметь и другие, нестандартные модели .
Теория непротиворечива , если невозможно доказать противоречие из аксиом теории. Теория полна , если для каждой формулы в ее сигнатуре либо эта формула, либо ее отрицание является логическим следствием аксиом теории. Теорема Гёделя о неполноте показывает, что эффективные теории первого порядка, включающие достаточную часть теории натуральных чисел, никогда не могут быть одновременно непротиворечивыми и полными.
Определение выше требует, чтобы область дискурса любой интерпретации была непустой. Существуют настройки, такие как инклюзивная логика , где пустые области разрешены. Более того, если класс алгебраических структур включает пустую структуру (например, есть пустой посет ) , этот класс может быть элементарным классом в логике первого порядка, только если пустые области разрешены или пустая структура удалена из класса.
Однако с пустыми доменами связано несколько трудностей:
Таким образом, когда пустой домен разрешен, его часто следует рассматривать как особый случай. Большинство авторов, однако, просто исключают пустой домен по определению.
Дедуктивная система используется для демонстрации на чисто синтаксической основе того, что одна формула является логическим следствием другой формулы. Существует много таких систем для логики первого порядка, включая дедуктивные системы в стиле Гильберта , естественную дедукцию , секвенциальное исчисление , метод таблиц и резолюцию . Они обладают общим свойством, что дедукция является конечным синтаксическим объектом; формат этого объекта и способ его построения сильно различаются. Эти конечные выводы сами по себе часто называются выводами в теории доказательств. Их также часто называют доказательствами, но они полностью формализованы в отличие от математических доказательств на естественном языке .
Дедуктивная система является обоснованной , если любая формула, которая может быть выведена в системе, является логически допустимой. И наоборот, дедуктивная система является полной , если каждая логически допустимая формула является выводимой. Все системы, обсуждаемые в этой статье, являются как обоснованными, так и полными. Они также обладают тем свойством, что можно эффективно проверить, что якобы допустимый вывод на самом деле является выводом; такие системы вывода называются эффективными .
Ключевым свойством дедуктивных систем является то, что они являются чисто синтаксическими, так что выводы могут быть проверены без рассмотрения какой-либо интерпретации. Таким образом, обоснованный аргумент является правильным в любой возможной интерпретации языка, независимо от того, касается ли эта интерпретация математики, экономики или какой-либо другой области.
В общем, логическое следствие в логике первого порядка разрешимо лишь наполовину : если предложение A логически подразумевает предложение B, то это можно обнаружить (например, путем поиска доказательства, пока оно не будет найдено, используя некоторую эффективную, надежную, полную систему доказательств). Однако, если A логически не подразумевает B, это не означает, что A логически подразумевает отрицание B. Не существует эффективной процедуры, которая, учитывая формулы A и B, всегда правильно решает, подразумевает ли A логически B.
Правило вывода гласит, что, если в качестве гипотезы взять конкретную формулу (или набор формул) с определенным свойством, то в качестве заключения может быть выведена другая конкретная формула (или набор формул). Правило является обоснованным (или сохраняющим истину), если оно сохраняет обоснованность в том смысле, что всякий раз, когда какая-либо интерпретация удовлетворяет гипотезе, эта интерпретация также удовлетворяет заключению.
Например, одним из распространенных правил вывода является правило подстановки . Если t — это термин, а φ — это формула, возможно, содержащая переменную x , то φ[ t / x ] является результатом замены всех свободных вхождений x на t в φ. Правило подстановки гласит, что для любого φ и любого термина t можно вывести φ[ t / x ] из φ при условии, что никакая свободная переменная t не становится связанной в процессе подстановки. (Если какая-то свободная переменная t становится связанной, то для подстановки t вместо x сначала необходимо изменить связанные переменные φ так, чтобы они отличались от свободных переменных t .)
Чтобы увидеть, почему ограничение на связанные переменные необходимо, рассмотрим логически допустимую формулу φ, заданную как , в сигнатуре (0,1,+,×,=) арифметики. Если t — это термин «x + 1», формула φ[ t / y ] будет , что будет ложным во многих интерпретациях. Проблема в том, что свободная переменная x из t стала связанной во время подстановки. Предполагаемую замену можно получить, переименовав связанную переменную x из φ во что-то другое, скажем, z , так что формула после подстановки будет , что снова логически допустимо.
Правило подстановки демонстрирует несколько общих аспектов правил вывода. Оно полностью синтаксическое; можно сказать, было ли оно правильно применено, не прибегая к какой-либо интерпретации. Оно имеет (синтаксически определенные) ограничения на то, когда его можно применять, которые должны соблюдаться для сохранения правильности выводов. Более того, как это часто бывает, эти ограничения необходимы из-за взаимодействий между свободными и связанными переменными, которые возникают во время синтаксических манипуляций формулами, участвующими в правиле вывода.
Вывод в дедуктивной системе в стиле Гильберта представляет собой список формул, каждая из которых является логической аксиомой , гипотезой, которая была принята для вывода в данный момент или следует из предыдущих формул через правило вывода. Логические аксиомы состоят из нескольких схем аксиом логически допустимых формул; они охватывают значительный объем пропозициональной логики. Правила вывода позволяют манипулировать кванторами. Типичные системы в стиле Гильберта имеют небольшое количество правил вывода, наряду с несколькими бесконечными схемами логических аксиом. Обычно в качестве правил вывода используются только modus ponens и универсальное обобщение .
Системы естественного вывода напоминают системы в стиле Гильберта, в которых вывод — это конечный список формул. Однако системы естественного вывода не имеют логических аксиом; они компенсируют это добавлением дополнительных правил вывода, которые можно использовать для манипулирования логическими связками в формулах в доказательстве.
Секвенциальное исчисление было разработано для изучения свойств систем естественной дедукции. [25] Вместо того, чтобы работать с одной формулой за раз, оно использует секвенции , которые представляют собой выражения вида:
где A 1 , ..., A n , B 1 , ..., B k — формулы, а символ турникета используется как знак препинания для разделения двух половин. Интуитивно секвенция выражает идею, которая подразумевает .
В отличие от только что описанных методов, выводы в методе таблиц не являются списками формул. Вместо этого вывод представляет собой дерево формул. Чтобы показать, что формула A доказуема, метод таблиц пытается продемонстрировать, что отрицание A невыполнимо. Дерево вывода имеет в своем корне; дерево разветвляется таким образом, который отражает структуру формулы. Например, чтобы показать, что является невыполнимым, необходимо показать, что C и D каждый невыполнимы; это соответствует точке ветвления в дереве с родителем и потомками C и D.
Правило резолюции — это единое правило вывода, которое вместе с унификацией является обоснованным и полным для логики первого порядка. Как и в методе таблиц, формула доказывается путем демонстрации того, что отрицание формулы невыполнимо. Резолюция обычно используется в автоматизированном доказательстве теорем.
Метод резолюции работает только с формулами, которые являются дизъюнкциями атомарных формул; произвольные формулы должны быть сначала преобразованы в эту форму посредством скулемизации . Правило резолюции гласит, что из гипотез и можно получить заключение .
Можно доказать множество тождеств, которые устанавливают эквивалентности между конкретными формулами. Эти тождества позволяют переставлять формулы, перемещая квантификаторы по другим связкам, и полезны для приведения формул в предваренную нормальную форму . Некоторые доказуемые тождества включают:
Существует несколько различных соглашений об использовании равенства (или тождества) в логике первого порядка. Наиболее распространенное соглашение, известное как логика первого порядка с равенством , включает символ равенства как примитивный логический символ, который всегда интерпретируется как реальное отношение равенства между членами области дискурса, так что «два» данных члена являются одним и тем же членом. Этот подход также добавляет определенные аксиомы о равенстве к используемой дедуктивной системе. Эти аксиомы равенства: [26] : 198–200
Это схемы аксиом , каждая из которых определяет бесконечное множество аксиом. Третья схема известна как закон Лейбница , «принцип подстановки», «неразличимость тождественных» или «свойство замены». Вторая схема, включающая символ функции f , является (эквивалентна) частному случаю третьей схемы, использующей формулу:
Затем
Поскольку дано x = y , а f (..., x , ...) = f (..., x , ...) истинно по рефлексивности, то имеем f (..., x , ...) = f (..., y , ...)
Многие другие свойства равенства являются следствиями приведенных выше аксиом, например:
Альтернативный подход рассматривает отношение равенства как нелогический символ. Это соглашение известно как логика первого порядка без равенства . Если отношение равенства включено в сигнатуру, аксиомы равенства теперь должны быть добавлены к рассматриваемым теориям, если это необходимо, вместо того, чтобы считаться правилами логики. Главное отличие этого метода от логики первого порядка с равенством заключается в том, что интерпретация теперь может интерпретировать двух различных индивидов как «равных» (хотя, по закону Лейбница, они будут удовлетворять точно таким же формулам при любой интерпретации). То есть отношение равенства теперь может быть интерпретировано произвольным отношением эквивалентности в области дискурса, которое является конгруэнтным относительно функций и отношений интерпретации.
При соблюдении этого второго соглашения термин нормальная модель используется для обозначения интерпретации, в которой нет отдельных индивидов a и b, удовлетворяющих a = b . В логике первого порядка с равенством рассматриваются только нормальные модели, и поэтому нет термина для модели, отличной от нормальной модели. При изучении логики первого порядка без равенства необходимо внести поправки в формулировки результатов, такие как теорема Лёвенгейма–Скулема, так, чтобы рассматривались только нормальные модели.
Логика первого порядка без равенства часто применяется в контексте арифметики второго порядка и других теорий арифметики более высокого порядка, где отношение равенства между множествами натуральных чисел обычно опускается.
Если теория имеет бинарную формулу A ( x , y ), которая удовлетворяет рефлексивности и закону Лейбница, говорят, что теория имеет равенство или является теорией с равенством. Теория может не иметь все примеры вышеприведенных схем в качестве аксиом, а скорее в качестве выводимых теорем. Например, в теориях без функциональных символов и с конечным числом отношений можно определить равенство в терминах отношений, определив два термина s и t как равные, если любое отношение не изменяется при замене s на t в любом аргументе.
Некоторые теории допускают иные специальные определения равенства:
Одной из причин использования логики первого порядка вместо логики высшего порядка является то, что логика первого порядка имеет много металогических свойств, которых нет у более сильных логик. Эти результаты касаются общих свойств самой логики первого порядка, а не свойств отдельных теорий. Они предоставляют фундаментальные инструменты для построения моделей теорий первого порядка.
Теорема о полноте Гёделя , доказанная Куртом Гёделем в 1929 году, устанавливает, что существуют надежные, полные, эффективные дедуктивные системы для логики первого порядка, и, таким образом, отношение логического следствия первого порядка охватывается конечной доказуемостью. Наивно, утверждение, что формула φ логически подразумевает формулу ψ, зависит от каждой модели φ; эти модели, как правило, будут иметь произвольно большую мощность, и поэтому логическое следствие не может быть эффективно проверено проверкой каждой модели. Однако можно перечислить все конечные выводные данные и найти вывод ψ из φ. Если ψ логически подразумевается φ, такой вывод в конечном итоге будет найден. Таким образом, логическое следствие первого порядка полуразрешимо : можно сделать эффективное перечисление всех пар предложений (φ,ψ) таким образом, что ψ является логическим следствием φ.
В отличие от пропозициональной логики , логика первого порядка неразрешима (хотя и полуразрешима), при условии, что язык имеет по крайней мере один предикат арности не менее 2 (кроме равенства). Это означает, что не существует процедуры принятия решения , которая определяет, являются ли произвольные формулы логически допустимыми. Этот результат был установлен независимо Алонзо Чёрчем и Аланом Тьюрингом в 1936 и 1937 годах соответственно, что дало отрицательный ответ на Entscheidungsproblem, поставленную Дэвидом Гильбертом и Вильгельмом Аккерманом в 1928 году. Их доказательства демонстрируют связь между неразрешимостью проблемы принятия решения для логики первого порядка и неразрешимостью проблемы остановки .
Существуют системы слабее полной логики первого порядка, для которых отношение логического следствия разрешимо. К ним относятся пропозициональная логика и монадическая предикатная логика , которая является логикой первого порядка, ограниченной унарными предикатными символами и не содержащей функциональных символов. Другие логики без функциональных символов, которые разрешимы, — это защищенный фрагмент логики первого порядка, а также двухпеременная логика . Класс формул первого порядка Бернайса–Шенфинкеля также разрешим. Разрешимые подмножества логики первого порядка также изучаются в рамках дескрипционных логик .
Теорема Лёвенгейма–Скулема показывает, что если теория первого порядка мощности λ имеет бесконечную модель, то она имеет модели любой бесконечной мощности, большей или равной λ. Один из самых ранних результатов в теории моделей , он подразумевает, что невозможно охарактеризовать счетность или несчетность в языке первого порядка со счетной сигнатурой. То есть, не существует формулы первого порядка φ( x ) такой, что произвольная структура M удовлетворяет φ тогда и только тогда, когда область дискурса M счетна (или, во втором случае, несчетна).
Теорема Лёвенгейма–Скулема подразумевает, что бесконечные структуры не могут быть категорически аксиоматизированы в логике первого порядка. Например, не существует теории первого порядка, единственной моделью которой является действительная прямая: любая теория первого порядка с бесконечной моделью также имеет модель мощности, большей, чем континуум. Поскольку действительная прямая бесконечна, любая теория, удовлетворяемая действительной прямой, удовлетворяется также некоторыми нестандартными моделями . Когда теорема Лёвенгейма–Скулема применяется к теориям множеств первого порядка, неинтуитивные следствия известны как парадокс Скулема .
Теорема компактности утверждает, что множество предложений первого порядка имеет модель тогда и только тогда, когда каждое его конечное подмножество имеет модель. [29] Это подразумевает, что если формула является логическим следствием бесконечного множества аксиом первого порядка, то она является логическим следствием некоторого конечного числа этих аксиом. Эта теорема была впервые доказана Куртом Гёделем как следствие теоремы о полноте, но со временем было получено много дополнительных доказательств. Это центральный инструмент в теории моделей, предоставляющий фундаментальный метод построения моделей.
Теорема компактности имеет ограничивающий эффект на то, какие наборы структур первого порядка являются элементарными классами. Например, теорема компактности подразумевает, что любая теория, имеющая произвольно большие конечные модели, имеет бесконечную модель. Таким образом, класс всех конечных графов не является элементарным классом (то же самое справедливо для многих других алгебраических структур).
Существуют также более тонкие ограничения логики первого порядка, которые подразумеваются теоремой о компактности. Например, в информатике многие ситуации можно смоделировать как направленный граф состояний (узлов) и связей (направленных ребер). Проверка такой системы может потребовать показать, что ни одно «плохое» состояние не может быть достигнуто из любого «хорошего» состояния. Таким образом, мы стремимся определить, находятся ли хорошие и плохие состояния в разных связных компонентах графа. Однако теорему о компактности можно использовать, чтобы показать, что связные графы не являются элементарным классом в логике первого порядка, и нет формулы φ( x , y ) логики первого порядка, в логике графов , которая выражает идею о том, что существует путь от x до y . Связность может быть выражена в логике второго порядка , однако, но не только с помощью кванторов множества существования, поскольку также обладает компактностью.
Пер Линдстрём показал, что только что обсуждавшиеся металогические свойства на самом деле характеризуют логику первого порядка в том смысле, что никакая более сильная логика не может также обладать этими свойствами (Эббингауз и Флум 1994, Глава XIII). Линдстрём определил класс абстрактных логических систем и строгое определение относительной силы члена этого класса. Он установил две теоремы для систем этого типа:
Хотя логика первого порядка достаточна для формализации большей части математики и широко используется в информатике и других областях, она имеет определенные ограничения. К ним относятся ограничения ее выразительности и ограничения фрагментов естественных языков, которые она может описывать.
Например, логика первого порядка неразрешима, что означает, что надежный, полный и завершающий алгоритм принятия решения для доказуемости невозможен. Это привело к изучению интересных разрешимых фрагментов, таких как C 2 : логика первого порядка с двумя переменными и подсчитывающими кванторами и . [30]
Теорема Лёвенгейма–Скулема показывает, что если теория первого порядка имеет любую бесконечную модель, то она имеет бесконечные модели любой мощности. В частности, никакая теория первого порядка с бесконечной моделью не может быть категоричной . Таким образом, не существует теории первого порядка, единственная модель которой имеет множество натуральных чисел в качестве своей области определения или единственная модель которой имеет множество действительных чисел в качестве своей области определения. Многие расширения логики первого порядка, включая бесконечные логики и логики более высокого порядка, более выразительны в том смысле, что они допускают категорические аксиоматизации натуральных чисел или действительных чисел [ необходимо разъяснение ] . Однако эта выразительность имеет металогическую цену: по теореме Линдстрёма , теорема о компактности и нисходящая теорема Лёвенгейма–Скулема не могут выполняться ни в какой логике, более сильной, чем логика первого порядка.
Логика первого порядка способна формализовать множество простых кванторных конструкций на естественном языке, например, «каждый человек, который живет в Перте, живет в Австралии». Следовательно, логика первого порядка используется в качестве основы для языков представления знаний , таких как FO(.) .
Тем не менее, существуют сложные особенности естественного языка, которые не могут быть выражены в логике первого порядка. «Любая логическая система, которая подходит в качестве инструмента для анализа естественного языка, нуждается в гораздо более богатой структуре, чем логика предикатов первого порядка». [31]
Существует множество вариаций логики первого порядка. Некоторые из них несущественны в том смысле, что они просто меняют нотацию, не влияя на семантику. Другие изменяют выразительную силу более существенно, расширяя семантику с помощью дополнительных квантификаторов или других новых логических символов. Например, бесконечные логики допускают формулы бесконечного размера, а модальные логики добавляют символы для возможности и необходимости.
Логику первого порядка можно изучать на языках с меньшим количеством логических символов, чем описано выше:
Ограничения, подобные этим, полезны как метод сокращения количества правил вывода или схем аксиом в дедуктивных системах, что приводит к более коротким доказательствам металогических результатов. Цена ограничений заключается в том, что становится сложнее выражать утверждения на естественном языке в формальной системе, поскольку логические связки, используемые в утверждениях на естественном языке, должны быть заменены их (более длинными) определениями в терминах ограниченного набора логических связок. Аналогично, выводы в ограниченных системах могут быть длиннее, чем выводы в системах, которые включают дополнительные связки. Таким образом, существует компромисс между простотой работы в формальной системе и простотой доказательства результатов о формальной системе.
Также возможно ограничить арность символов функций и предикатных символов в достаточно выразительных теориях. В принципе можно полностью обойтись без функций арности больше 2 и предикатов арности больше 1 в теориях, которые включают функцию спаривания . Это функция арности 2, которая берет пары элементов домена и возвращает упорядоченную пару, содержащую их. Также достаточно иметь два предикатных символа арности 2, которые определяют функции проекции из упорядоченной пары в ее компоненты. В любом случае необходимо, чтобы были удовлетворены естественные аксиомы для функции спаривания и ее проекций.
Обычные интерпретации первого порядка имеют одну область дискурса, в которой ранжируются все квантификаторы. Многосортная логика первого порядка позволяет переменным иметь различные сорта , которые имеют различные домены. Это также называется типизированной логикой первого порядка , а сорта называются типами (как в типе данных ), но это не то же самое, что теория типов первого порядка . Многосортная логика первого порядка часто используется при изучении арифметики второго порядка . [33]
Когда в теории имеется только конечное число сортов, многосортная логика первого порядка может быть сведена к односортной логике первого порядка. [34] : 296–299 В односортную теорию вводится унарный предикатный символ для каждого сорта в многосортной теории и добавляется аксиома, гласящая, что эти унарные предикаты разделяют область дискурса. Например, если имеется два сорта, добавляются предикатные символы и и аксиома:
Тогда элементы, удовлетворяющие , рассматриваются как элементы первого сорта, а элементы, удовлетворяющие , как элементы второго сорта. Можно провести квантификацию по каждому сорту, используя соответствующий предикатный символ для ограничения диапазона квантификации. Например, чтобы сказать, что существует элемент первого сорта, удовлетворяющий формуле , нужно написать:
К логике первого порядка можно добавить дополнительные квантификаторы.
Бесконечная логика допускает бесконечно длинные предложения. Например, можно допустить конъюнкцию или дизъюнкцию бесконечного числа формул или квантификацию по бесконечному числу переменных. Бесконечно длинные предложения возникают в таких областях математики, как топология и теория моделей .
Бесконечная логика обобщает логику первого порядка, чтобы разрешить формулы бесконечной длины. Наиболее распространенный способ, которым формулы могут стать бесконечными, — это бесконечные конъюнкции и дизъюнкции. Однако также возможно допускать обобщенные сигнатуры, в которых символы функций и отношений могут иметь бесконечную арность или в которых квантификаторы могут связывать бесконечно много переменных. Поскольку бесконечная формула не может быть представлена конечной строкой, необходимо выбрать какое-то другое представление формул; обычным представлением в этом контексте является дерево. Таким образом, формулы, по сути, идентифицируются с их деревьями синтаксического анализа, а не с анализируемыми строками.
Наиболее часто изучаемые бесконечные логики обозначаются как L αβ , где α и β являются либо кардинальными числами , либо символом ∞. В этой нотации обычная логика первого порядка — это L ωω . В логике L ∞ω при построении формул допускаются произвольные конъюнкции или дизъюнкции, и существует неограниченный запас переменных. В более общем смысле, логика, которая допускает конъюнкции или дизъюнкции с менее чем κ составляющими, известна как L κω . Например, L ω 1 ω допускает счетные конъюнкции и дизъюнкции.
Множество свободных переменных в формуле L κω может иметь любую мощность, строго меньшую κ, однако только конечное число из них может находиться в области действия любого квантификатора, когда формула появляется как подформула другой. [35] В других бесконечных логиках подформула может находиться в области действия бесконечного числа квантификаторов. Например, в L κ∞ один всеобщий или экзистенциальный квантификатор может связывать произвольное число переменных одновременно. Аналогично, логика L κλ допускает одновременную квантификацию по меньшему, чем λ, числу переменных, а также конъюнкции и дизъюнкции размера меньше κ.
Логика фиксированных точек расширяет логику первого порядка, добавляя замыкание под наименьшими фиксированными точками положительных операторов. [36]
Характерной чертой логики первого порядка является то, что индивиды могут быть количественно оценены, но не предикаты. Таким образом,
является законной формулой первого порядка, но
не является, в большинстве формализаций логики первого порядка. Логика второго порядка расширяет логику первого порядка, добавляя последний тип квантификации. Другие логики более высокого порядка допускают квантификацию даже более высоких типов , чем допускает логика второго порядка. Эти более высокие типы включают отношения между отношениями, функции от отношений к отношениям между отношениями и другие объекты более высокого типа. Таким образом, «первый» в логике первого порядка описывает тип объектов, которые могут быть квантифицированы.
В отличие от логики первого порядка, для которой изучается только одна семантика, для логики второго порядка существует несколько возможных семантик. Наиболее часто используемая семантика для логики второго порядка и высшего порядка известна как полная семантика . Сочетание дополнительных квантификаторов и полной семантики для этих квантификаторов делает логику высшего порядка сильнее, чем логику первого порядка. В частности, (семантическое) логическое отношение следования для логики второго порядка и высшего порядка не является полуразрешимым; не существует эффективной системы вывода для логики второго порядка, которая была бы обоснованной и полной в рамках полной семантики.
Логика второго порядка с полной семантикой более выразительна, чем логика первого порядка. Например, в логике второго порядка можно создать системы аксиом, которые однозначно характеризуют натуральные числа и действительную прямую. Цена этой выразительности заключается в том, что логики второго и более высокого порядка имеют меньше привлекательных металогических свойств, чем логика первого порядка. Например, теорема Лёвенгейма–Сколема и теорема о компактности логики первого порядка становятся ложными при обобщении на логики высшего порядка с полной семантикой.
Автоматизированное доказательство теорем относится к разработке компьютерных программ, которые ищут и находят выводы (формальные доказательства) математических теорем. [37] Поиск выводов является сложной задачей, поскольку пространство поиска может быть очень большим; исчерпывающий поиск всех возможных выводов теоретически возможен, но вычислительно невыполним для многих систем, представляющих интерес в математике. Таким образом, разрабатываются сложные эвристические функции , чтобы попытаться найти вывод за меньшее время, чем слепой поиск. [38]
Смежная область автоматизированной проверки доказательств использует компьютерные программы для проверки корректности созданных человеком доказательств. В отличие от сложных автоматизированных доказателей теорем, системы проверки могут быть достаточно маленькими, чтобы их корректность можно было проверить как вручную, так и с помощью автоматизированной проверки программного обеспечения. Эта проверка верификатора доказательств необходима для того, чтобы дать уверенность в том, что любой вывод, помеченный как «корректный», на самом деле корректен.
Некоторые верификаторы доказательств, такие как Metamath , настаивают на наличии полного вывода в качестве входных данных. Другие, такие как Mizar и Isabelle , берут хорошо отформатированный набросок доказательства (который все еще может быть очень длинным и подробным) и заполняют недостающие части, выполняя простой поиск доказательств или применяя известные процедуры принятия решений: полученный вывод затем проверяется небольшим основным «ядром». Многие такие системы в первую очередь предназначены для интерактивного использования математиками-людьми: они известны как помощники по доказательству . Они также могут использовать формальную логику, которая сильнее логики первого порядка, например, теорию типов. Поскольку полный вывод любого нетривиального результата в дедуктивной системе первого порядка будет чрезвычайно длинным для записи человеком, [39] результаты часто формализуются в виде серии лемм, для которых выводы могут быть построены отдельно.
Автоматизированные доказатели теорем также используются для реализации формальной проверки в информатике. В этой обстановке доказатели теорем используются для проверки правильности программ и оборудования, такого как процессоры, относительно формальной спецификации . Поскольку такой анализ занимает много времени и, следовательно, дорог, его обычно используют для проектов, в которых сбой может иметь серьезные человеческие или финансовые последствия.
Для задачи проверки модели известны эффективные алгоритмы , позволяющие решить, удовлетворяет ли входная конечная структура формуле первого порядка, в дополнение к ограничениям вычислительной сложности : см. Проверка модели § Логика первого порядка .