Условная дизъюнкция

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

Шаблон:Булева функция Условная дизъюнкция — тернарная (имеющая 3 операнда) логическая операция, введенная Алонзо Чёрчем[1]. Результат условной дизъюнкции аналогичен результату более общей тернарной условной операции (if q then p else r), которая в том или ином виде используется в большинстве языков программирования как один из способов реализации ветвления в алгоритмах. Для операндов p, q и r, которые определяют истинность суждения, значение условной дизъюнкции Шаблон:Nowrap определяется по формуле

[p,q,r](qp)(¬qr).

Другими словами, запись Шаблон:Nowrap эквивалентна записи: «Если q, то p, иначе r», которую можно переписать как «p или r, в зависимости от q или не q». Таким образом, для любых значений p, q и r значение Шаблон:Nowrap равно p, если q истинно, и равно r в противном случае.

В сочетании с константами, обозначающими каждое истинное значение, условная дизъюнкция является функционально полной для классической логики.[2] Её таблица истинности выглядит следующим образом:

Условная дизъюнкция
a b c [a,b,c]
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
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), p. 86—88.