B направлениями на точку A и C; обозначение ?(A, B, C), сокращенно ?ABC.
Не всякий объект можно подставить в качестве аргумента (аргументов) в заданную функцию. Если объект a — рыжий пес, то, очевидно, конструкция «чин»(a) бессмысленна. Бессмысленна и конструкция +(a, B), где a — число, а, B — точка в пространстве. Множество объектов, которые могут быть аргументами функции (для функций от многих аргументов — множество наборов объектов), называется ее областью определения. Область определения функции «чин» (x) образуют все те объекты, которые являются военнослужащими. Объекты, которые могут быть значениями данной функции, образуют множество, которое называют областью значений функции. В область значений функции «чин»(x) входят такие объекты, как «прапорщик», «поручик», «майор» и др., но никак не «3.14» или «рыжий пес». Функция «чин»(x) приписывает каждому военнослужащему определенный чин.
Когда мы имеем дело с функциями, одно из отношений между объектами становится особенно важным, а именно отношение равенства. Оно необходимо для установления соответствия между функциональными конструкциями и наименованиями объектов из области значений функций. Выделяя равенство из массы других отношений, мы сохраним для него привычную запись х = у вместо записи в виде предиката =(х, у). Тот факт, что объект c имеет фамилию «Пшебысский» и чин «поручик», будет выглядеть следующим образом:
(«фамилия»(c) = «Пшебысский») ? («чин»(c) = «поручик»).
Отношение равенства можно определить формально с помощью следующих четырех утверждений:
(?a)(a = a). (?a)(?b)[(a = b) ? (b = a)]. (?a)(?b)(?c) [(a = b) ? (b = c) ? (a = c)].(?a) (?b)[(a = b) ? (W (a) ? W(b))].
Последнее утверждение верно для любого высказывания W (x), зависящего от переменной х. В качестве упражнений предлагаем читателю перевести эти утверждения на естественный язык.
В одном из примеров, приведенных выше, мы видели предикат D (x, y), имеющий смысл: «x является делителем у». Понятие делимости целиком определяется операцией (функцией) умножения, поэтому предикат D(x, у) может быть выражен через функцию. Натуральное (т. е. целое положительное) число p является делителем числа n тогда и только тогда, когда существует такое натуральное число т, что n = p ? m. На языке исчисления предикатов
(?p)(?n)[D (p, n) ? (?m) (n = ?(p, m))].
Каждой функции от n аргументов можно поставить в соответствие n+1-местный предикат, выражающий то отношение, что один (скажем, последний) аргумент есть данная функция от остальных аргументов. Например, функции ?(x, y) соответствует предикат M(x, y, z), который дает верное высказывание в том и только в том случае, когда z = ?(x, y). В общем случае функции f(x, у, ..., z) соответствует предикат F(x, у, ..., z, u), обладающий свойством
(?x)( ?y)...(?z)( ?u)[F(x, у, ..., z, и) ? (f(x, у, ..., z) = u)].
Предикат F выражает фактически то же понятие, что и функция f. Любое высказывание, содержащее функциональные символы, можно переписать, используя лишь предикатные символы и введя дополнительно некоторое число объектных переменных. Таким образом, обе конструкции, порождающие новые объекты, — конструкция со связкой «такой, что» и функция — не являются принципиально необходимыми и без них можно обойтись. Однако в отличие от конструкции «такой, что» функциональные символы весьма удобны и широко используются в логике.
В заключение нашего краткого очерка логики рассмотрим вопрос о связи языка логики и естественного языка. Попутно будут введены важные понятия синтаксис и семантика языка.
Вспомним фразу о рыжем псе, которую мы разложили в набор высказываний, выражаемых с помощью предикатов. Смысл, значение, этого набора совпадает со смыслом исходной фразы, а форма записи, структура текста, существенно отличается. В семиотике (наука, изучающая знаковые системы) совокупность правил построения элементов языка называют его синтаксисом, а связь между элементами языка и их значениями — семантикой. Следовательно, первое, что бросается в глаза при сравнении логического и естественного языков, это то, что язык логики имеет другой синтаксис. Этот синтаксис прост и единообразен. Он основан на стиле обозначений, сложившемся в математике, — конструирование более сложных элементов языка из более простых, изображается по аналогии с математической записью операций и функций. Синтаксис языка логики полностью формализован, т. е. существует набор четко сформулированных правил, с помощью которых можно построить любой языковый элемент. Далее, какой бы правильно построенный элемент языка (объект или высказывание) мы ни взяли, всегда можно восстановить путь, которым этот элемент был построен, его структуру. Этот процесс называется синтаксическим анализом элемента. Легко убедиться, что в языке логики синтаксический анализ чрезвычайно прост и однозначен.
Синтаксис (в смысле семиотики) естественного языка — это его грамматика, т. е. правила конструирования предложений из слов (синтаксис в узком, лингвистическом смысле слова) и правила конструирования слов из букв (морфология). В отличие от языка логики синтаксис естественного языка отнюдь не является полностью формализованным. Он включает в себя множество правил с великим множеством исключений. Это различие вполне понятно: язык логики создавался искусственно, а естественный язык — продукт долгого развития, которым никто не управлял сознательно, никто не пользовался заранее продуманным планом. Грамматика естественного языка — это