Академический и инженерный разбор
Силлогистика Аристотеля более двух тысяч лет была центральным аппаратом
дедукции. Современная предикатная логика выразительнее, но категорический
силлогизм остаётся хорошим тренажёром формы, объёма терминов и контрпримеров.
Все сервисы с публичным API документированы. большая посылка
Billing имеет публичный API. меньшая посылка
Следовательно, Billing документирован. заключение
2. Три термина
В заключении:
S — меньший термин, субъект заключения;
P — больший термин, предикат заключения;
M — средний термин, есть в посылках и исчезает из заключения.
Пример:
Все M есть P. Все публичные API документированы.
Все S есть M. Billing — публичный API.
Все S есть P. Billing документирован.
Средний термин публичный API переносит отношение от Billing к
документированности.
3. Фигура
Фигура определяется положением среднего термина.
| Фигура |
Большая посылка |
Меньшая посылка |
Интуиция |
| I |
M–P |
S–M |
включение по цепочке |
| II |
P–M |
S–M |
сравнение двух классов по предикату |
| III |
M–P |
M–S |
вывод о пересечении через общий подкласс |
| IV |
P–M |
M–S |
обратная цепочка, обычно требует преобразования |
Аристотель систематически рассматривает первые три; четвёртая оформлена в
поздней традиции.
4. Модус
Модус задаётся типами трёх суждений A/E/I/O:
означает две общеутвердительные посылки, общеутвердительное заключение и первую
фигуру.
Barbara: AAA-1
Все M есть P.
Все S есть M.
Следовательно, все S есть P.
Множественная модель:
Celarent: EAE-1
Ни одно M не P.
Все S есть M.
Следовательно, ни одно S не P.
Darii: AII-1
Все M есть P.
Некоторые S есть M.
Следовательно, некоторые S есть P.
Ferio: EIO-1
Ни одно M не P.
Некоторые S есть M.
Следовательно, некоторые S не P.
Имена кодировали операции сведения модусов к первой фигуре. Их не обязательно
зубрить; полезнее уметь восстановить форму.
5. Общие правила силлогизма
Правило 1. Ровно три термина
Если термин меняет значение, формально их становится четыре:
Все баги надо исправлять.
Жук — bug по-английски.
Следовательно, жука надо исправлять.
Два значения bug не образуют один средний термин.
Правило 2. Средний термин распределён хотя бы раз
Все backend-разработчики — программисты.
Все frontend-разработчики — программисты.
Следовательно, все frontend-разработчики — backend-разработчики.
Программисты — предикат двух A-суждений и нигде не распределён. Оба класса
могут быть разными частями большого класса программистов.
Правило 3. Термин не распределяется в заключении впервые
Нельзя сделать вывод обо всём классе, если посылки говорили только о части.
Все архитекторы — инженеры.
Ни один дизайнер не архитектор.
Следовательно, ни один дизайнер не инженер.
В заключении инженеры распределены формой E, а в A-посылке предикат
инженеры не распределён. Дизайнеры могут быть инженерами другого типа.
Правило 4. Из двух отрицательных посылок вывода нет
Ни один S не M.
Ни один P не M.
Мы знаем лишь, что оба класса лежат вне M; друг с другом они могут соотноситься
как угодно.
Правило 5. При отрицательной посылке заключение отрицательно
И наоборот: отрицательное заключение требует отрицательной посылки.
Правило 6. Из двух частных посылок необходимый вывод не получается
Два неизвестных фрагмента классов могут не иметь нужного общего объекта.
Правило 7. Частная посылка не даёт общего заключения
Информация о части не позволяет утверждать за весь класс.
Правило 8. Следите за существованием
Некоторые традиционные модусы дают частное заключение из универсальных посылок
и потому требуют непустого класса.
6. Валидные модусы и экзистенциальная оговорка
Практический набор:
| Фигура |
Безусловно валидные в современной интерпретации |
С существованием класса |
| I |
Barbara, Celarent, Darii, Ferio |
Barbari, Celaront |
| II |
Cesare, Camestres, Festino, Baroco |
Cesaro, Camestrop |
| III |
Disamis, Datisi, Bocardo, Ferison |
Darapti, Felapton |
| IV |
Camenes, Dimaris, Fresison |
Bramantip, Fesapo, Camenop |
Списки в учебниках различаются, потому что:
- традиционная логика предполагает существование некоторых классов;
- современная булева интерпретация универсальных суждений не предполагает;
- часть авторов включает ослабленные модусы, часть — только основные.
Поэтому число «валидных модусов» без указания семантики вводит в заблуждение.
7. Проверка через диаграммы Венна
Для трёх терминов рисуют три пересекающихся круга.
Правила:
- универсальная посылка заштриховывает пустую область;
- частная ставит
× в область, где есть объект;
- если после нанесения посылок заключение уже изображено, форма валидна;
- если можно разместить объекты так, чтобы посылки были истинны, а заключение
ложно, это контрмодель.
Barbara
Все M есть P → заштриховать M вне P.
Все S есть M → заштриховать S вне M.
После этого область S вне P пуста, значит, все S есть P.
Нераспределённый средний
Все S есть M.
Все P есть M.
S и P можно разместить в разных частях M. Пересечение не вынуждено.
8. Проверка переводом в предикатную логику
Barbara:
∀x(Mx → Px)
∀x(Sx → Mx)
────────────────
∀x(Sx → Px)
Берём произвольный a:
- предположим
Sa;
- из второй посылки получаем
Ma;
- из первой —
Pa;
- значит,
Sa → Pa;
- обобщаем по
a.
Так силлогистика становится фрагментом логики первого порядка.
9. Типовые формальные ошибки силлогизма
9.1. Четыре термина
Многозначность создаёт два средних термина.
Ничто лучше счастья.
Бутерброд лучше, чем ничто.
Следовательно, бутерброд лучше счастья.
Ничто в первой фразе — отрицательный квантор, во второй — объект сравнения.
9.2. Нераспределённый средний
Все успешные команды общаются.
Наша команда общается.
Следовательно, наша команда успешна.
Общаются и неуспешные команды.
9.3. Незаконное расширение большого термина
Именно пример «архитекторы / дизайнеры / инженеры» выше.
9.4. Незаконное расширение меньшего термина
Все S есть M.
Все M есть P.
Следовательно, все P есть S.
Заключение распространяется на весь P, хотя посылки этого не дают.
9.5. Две отрицательные посылки
Два класса только отделены от третьего.
9.6. Утвердительное заключение при отрицательной посылке
Разрыв между классами не может породить положительное включение без иной
информации.
9.7. Экзистенциальная ошибка
Все perpetual motion machines энергоэффективны.
Все perpetual motion machines бесшумны.
Следовательно, некоторые бесшумные вещи энергоэффективны.
Если таких машин нет, частное заключение не обеспечено.
10. Условные и разделительные силлогизмы
Они не категорические, но традиционный курс рассматривает их рядом.
Modus ponens
Modus tollens
Гипотетический силлогизм
Разделительный силлогизм
Для включающего «или» форма валидна. А вот:
валидно только для исключающего «или».
11. Сорит, полисиллогизм и цепочки
Полисиллогизм — цепочка, где вывод одного силлогизма становится посылкой
следующего.
Все canary-релизы ограничивают blast radius.
Все релизы сервиса X — canary.
Следовательно, релизы X ограничивают blast radius.
Всё, что ограничивает blast radius, снижает ожидаемый ущерб ошибки.
Следовательно, релизы X снижают ожидаемый ущерб ошибки.
Сорит сокращает промежуточные заключения:
S ⊆ M1
M1 ⊆ M2
M2 ⊆ P
∴ S ⊆ P
Чем длиннее цепь, тем выше шанс скрытой смены значения.
12. Инженерный пример: «все быстрые сервисы используют кэш»
Все быстрые сервисы используют кэш.
Catalog использует кэш.
Следовательно, Catalog быстрый.
Форма:
Все P есть M.
S есть M.
∴ S есть P.
Средний термин M не распределён. Контрмодель: медленный сервис тоже использует
кэш, потому что база ещё медленнее.
Ремонт:
После включения кэша при неизменной нагрузке p95 Catalog снизился с A до B;
контрольная группа не изменилась. Кэш, вероятно, внёс вклад в ускорение.
Теперь это не дедукция по классу, а ограниченный причинный вывод.
13. Алгоритм проверки
- Приведите фразы к A/E/I/O.
- Найдите заключение и обозначьте S и P.
- Найдите M в обеих посылках.
- Убедитесь, что значений ровно три.
- Определите фигуру и модус.
- Отметьте распределённые термины.
- Проверьте общие правила.
- Проверьте существование классов.
- Постройте диаграмму или контрмодель.
- Только после формы проверяйте истинность посылок.
14. Задания
Определите валидность и назовите точное правило:
- Все staff-инженеры влияют на несколько команд. Некоторые архитекторы —
staff-инженеры. Следовательно, некоторые архитекторы влияют на несколько
команд.
- Ни один секрет не должен попадать в лог. Некоторые заголовки — секреты.
Следовательно, некоторые заголовки не должны попадать в лог.
- Все критические сервисы имеют on-call. Billing имеет on-call.
Следовательно, Billing критический.
- Ни один frontend-бандл не является базой данных. Ни одна база данных не
является CSS-файлом. Следовательно, ни один frontend-бандл не CSS-файл.
- Все единороги типизированы. Все единороги тестируемы. Следовательно,
некоторые тестируемые сущности типизированы.
Источники
Что дальше
В реальной речи посылки редко выписывают полностью. Следующая глава разбирает
энтимему: как восстановить пропущенное правило, не приписать автору слабую
версию и отделить логос от этоса и пафоса.
Энтимема и скрытые посылки