Русская Википедия:Условная дизъюнкция

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Булева функция Условная дизъюнкция — тернарная (имеющая 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

Помимо условной дизъюнкции существуют и другие функционально полные тернарные операции.

Примечания

Шаблон:Примечания

Шаблон:Логические операции

  1. Шаблон:Книга
  2. Wesselkamper, T., «A sole sufficient operator», Notre Dame Journal of Formal Logic, Vol. XVI, No. 1 (1975), pp. 86-88.