Языки первого порядка
Помимо логических связок, в математических рассуждениях часто
встречаются кванторы "для любого" ( ) и "существует" (
).
Например, определение непрерывности начинается словами "для
любого положительного
найдется положительное
, для которого, ...". А одна из аксиом
теории групп (существование обратного элемента) записывается так:
.
Можно сформулировать различные логические законы, включающие в
себя кванторы. Например, высказывание "существует такое ,
что
" (где
— некоторое свойство объекта
) логически эквивалентно высказыванию "не для всех
верно
".
Мы будем записывать такого рода законы с помощью формул, дадим определение истинности формул (при данной интерпретации входящих в них символов) и исследуем, какого рода свойства можно выражать с помощью формул и какие нельзя.
Формулы и интерпретации
Начнем с примера. Пусть — некоторое непустое множество, а
— бинарное отношение на нем, то есть подмножество
декартова произведения
. Вместо
мы будем писать
.
Рассмотрим формулу
![\forall x\, \exists y\, R(x,y).](/sites/default/files/tex_cache/ea2796108789667a129bf2d5bef5d9b1.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![x\in M](/sites/default/files/tex_cache/b59b15da2e9712d821385c9f0cbbba55.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![M](/sites/default/files/tex_cache/69691c7bdcc3ce6d5d8a1361f22d04ac.png)
![\mathbb{N}](/sites/default/files/tex_cache/9b3ecd4f5f0cc174717f19cec0743fcd.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![\langle x,y\rangle](/sites/default/files/tex_cache/0e0eefb313a7d7ef6437eafef3fc945b.png)
![x\hm<y](/sites/default/files/tex_cache/7b62ba2b958b2f4120b1ac8745335bc6.png)
Вопрос о том, будет ли истинна формула
![\exists y\, R(x,y)](/sites/default/files/tex_cache/1b7427e61ff86816353f90435794e7a0.png)
![M](/sites/default/files/tex_cache/69691c7bdcc3ce6d5d8a1361f22d04ac.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![x](/sites/default/files/tex_cache/9dd4e461268c8034f5c8564e155c67a6.png)
![M=\mathbb{N}](/sites/default/files/tex_cache/26d706a9ae93ba060ae632dcc9bdab52.png)
![R(x,y)](/sites/default/files/tex_cache/f913a14b4ff893b4e43a2796429162e3.png)
![x\hm>y](/sites/default/files/tex_cache/cffbcc8e025eae0f4eba1f94f4ace0f9.png)
![x=3](/sites/default/files/tex_cache/5870bb658ee9e8a6900c138365d64c80.png)
![x=0](/sites/default/files/tex_cache/e11729b0b65ecade3fc272548a3883fc.png)
![M](/sites/default/files/tex_cache/69691c7bdcc3ce6d5d8a1361f22d04ac.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![x](/sites/default/files/tex_cache/9dd4e461268c8034f5c8564e155c67a6.png)
![M](/sites/default/files/tex_cache/69691c7bdcc3ce6d5d8a1361f22d04ac.png)
Перейдем к формальным определениям. Пусть — непустое
множество. Множество
состоит из всех последовательностей
длины
, составленных из
элементов множества
. Назовем
-местной
функцией на множестве
любое отображение
в
(определенное на всем
). Синонимы: "функция
аргументов",
"функция валентности
", "функция местности
" и даже "функция арности
" (последнее слово происходит от слов
"унарная" для функций одного аргумента, "бинарная"
(операция) для функций двух аргументов и "тернарная" для трех аргументов).
Назовем -местным предикатом на множестве
любое
отображение
в множество
. Такой
предикат будет истинным на некоторых наборах
множества
и ложным на остальных
наборах. Поставив ему в соответствие множество тех наборов, где
он истинен, мы получаем взаимно однозначное соответствие между
-местными предикатами на
и подмножествами
множества
. Говоря о предикатах, также употребляют термины
"валентность", "число аргументов" и др.
Мы будем рассматривать также функции и предикаты валентности нуль.
Множество одноэлементно (содержит единственную
последовательность длины
). Поэтому функции
отождествляются с элементами множества
, а нульместных
предикатов ровно два — истинный и ложный.
Естественно, что в формулы будут входить не сами функции и предикаты, а обозначения для них, которые называют функциональными и предикатными символами. В качестве символов можно использовать любые знаки. Важно лишь, что каждому символу приписана валентность, которая определяет, со сколькими аргументами он может встречаться в формуле. Произвольный набор предикатных и функциональных символов, для каждого из которых указано неотрицательное число, называемое валентностью, мы будем называть сигнатурой.
Остается определить три вещи: что такое формула данной сигнатуры, что такое интерпретация данной сигнатуры и когда формула является истинной (в данной интерпретации).
Фиксируем некоторый набор символов, называемых индивидными
переменными. Они предназначены для обозначения элементов
множества, на котором определены функции и предикаты; обычно
в таком качестве используют латинские буквы с индексами. В каждой формуле будет использоваться
конечное число переменных, так что счетного набора переменных
нам хватит. Мы предполагаем, что переменные отличны от всех
функциональных и предикатных символов сигнатуры (иначе выйдет
путаница).