В заключение нашего краткого очерка логики рассмотрим вопрос о связи языка логики и естественного языка. Попутно будут введены важные понятия синтаксис и семантика языка.
Вспомним фразу о рыжем псе, которую мы разложили в набор высказываний, выражаемых с помощью предикатов. Смысл, значение, этого набора совпадает со смыслом исходной фразы, а форма записи, структура текста, существенно отличается. В семиотике (наука, изучающая знаковые системы) совокупность правил построения элементов языка называют его синтаксисом, а связь между элементами языка и их значениями — семантикой. Следовательно, первое, что бросается в глаза при сравнении логического и естественного языков, это то, что язык логики имеет другой синтаксис. Этот синтаксис прост и единообразен. Он основан на стиле обозначений, сложившемся в математике, — конструирование более сложных элементов языка из более простых, изображается по аналогии с математической записью операций и функций. Синтаксис языка логики полностью формализован, т. е. существует набор четко сформулированных правил, с помощью которых можно построить любой языковый элемент. Далее, какой бы правильно построенный элемент языка (объект или высказывание) мы ни взяли, всегда можно восстановить путь, которым этот элемент был построен, его структуру. Этот процесс называется синтаксическим анализом элемента. Легко убедиться, что в языке логики синтаксический анализ чрезвычайно прост и однозначен.
Синтаксис (в смысле семиотики) естественного языка — это его грамматика, т. е. правила конструирования предложений из слов (синтаксис в узком, лингвистическом смысле слова) и правила конструирования слов из букв (морфология). В отличие от языка логики синтаксис естественного языка отнюдь не является полностью формализованным. Он включает в себя множество правил с великим множеством исключений. Это различие вполне понятно: язык логики создавался искусственно, а естественный язык — продукт долгого развития, которым никто не управлял сознательно, никто не пользовался заранее продуманным планом. Грамматика естественного языка — это не конструирование, а исследование уже готовой системы, попытка вскрыть и по возможности сформулировать те правила, которыми говорящие на этом языке люди пользуются неосознанно.
Синтаксический анализ предложений естественного языка нередко требует обращения к семантике, ибо без учета смысла, значения предложения, он оказывается неоднозначным. Возьмем, например, такую фразу: «Вот списки студентов, которые сдали зачет по физике». Здесь определение «которые сдали зачет по физике» относится к студентам. Если для уточнения синтаксической структуры фразы использовать скобки подобно тому, как это делается при записи алгебраических или логических выражений, то скобки надо поставить так: «Вот списки (студентов, которые... и т. д.)». Теперь возьмем такое предложение: «Вот списки студентов, которые лежали в шкафу у декана». Формально структура этой фразы в точности такая же, как и предыдущей. На самом же деле здесь подразумевается другая расстановка скобок, а именно «Вот (списки студентов), которые... и т. д.». Мысленно расставляя скобки таким образом, мы опираемся исключительно на смысл фразы, ибо не допускаем, что студенты могли лежать в шкафу у декана.
Вообще оборот со словом «который» — весьма коварная вещь. Л.Успенский в книге «Слово о словах» рассказывает, что однажды он увидел такое объявление:
«Граждане, сдавайте утиль дворнику, который накопился!»
Неудивительно, что этот оборот не прижился в математической логике!
Итак, для логического анализа, т. е. для построения логического эквивалента фразы естественного языка, мы должны прежде всего провести синтаксический анализ фразы; результаты анализа непосредственным образом отразятся на синтаксической структуре логического выражения. Но и семантика отнюдь не останется в стороне. Когда мы говорим, что «рыжий» — это одноместный предикат, «загрыз» — двуместный предикат, «расстояние» — функция, «и» — логическая связка, «все» — квантор и т.д., мы выполняем семантический анализ понятий, выражаемых естественным языком. Мы классифицируем понятия в соответствии со схемой, зафиксированной в языке логики, и устанавливаем связь между понятиями. Логический анализ — это по существу семантический анализ. Синтаксический анализ нужен постольку, поскольку он необходим для семантического.