Моделью А языка L первого порядка называется пара, состоящая из множества А, назы ваемого универсумом, и функции , сопоставляющей
· каждому символу константы c Î L некоторый элемент ;
· каждому символу n-арной операции f из L функцию ;
· каждому предикатному символу R из L отношение .
Символ «=» интерпретируется как логический символ, такой, что .
Пример 1
Пусть L = {R} состоит из одного предикатного символа, и пусть #(R) = 2. Модель языка L задаётся как пара A = (A, r), состоящая из множества А и отношения , равного . Такую модель можно представить как ориентированный граф, вершинами которого являются элементы из А, а рёбрами – пары (a, b) Î r. Произвольное множество с отношением порядка будет моделью этого языка, если положить .
Пример 2
Полугруппой называется множество А вместе с бинарной операцией , удовлетворяющей закону ассоциативности a×(b×c) = (a×b)×c, для всех a, b, c Î A. Полугруппа вместе с элементом e Î A, удовлетворяющим для всех a Î A соотношениям e×a = a×e = a, называется моноидом. Моноид, в котором для каждого a Î A задан такой элемент , что , называется группой. Язык теории полугрупп L = {×} состоит из одного элемента, #(×) = 2. Язык теории моноидов состоит из символов бинарной операции и константы. Язык теории групп состоит из символов бинарной и унарной операций и из символа константы. Множество действительных чисел R вместе с аддитивными операциями (R, +, -x, 0) будет моделью языка теории групп. Символы интерпретируются следующим образом:
.
Моделью языка теории групп будет также множество положительных действительных чисел с мультипликативными операциями ). Множество натуральных чисел w можно рассматривать как линейно упорядоченный моноид, если определить язык теории линейно упорядоченных моноидов как L = {+, 0, £}.
Модели языка теории групп могут не удовлетворять закону ассоциативности и другим формулам, определяющим группу. Наша задача – дать формальное определение истинности предложений q в модели А языка первого порядка. Будем записывать выполнение формулы q в модели А, как А |= q. Например:
(R, +, 0) |= "x $y (x×y = e)
будет верно, поскольку для каждого a Î R существует такой b Î R, что a + b = 0.
Обычно не для всякого элемента модели существует символ константы, обозначающий этот элемент. Предположим, однако, что для каждого a Î A существует такой символ константы в языке L, что . Интерпретацию операций можно расширить на термы, не содержащие переменных, с помощью преобразования:
.
Каждому терму t без переменных будет соответствовать элемент . Определим отношение |= («удовлетворяет формуле») по индукции:
1) A |= R , если
2) A |= Øq, если и только если утверждение A |= q ложно;
3) A |= (q Ú y), если и только если A |= q или A |= y;
4) A |= $ x q(x), если и только если существует такой b Î A, что A |= q ().
Определим теперь A |= q для произвольных языка L и модели А этого языка. Пусть , где – символы констант. Обозначим через модель языка , полученную из модели A сопоставлением каждому элемента a.
Заметим, что поскольку " x q(x) равносильно Ø$ x (Øq(x)), то A |= "xq(x) тогда и только тогда, когда для всех b Î A верно A |= q ().
Если q – предложение языка L, то положим: A |= q, если и только если |= q.
Пример 3
Пусть L = {×, e, R} – язык теории частично упорядоченных моноидов. Рассмотрим модель N = (w, +, 0, £). Справедливость утверждения:
(w, +, 0, £) |=
равносильна выполнению стоящего в правой части равенства предложения для модели языка . Предложение означает, что для любых p, q, r Î w верно , интерпретируемое как .
Замечание. Альфред Тарский был первым, ясно осознавшим необходимость определения истинности предложения для модели. Он предложил следующий метод, отличный от рассматриваемого нами.
Пусть А – модель языка первого порядка L. Рассмотрим произвольную функцию . Будем называть её А-оценкой и представлять в виде бесконечной последовательности , i-й член которой является значением переменной , даваемой оценкой b. Определяется оценка b(t) для каждого терма:
1) если t есть переменная , то ;
2) если t есть константа с, то ;
3) если t есть n-арная операция, то .
Выполнение формулы q в модели А при оценке b записывается как A |= q[b] и определяется по индукции:
1) A |= , если и только если ();
2) A |= Øq [b], если и только если A |= q[b] ложно;
3) A |= (q Ú y)[b], если и только если A |= q[b] или A |= q[y].
4) A |= $ q()[b], если и только если q выполнена хотя бы на одной последовательности , отличной от b не более чем в одной i-й компоненте
Наконец, модель А называется удовлетворяющей формуле q, если A |= q[b] для всякой оценки b.
Возвращаясь к нашему первоначальному определению, отметим следующее утверждение, доказательство которого ясное, но громоздкое:
Пусть – языки первого порядка. Для любой модели А языка обозначим через множество А, рассматриваемое как модель языка . Тогда для любого предложения q языка утверждение A |= q истинно, если и только если |= q.