Перевод на язык логики
Сравнение условий истинности есть единственная проверка и единственный судья
Перевод на язык логики записывает высказывание формулой, сохраняя его условия истинности. Проверка перевода одна: формула и фраза должны быть истинны и ложны в одних и тех же ситуациях. Типичных ловушек три: «или» включающее и исключающее, «только если», порядок кванторов.
forall x: Calgary, гл. 4 «First steps to symbolization» и гл. 7 «Ambiguity». Фреге, «Begriffsschrift», 1879 · 24 мин · обновлено 06.09.2026
После урока вы сможете
- Проверять перевод сравнением условий истинности, а не по звучанию
- Различать «если» и «только если» и не путать направление стрелки
- Видеть, где русская фраза допускает два чтения, и называть выбранное
- Понимать, что теряется при переводе всегда, и не выдавать потерю за уточнение
В кофейне висит объявление: «К завтраку полагается напиток или десерт». Гость берёт кофе и чизкейк, а кассир говорит: «Или. Значит, что-то одно». Гость отвечает: «„Или“ значит хотя бы одно. Оба тоже подходят».
Спорить о том, «что на самом деле значит слово „или“», можно до вечера, но оба слышали слово правильно: русское «или» работает двумя способами, и оба законные. Есть ход, который спор заканчивает. Не спрашивать, что значит слово, а спросить: в каких случаях объявление выполнено, а в каких нарушено? Случаев ровно четыре.
Взял напиток и десерт. Кассир: нарушено. Гость: выполнено.
Взял только напиток. Оба: выполнено.
Взял только десерт. Оба: выполнено.
Не взял ничего. Оба: тут и брать нечего, обещание не использовано.
Расхождение оказалось в одной строке из четырёх, а всё остальное спорящие понимают одинаково. Спор не исчез, но он сжался до одного случая, и теперь его видно, можно назвать вслух и решить голосованием, приказом или здравым смыслом. Этот урок о том, как переводить живые фразы в формальную запись и как проверять, что перевод получился, а инструмент всё время один: сравнение условий истинности.
Проверка одна: условия истинности
У русской фразы и у формулы есть одно общее свойство, по которому их вообще можно сравнивать: при одних положениях дел они истинны, при других ложны. Перечень этих положений и называется условиями истинности. Отсюда правило проверки, и оно единственное. Перевод годится, если условия истинности совпадают во всех случаях. Разошлись хоть в одном, значит перевод неверен.
Стоит заметить, чего в этом правиле нет. Нет требования, чтобы формула «звучала похоже», и нет требования сохранить порядок слов, вежливость, ударение, длину. Совпадение проверяется по одному-единственному признаку: истинно или ложно.
Работает это руками и без всякой теории. Если частей две, случаев будет четыре, а если частей три, то восемь. Выписываете случаи и идёте по ним подряд. Вернёмся к завтраку: пусть P означает «взят напиток», а Q означает «взят десерт».
Первая запись P ∨ Q читается: хотя бы одно из двух. Она ложна ровно тогда, когда обе части ложны, то есть когда не взято ничего. Вторая запись (P ∨ Q) ∧ ¬(P ∧ Q) читается: хотя бы одно из двух и не оба сразу. Она ложна в двух случаях: когда не взято ничего и когда взято всё.
Вот и вся разница между кассиром и гостем: одна строка, в которой вторая запись говорит «нарушено», а первая «в порядке».
Знак ∨ в логике включающий: он истинен и тогда, когда истинны обе части. Это соглашение, принятое ради работы системы, а не открытие о слове «или». Исключающее «или» никуда не делось: оно выражается через основные связки той самой второй записью. Русское «или» бывает и тем и другим: «либо… либо…» чаще исключающее, но и на это опираться нельзя. Поэтому при переводе выбор фиксируется явно, и в договорах ради этого пишут неуклюжее «и/или».
Перебор случаев кажется мелочным по сравнению с разговором о смысле фразы. В этом и польза. Разговор о смысле не кончается, потому что у него нет проверяемого шага. Перебор кончается всегда: случаев конечное число, и по каждому оба спорящих обязаны сказать «выполнено» или «нарушено». Несогласие после этого никуда не денется, но станет коротким и адресным.
«Только если»: место, где ошибаются чаще всего
Объявление у входа: «Пропуск выдают, только если есть паспорт». Спросим по-нашему: когда это правило нарушено? Ровно тогда, когда пропуск выдали человеку без паспорта, и других нарушений тут нет.
Пусть P означает «есть паспорт», а Q означает «выдали пропуск». Нужна формула, ложная ровно при «Q и не P», и такая формула есть: Q → P. Читается она: не бывает так, чтобы пропуск выдали, а паспорта не было.
А теперь неверный перевод, который просится сам собой: P → Q, «если есть паспорт, то пропуск выдадут». Проверим и его: когда он ложен? Когда паспорт есть, а пропуска не дали, но объявление этого и не обещало. Пропуска может не быть по десяти другим причинам: нет записи, нет мест, обед, вы не в списке.
Разница в одной стрелке, а обязательство меняется целиком. Первый перевод запрещает выдавать пропуск без паспорта, второй обязывает выдать пропуск каждому, у кого паспорт есть. Отсюда правило, которое стоит запомнить дословно: обычное «если» ставит свою часть слева от стрелки, а «только если» ставит справа.
У той же разницы есть второе имя, и оно полезно. После «если» стоит достаточное условие: его хватает, чтобы обещанное наступило. После «только если» стоит необходимое условие: без него обещанное не наступит, но само по себе оно ничего не обеспечивает. Паспорт для пропуска необходим и недостаточен, и так устроено большинство правил в жизни. Потому «только если» встречается в документах чаще, чем кажется.
Проверить себя можно ещё одним разворотом. Возьмём запись «если паспорта нет, пропуска не будет». Она ложна ровно в том же случае, что и наша: пропуск выдан, паспорта нет. Значит, это то же самое утверждение, сказанное с другого конца. И житейское: «Приду, только если позовёшь» есть не обещание прийти по зову, а обещание не приходить без зова, и кто ждал первого, обидится напрасно.
Столкнувшись с «только если», не переводите по образцу «если». Спросите: какой случай эту фразу нарушает? Формула должна быть ложной ровно в нём и больше нигде. Эта проверка занимает секунд двадцать и снимает самую частую ошибку перевода.
«Если и только если»
Вывеска: «Скидка положена, если и только если есть студенческий». Здесь склеены два обещания. Первое: «есть студенческий, будет скидка». Этого достаточно. Второе: «скидка только при студенческом». Без него нельзя.
Пусть P означает «есть студенческий», а Q означает «дали скидку». Запись P ↔ Q читается: обе части истинны разом либо обе ложны разом. Нарушений теперь два вида, а не один: студенческий есть, а скидки не дали, либо студенческого нет, а скидку дали.
Именно поэтому «если и только если» есть самое сильное из условных выражений: оно запрещает расхождение в обе стороны.
И тут нас ждёт житейская ловушка, из-за которой ссорятся семьями. «Уберёшь комнату, куплю мороженое». Сказано одно условное: если убрал, купят. Слышится второе: если не убрал, не купят. Второго в словах нет.
Добавка возникает сама, потому что обещания в быту редко бывают односторонними, но она именно добавка, и переводчик обязан решить: вписывать её или нет. Решение видно по формуле: P → Q и P ↔ Q дают две разные записи, и спорить теперь придётся о выборе между ними, а не о том, «что имелось в виду вообще».
Это общий приём урока: формальная запись не угадывает намерение. Она заставляет намерение назвать.
«Все» и «некоторые»: разная форма
«Все студенты сдали» и «некоторые студенты сдали» выглядят как две фразы одного устройства, различающиеся словом, но в записи у них разное строение, и это не прихоть. «Все студенты сдали» записывается как ∀x(С(x) → Сдал(x)) и читается: о ком угодно верно, что если он студент, то он сдал. «Некоторые студенты сдали» записывается как ∃x(С(x) ∧ Сдал(x)) и читается: найдётся кто-то, кто и студент, и сдал.
У первой стоит стрелка, у второй стоит «и». Поменять их местами нельзя, и вот почему. Запись ∀x(С(x) ∧ Сдал(x)) читается так: всё на свете есть сдавший студент, то есть это утверждение не о студентах, а обо всём подряд, включая стулья и планеты. А ∃x(С(x) → Сдал(x)) истинно даже тогда, когда студентов нет вовсе: достаточно одного нестудента, чтобы условное выполнилось впустую.
Отсюда следствие, к которому надо привыкать отдельно: «все нарушители наказаны» истинно, если нарушителей не было ни одного. Наказывать было некого, а сказанное не нарушено ничем. И потому переход «все нарушители наказаны, значит кто-то наказан» в современной записи неправилен. Подробно это разбирает урок 15. Для перевода достаточно правила: «все» идёт со стрелкой, а «некоторые» идёт с «и».
Область действия: «все студенты не сдали»
Теперь фраза, которую по-русски понимают двумя способами и почти никогда этого не замечают. «Все студенты не сдали». Первое чтение: не сдал ни один. Запись ∀x(С(x) → ¬Сдал(x)) читается: о ком угодно верно, что если он студент, то он не сдал.
Второе чтение: сдали не все. Запись ¬∀x(С(x) → Сдал(x)) читается: неверно, что все студенты сдали. То же самое можно сказать иначе: ∃x(С(x) ∧ ¬Сдал(x)), найдётся студент, который не сдал.
Разница огромная, и проверяется она одним случаем: пусть из тридцати студентов сдал один. Второе чтение истинно: сдали действительно не все. Первое ложно: один-то сдал. Первое чтение сильнее второго: из «не сдал ни один» следует «сдали не все», обратное не следует никогда.
Обратите внимание, где сидит разница. Слово «не» стоит в одном и том же месте фразы, а меняется область, на которую оно распространяется: на всё утверждение целиком или только на сдачу экзамена. Русский язык эту разницу не отмечает ничем, ни порядком слов, ни падежом. Формальная запись отметить обязана: ¬ стоит либо перед всей формулой, либо внутри неё, и третьего не дано.
Тот же разрыв живёт и в другом обороте. «Каждый кого-нибудь любит» имеет два чтения. Первое, ∀x∃y L(x, y): у каждого есть кто-то свой. Второе, ∃y∀x L(x, y): есть один, кого любят все. Второе влечёт первое, обратное неверно. Урок 16 разбирает область действия целиком, а для перевода нужен рефлекс попроще: увидев «не» рядом со словом «все», остановитесь и спросите, какое из двух чтений имелось в виду.
«Но», «а», «зато» и потерянное противопоставление
«Он опытный, но дорогой». Когда эта фраза ложна? Если он неопытный или если он дёшев, и больше поводов нет. Ровно тогда же ложно «он опытный и дорогой»: условия истинности совпали полностью, значит и перевод один. Записывается он как P ∧ Q и читается: и то и другое.
И всё-таки фразы не одинаковы: «но» сообщает сверх сказанного, что вторая часть идёт вразрез с ожиданием от первой. Это сообщение в условия истинности не входит и не делает фразу ни истинной, ни ложной. Проверка, которая это показывает нагляднее всего: поменяйте части местами. «Он дорогой, но опытный» истинно в тех же самых случаях, а звучит иначе и советует иное. Сместилось то, что истинностным никогда и не было.
То же с «а», «зато», «однако», «всё-таки», «тем не менее»: все переводятся как ∧, и все теряют одно и то же. Потерю надо признавать честно, а не объявлять её уточнением. Логика высказываний видит истину и ложь, и больше ничего: всё, что живёт вне этой пары, она не видит по построению, а не по недосмотру.
«И» с порядком во времени
«Он выпил и сел за руль». Запись напрашивается сама. Формула P ∧ Q читается: и то и другое. Но переставим части: «он сел за руль и выпил» записывается как Q ∧ P. По условиям истинности это одна и та же формула: обе истинны ровно тогда, когда истинны обе части.
В суде это два разных обвинения.
Порядок во времени слышится в союзе «и», но в нём не записан. Он приходит от привычки рассказывать по порядку. Это подразумевание, добавка к сказанному, а не часть его. Что делать, если порядок для дела важен? Вписать его отдельно.
Не «выпил и сел», а три утверждения: «выпил», «сел за руль», «выпил раньше, чем сел». Третье есть самостоятельное высказывание: у него своя истинность, его можно проверить и можно оспорить. Это тот самый приём из урока 2: молчаливое знание вписывают отдельной посылкой. Там он разбирался на другом случае, на фразе «Аня выше Бори, значит Боря ниже Ани», где всё держалось на значении слова «выше» и держалось молча. Лечится это одинаково: спорное вытаскивают в отдельную строку. Пока оно молчит, спорить с ним нельзя: не за что ухватиться. А выписанное становится обычной строкой, которую защищают или отвергают наравне с прочими. Приём стоит того, чтобы применять его без всякой формальной записи: половина затяжных споров держится на посылке, которую никто не произнёс.
Разбор по шагам: один перевод целиком
Возьмём фразу, в которой собрано сразу несколько трудностей. «Кофе бесплатный, только если заказан завтрак или обед».
Шаг 1. Разрезать на простые части и назвать буквами. P означает «кофе бесплатный», Q означает «заказан завтрак», R означает «заказан обед». Это ключ перевода: каждая буква стоит за целое высказывание и ни за что другое.
Шаг 2. Решить про «или». Можно ли заказать и завтрак, и обед разом? Можно. Значит, включающее. Запись Q ∨ R читается: заказан завтрак, или обед, или то и другое.
Шаг 3. Решить про «только если». Спрашиваем: когда обещание нарушено? Когда кофе дали бесплатно, а не заказано ни завтрака, ни обеда. Формула должна быть ложной ровно тут. Запись P → (Q ∨ R) читается: не бывает так, чтобы кофе был бесплатным и при этом не заказано ни завтрака, ни обеда.
Шаг 4. Проверить перевод, который просился. Запись (Q ∨ R) → P читается: если заказан завтрак или обед, кофе бесплатный. Эта запись ложна, когда завтрак заказан, а за кофе взяли деньги. Обещала ли кофейня бесплатный кофе каждому, кто заказал завтрак? Нет. Значит, перевод приписывает ей обязательство, которого она не брала. Отвергаем.
Шаг 5. Пройти по случаям. Если заказан обед и кофе бесплатный, наша формула истинна и объявление не нарушено. Если заказан обед, а кофе платный, формула истинна: бесплатный кофе никому не был обещан. Если ничего не заказано и кофе платный, формула истинна. Если ничего не заказано, а кофе бесплатный, формула ложна, и это единственный случай нарушения. Совпадает с тем, как объявление поймёт любой посетитель, и перевод принят.
Обратите внимание на пятый шаг: именно он и есть проверка, а всё до него остаётся черновиком. Перевод, не прогнанный по случаям, остаётся догадкой, как бы уверенно он ни выглядел.
Проверять надо не только свой перевод, но и тот, который вы отвергли. Если оба оказываются ложными в одних и тех же случаях, значит вы не различили две записи, а придумали разницу. Если в разных, то вы теперь точно знаете, в каком именно случае они расходятся, и можете предъявить его собеседнику вместо спора о словах.
Что теряется всегда
Список стоит держать в голове целиком, потому что каждый его пункт есть место, где формальная запись просто не работает. Интонация, намёк, вежливость, ирония, оттенок, противопоставление и порядок во времени в условия истинности не входят и потому в формулу не попадают.
Отдельной строкой идёт сослагательность. «Если бы он отпустил верёвку, груз упал бы» классической логикой этого курса не описывается вовсе. Для таких фраз строят отдельные системы. Работы Сталнакера и Льюиса 1968-1973 годов заняты именно ими.
Аналогия. Работа похожа на перевод с одного языка на другой: то же слово «перевод», та же обязанность отвечать за выбранное чтение.
Где аналогия ломается. Обычный перевод старается сохранить всё сразу (смысл, интонацию, шутку, вежливость), а формальный намеренно оставляет одно: при каких положениях дел фраза истинна. И языки тут не равноправны: второй заведомо беднее первого. Это не недостаток записи, а её условие: форма становится видимой ровно потому, что остальное убрано.
Честный итог: перевод есть решение
Соберём, что происходило в каждом разобранном месте. С «или» надо было выбрать между включающим и исключающим. С «уберёшь комнату» надо было решить, вписывать обратное условие или нет. Со «все студенты не сдали» надо было выбрать одно из двух чтений. С «выпил и сел» надо было решить, важен ли порядок настолько, чтобы вынести его отдельной строкой.
Каждый раз выбирал человек. Правило про условия истинности говорит, как проверить готовый перевод, но не говорит, что имел в виду говорящий, и сказать не может. Значит, перевод есть не механическая операция, а решение, за которое отвечает переводчик.
Отсюда честный итог урока, и он скромнее, чем хотелось бы. Формальная запись не устраняет спор о смысле. Она делает другое, и это немало: она переносит спор туда, где он виден.
Было: «„или“ значит одно из двух» против «„или“ значит хотя бы одно», и спор бесконечный, потому что спорят о слове вообще. Стало: «взятые разом напиток и десерт нарушают объявление или нет?», и спор конечный, потому что спорят о случае.
И второе. Записанное решение перестаёт быть молчаливым. Формулу можно показать другому и спросить: ты имел в виду это? Пока фраза остаётся русской, двое могут месяцами читать её по-разному и не замечать этого. Так что формальная запись не судья, а свидетель: она не говорит, кто прав. Она показывает, в чём именно расхождение, а дальше решают люди, и решают не логическими средствами.
Откуда это и кто доказал
| Готлоб Фреге, «Begriffsschrift» | 1879 | Кванторы и переменные, без которых «все» и «некоторые» не записать раздельно. Отсюда идёт разная форма записи: «все» со стрелкой, «некоторые» с конъюнкцией. |
| Роберт Сталнакер и Дэвид Льюис, системы условных высказываний | 1973 | Работы 1968-1973 годов строят отдельные системы для сослагательных условных вида «если бы… то…». Классическая логика этого курса их не описывает, и натягивать на них таблицу для «если» нельзя. |
Ловушки и теоремы
Естественный перевод по образцу обычного «если» даёт стрелку не в ту сторону. «Пропуск выдают, только если есть паспорт» нарушено ровно одним случаем: пропуск выдали без паспорта. Значит, запись такая: «если выдали пропуск, значит паспорт был». Обратная запись, «если есть паспорт, пропуск выдадут», ложна в другом случае (паспорт есть, а пропуска нет) и обязывает выдать пропуск каждому, у кого паспорт при себе. После «если» стоит достаточное условие, а после «только если» стоит необходимое.
Знак ∨ взят включающим: он истинен и тогда, когда истинны обе части. Это решение, принятое ради работоспособности системы, а не открытие о слове «или». Исключающее «или» никуда не пропало и выражается через основные связки. Запись (P ∨ Q) ∧ ¬(P ∧ Q) читается: хотя бы одно и не оба сразу. Русское «или» бывает и тем и другим, поэтому при переводе выбор фиксируется явно.
Логика этого не обещает и обещать не может. Выбор между двумя записями делает переводчик: включающее «или» или исключающее, с обратным условием или без, одно чтение области действия или другое. Запись проверяет уже сделанный выбор сравнением условий истинности и заставляет назвать его вслух. Спор о смысле она не устраняет, а переносит с уровня «что значит слово вообще» на уровень «нарушение в этом случае или нет».
Термины
- условия истинностиtruth conditions
- Перечень того, при каких положениях дел высказывание истинно и при каких ложно. Перевод верен, если условия истинности исходной фразы и записи совпадают.
- ключ переводаsymbolization key
- Список, закрепляющий за каждой заглавной буквой ровно одно высказывание целиком. Буква сама по себе не значит ничего: значение ей даёт только ключ.
- достаточное условиеsufficient condition
- То, чего хватает, чтобы обещанное наступило: «если есть паспорт, пропуск выдадут». Стоит после обычного «если» и слева от стрелки.
- необходимое условиеnecessary condition
- То, без чего обещанное не наступит, но что само по себе ничего не обеспечивает: «пропуск выдают, только если есть паспорт». Стоит после «только если» и справа от стрелки.
- «только если»only if
- Оборот, вводящий необходимое условие. «A только если B» ложно ровно тогда, когда A истинно, а B ложно, и записывается A → B. Обычное «если» ставит свою часть слева от стрелки, а «только если» ставит справа.
- «если и только если»if and only if
- Оба условия разом, необходимое и достаточное. Записывается ↔ и истинно, когда обе части совпадают по значению: обе истинны или обе ложны. Нарушается расхождением в любую сторону.
- подразумеваниеimplicature
- Добавка, которая входит в понятое, но не входит в сказанное: «он выпил и сел за руль» слышится как порядок во времени. В условия истинности не входит.
- молчаливая посылкаsuppressed premise
- Знание, которым рассуждение пользуется, не называя его. Приём перевода: выписать её отдельной строкой, и тогда спорное становится видимым и его можно защищать или отвергать наравне с прочими посылками.
Практикум · Перевести пять фраз и защитить перевод
Берётся документ, который на вас действует: договор аренды, правила банка, условия акции, инструкция к лекарству, регламент на работе. Не учебные примеры, а настоящие. Работа минут на пятнадцать, результат проверяемый.
- Выпишите из документа пять фраз, в которых есть «если», «только если», «или», «все» или «не». Дословно, вместе с окружающими словами.
- Заведите ключ перевода: буква означает целое высказывание, по строке на букву. Проверьте, что одна буква нигде не означает двух разных вещей.
- Запишите формулу и тут же прочтите её вслух обычными словами. Если чтение звучит не так, как исходная фраза, перевод пока не готов, и надо возвращаться к ключу.
- Для каждой формулы назовите случай, в котором фраза нарушена, и проверьте, что формула ложна ровно в нём. Отдельно выпишите строку, где вы и другой человек могли бы разойтись: обычно она одна.
- Под каждым переводом напишите строчку «здесь я решил, что …». Это отчёт переводчика. Перечитайте его через день: решения, которые вчера казались единственно возможными, читаются иначе.
Вопросы для самопроверки
«Пропуск выдают, только если есть паспорт». Пусть P означает «есть паспорт», а Q означает «выдали пропуск». Какая запись верна?
- P → Q: если есть паспорт, пропуск выдадут
- P ∧ Q: есть паспорт и выдали пропуск
- P ∨ Q: есть паспорт или выдали пропуск
- Q → P: если выдали пропуск, значит паспорт был
«К завтраку полагается напиток или десерт». Гость взял и то и другое. Что скажет логика?
- Запретит: «или» означает ровно одно из двух
- Спор не решит: русское «или» бывает включающим и исключающим, и выбор надо назвать явно
- Разрешит: раз ∨ включающее, вопрос закрыт
- Откажется разбирать: объявление есть распоряжение, а не высказывание, и об истинности тут спрашивать не о чем
Почему фраза «все студенты не сдали» требует решения переводчика?
- У неё два чтения: «не сдал ни один» и «сдали не все», и они не равносильны
- Слово «все» под отрицанием в логике первого порядка не записывается: квантор не терпит «не» рядом с собой
- Отрицание нельзя ставить перед глаголом
- Фраза говорит о прошлом, а логика описывает положение дел только в настоящем
Чем проверяют, что перевод верен?
- Тем, что формула читается так же складно, как исходная фраза
- Тем, что в формуле столько же частей, сколько слов во фразе
- Тем, что фраза и формула истинны и ложны в одних и тех же случаях
- Тем, что каждое слово переведено по словарю связок
«Он опытный, но дорогой» записывают как P ∧ Q. Что при этом теряется?
- Ничего: «но» и «и» различаются только стилем речи
- Теряется истинность второй части
- Теряется возможность проверить фразу по случаям
- Теряется противопоставление: оно не входит в условия истинности
Ответы и разбор открываются в самопроверке урока: она считает результат и отмечает урок пройденным. Пройти самопроверку.
Что читать
- forall x: Calgary, гл. 4 «First steps to symbolization» и гл. 7 «Ambiguity»: Правила символизации и много упражнений. Английские обороты не совпадают с русскими один в один, и это полезно увидеть: на «only if» ошибаются ровно так же, как на «только если».
- Тренажёр «Область действия» (урок 16): Одни и те же слова с разной областью действия и разным смыслом. Стоит вернуться туда после этого урока: то, что там было упражнением на кванторы, здесь становится обязанностью переводчика выбрать чтение.
- Статья «Implicature» в Stanford Encyclopedia of Philosophy: О том, что входит в понятое, но не входит в сказанное. Читать после курса: там подробно разбирается ровно та добавка, которую формальная запись отбрасывает, и становится видно, насколько её много.