Феномен науки. Кибернетический подход к эволюции
Шрифт:
(«фамилия»(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))].
Последнее
В одном из примеров, приведенных выше, мы видели предикат D(x, y), имеющий смысл: «x является делителем у». Понятие делимости целиком определяется операцией (функцией) умножения, поэтому предикат D(x, у) может быть выражен через функцию. Натуральное (т. е. целое положительное) число p является делителем числа n тогда и только тогда, когда существует такое натуральное число т, что n = p x m. На языке исчисления предикатов
(?p)(?n)[D(p, n) ? (?m)(n = x(p, m))].
Каждой функции от n аргументов можно поставить в соответствие n+1-местный предикат, выражающий то отношение, что один (скажем, последний) аргумент есть данная функция от остальных аргументов. Например, функции x(x, y) соответствует предикат M(x, y, z), который дает верное высказывание в том и только в том случае, когда z = x(x, y). В общем случае функции f(x, у, ..., z) соответствует предикат F(x, у, ..., z, u), обладающий свойством
(?x)( ?y)...(?z)( ?u)[F(x, у, ..., z, и) ? (f(x, у, ..., z) = u)].
Предикат F выражает фактически то же понятие, что и функция f. Любое высказывание, содержащее функциональные символы, можно переписать, используя лишь предикатные символы и введя дополнительно некоторое число объектных переменных. Таким образом, обе конструкции, порождающие новые объекты, — конструкция со связкой «такой, что» и функция — не являются принципиально необходимыми и без них можно обойтись. Однако в отличие от конструкции «такой, что» функциональные символы весьма удобны и широко используются в логике.
6.13. Синтаксис и семантика
В заключение нашего краткого очерка логики рассмотрим вопрос о связи языка логики и естественного языка. Попутно будут введены важные понятия синтаксис и семантика языка.
Вспомним фразу о рыжем псе, которую мы разложили в набор высказываний, выражаемых с помощью предикатов. Смысл, значение, этого набора совпадает со смыслом исходной фразы, а форма записи, структура текста, существенно отличается. В семиотике (наука, изучающая знаковые системы) совокупность правил построения элементов языка называют его синтаксисом,
Синтаксис (в смысле семиотики) естественного языка — это его грамматика, т. е. правила конструирования предложений из слов (синтаксис в узком, лингвистическом смысле слова) и правила конструирования слов из букв (морфология). В отличие от языка логики синтаксис естественного языка отнюдь не является полностью формализованным. Он включает в себя множество правил с великим множеством исключений. Это различие вполне понятно: язык логики создавался искусственно, а естественный язык — продукт долгого развития, которым никто не управлял сознательно, никто не пользовался заранее продуманным планом. Грамматика естественного языка — это не конструирование, а исследование уже готовой системы, попытка вскрыть и по возможности сформулировать те правила, которыми говорящие на этом языке люди пользуются неосознанно.
Синтаксический анализ предложений естественного языка нередко требует обращения к семантике, ибо без учета смысла, значения предложения, он оказывается неоднозначным. Возьмем, например, такую фразу: «Вот списки студентов, которые сдали зачет по физике». Здесь определение «которые сдали зачет по физике» относится к студентам. Если для уточнения синтаксической структуры фразы использовать скобки подобно тому, как это делается при записи алгебраических или логических выражений, то скобки надо поставить так: «Вот списки (студентов, которые... и т. д.)». Теперь возьмем такое предложение: «Вот списки студентов, которые лежали в шкафу у декана». Формально структура этой фразы в точности такая же, как и предыдущей. На самом же деле здесь подразумевается другая расстановка скобок, а именно «Вот (списки студентов), которые... и т. д.». Мысленно расставляя скобки таким образом, мы опираемся исключительно на смысл фразы, ибо не допускаем, что студенты могли лежать в шкафу у декана.
Вообще оборот со словом «который» — весьма коварная вещь. Л. Успенский в книге «Слово о словах» рассказывает, что однажды он увидел такое объявление:
«Граждане, сдавайте утиль дворнику, который накопился!»
Неудивительно, что этот оборот не прижился в математической логике!
6.14. Логический анализ языка
Итак, для логического анализа, т. е. для построения логического эквивалента фразы естественного языка, мы должны прежде всего провести синтаксический анализ фразы; результаты анализа непосредственным образом отразятся на синтаксической структуре логического выражения. Но и семантика отнюдь не останется в стороне. Когда мы говорим, что «рыжий» — это одноместный предикат, «загрыз» — двуместный предикат, «расстояние» — функция, «и» — логическая связка, «все» — квантор и т.д., мы выполняем семантический анализ понятий, выражаемых естественным языком. Мы классифицируем понятия в соответствии со схемой, зафиксированной в языке логики, и устанавливаем связь между понятиями. Логический анализ — это по существу семантический анализ. Синтаксический анализ нужен постольку, поскольку он необходим для семантического.
Логический анализ может быть более или менее глубоким. В нашем примере он весьма поверхностен. Посмотрим, могли бы мы его продолжить, и если да, то как именно.
Понятия «пес», «рыжий» и «кошка» — одноместные предикаты, которые можно признать элементарными и не подлежащими дальнейшему анализу. Это простые аристотелевские понятия, опирающиеся непосредственно на чувственный опыт; каждый нормальный человек умеет их распознавать, и единственный способ объяснить, что такое «кошка», — это показать кошку.
Понятие «бродячая» — тоже одноместный предикат, но уже более сложный. Рассуждая формально грамматически, можно было бы заключить, что «бродячая» означает «которая бродит». Но это было бы неверным заключением, ибо глагол «бродит» не указывает длительности время провождения, которое он именует. Вполне добропорядочная семейная кошка может выйти на часок побродить по крыше, и это никому не дает права назвать ее «бродячей». Правильнее определить бродячую кошку как кошку, у которой нет хозяина, или же, пользуясь отношением, которое уже входит в наше логическое выражение, как кошку, которая никому не принадлежит. Вот формальная запись этого определения: