Как играть в науку? (на примере формальной семантики)
“Заниматься наукой — это всё равно что изучать правила настольной игры”. Как подчинить язык математическим формулам? Что общего у лингвистики и “Монополии”? Что такое формальная семантика? Об этом и многом другом расскажет Стёпа Михайлов.
текст: Стёпа Михайлов
иллюстрации: Ева Лисовская
Нередко для студента, которому преподают какую-либо науку, остаётся совершенно неясно, какое отношение к жизни имеет изучаемый предмет. При этом, думаю, любой согласится, что если человек не понимает, зачем он что-то делает, то у него нет мотивации и, следовательно, у него получается это делать не так хорошо. Очевидно, это проблема для преподавателей — показать студентам, какое отношение к реальности имеет данный предмет, какие цели преследует эта наука и как это осмыслить человеческим языком.
Я хочу здесь развить одну метафору, которая в применении если не ко всем, то ко многим наукам позволяет ответить на эти вопросы, хотя бы в первом приближении.
Представьте себе какую-нибудь настольную игру. Например, шахматы или Монополию. У этих игр есть заданные правила, следуя которым игроки должны достигнуть определённых целей.
Теперь представьте себе формальную семантику. (Легко сказать, да?) Это наука, которая изучает значения языковых единиц (слов, предложений и проч.) и то, как они совмещаются друг с другом.
Метафора состоит в том, что заниматься наукой — это всё равно что изучать правила настольной игры, наблюдая за партиями и (если вы не астроном) участвуя в них. Наша задача установить правила, исходя из имеющихся данных (того, как ходят игроки и как они не ходят).
Вернёмся к семантике.
По каким правилам возникают значения предложений? Как, например, возникает значение предложения “Алёша — мальчик”?
Для начала надо решить, что значат предложения в целом. Предположим, что, чтобы понимать значение предложения, надо знать при каких условиях это предложение будет истинно.
Чтобы куда-то продвинуться в нашей игре в угадывание правил нам надо всё время предполагать — выдвигать гипотезы и совершать допущения.
Например, “Алёша — мальчик” истинно тогда и только тогда, когда человек, которого мы называем Алёшей, является мальчиком — если угодно, входит в множество мальчиков. Это будет наше первое правило.
Правило 1. Значение предложения — это его условия истинности.
Пока что мы сделали очень тривиальную вещь. Мы сняли кавычки: “Алёша — мальчик” истинно титтк (тогда и только тогда, когда) Алёша — мальчик. Теперь надо показать по какому правилу из значений этих двух слов получается значение всего предложения. Чтобы отгадать это правило, нам надо знать значение всех частей предложения и предложения в целом (последнее мы только что выяснили).
Что касается частей, можно предположить, что “Алёша” прямо указывает на конкретного человека, которого мы имеем в виду — обозначает индивида. Будем также считать, что “мальчик” обозначает множество всех тех, кто является мальчиком. Чтобы объяснить как эти вещи соединяются в предложение мы позаимствуем правило из логики. Мы скажем, что множество — это то же самое, что и его характеристическая функция. В случае с “мальчиком” это такая функция, которая принимает какого-нибудь индивида и возвращает “истину”, если этот индивид — мальчик, и “ложь” во всех остальных случаях. Это можно условно записать как f(x) = {x — мальчик}.
Теперь, чтобы показать, как выводится значение всего предложения мы можем использовать правило, которым мы пользовались ещё в школе на уроках алгебры: подстановка значения переменной или применение функции.
Правило 2 “Применение функции”. Если слово A обозначает функцию, а слово B обозначает объект, к которому можно применить эту функцию, то A+B = A(B) (соединение этих двух слов равно применению функции, обозначенной одним словом, к объекту, обозначенному другим).
То есть, раз “мальчик” значит f(x) = {x — мальчик}, а “Алёша” значит Алёша, то всё предложение целиком значит “Алёша — мальчик”. Поскольку это его условия истинности, честнее будет сказать, что предложение «Алёша — мальчик» истинно титтк Алёша — мальчик.
Если предположить, что одноместные глаголы типа “бегает” тоже обозначают множества или функции (f(x) = {x — бегает}), мы можем так же вывести значение предложения “Алёша бегает”.
Итак, при помощи двух правил и пары допущений о значении частей предложений мы можем для множества предложений продемонстрировать как работает правило (или принцип) композициональности, которое более 100 лет назад выдвинул немецкий логик Готлоб Фреге (см. “Красота и загадка языка”).
Правило композициональности. Значение предложения выводится из значения его частей и правил, по которым они соединяются.
Наша дальнейшая задача состоит в том, чтобы понять могут ли эти правила справиться со всеми остальными предложениями, а не только с теми, что мы рассмотрели. (Спойлер: не могут.) Если мы обнаружим, что не могут, то нам надо будет придумать новые правила, попутно проверяя, не противоречат ли новые старым, иногда отказываясь от старых и т. д.
Возвращаясь к метафоре. Представим ребёнка, который впервые наблюдает шахматную партию. В первые пару ходов игроки двигали только пешки и только на одну клетку вперёд. Тогда ребёнок может предположить, что все шахматные фигуры двигаются по этому правилу. Затем он увидел, как одна пешка ест другую, при этом передвигаясь на клетку наискосок. Тогда ребёнок поймёт, что первое правило работает не для всех случаев и придумает дополнительное правило. Именно такой процесс стоит за множеством наук.
Мы пытаемся угадать правила игры.
В случае с формальной семантикой угадать правила, по которым играют говорящие на естественном языке для построения значений.