Русская Википедия:Условная дизъюнкция
Шаблон:Булева функция
Условная дизъюнкция — тернарная (имеющая 3 операнда) логическая операция, введенная Алонзо Чёрчем[1]. Результат условной дизъюнкции аналогичен результату более общей тернарной условной операции (if o1 then o2 else o3
), которая в том или ином виде используется в большинстве языков программирования как один из способов реализации ветвления в алгоритмах. Для операндов p, q и r, которые определяют истинность суждения, значение условной дизъюнкции Шаблон:Nowrap определяется по формуле:
- <math>[p, q, r] ~\leftrightarrow~(q \rightarrow p) \land (\neg q \rightarrow r).</math>
Другими словами, запись Шаблон:Nowrap эквивалентна записи: «Если q, то p, иначе r», которую можно переписать как «p или r, в зависимости от q или не q». Таким образом, для любых значений p, q и r значение Шаблон:Nowrap равно p, если q истинно, и равно r в противном случае.
В сочетании с константами, обозначающими каждое истинное значение, условная дизъюнкция является функционально полной для классической логики.[2] Её таблица истинности выглядит следующим образом:
<math>a</math> | <math>b</math> | <math>c</math> | <math>[a, b, c]</math> |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
Помимо условной дизъюнкции существуют и другие функционально полные тернарные операции.
Примечания
- ↑ Шаблон:Книга
- ↑ Wesselkamper, T., «A sole sufficient operator», Notre Dame Journal of Formal Logic, Vol. XVI, No. 1 (1975), pp. 86-88.