Импликация

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Импликациябинарная логическая связка, по своему применению приближенная к союзам «еслито…».

Импликация записывается как посылка \Rightarrow следствие; применяются также стрелки другой формы и направленные в другую сторону (остриё всегда указывает на следствие). Суждение, выражаемое импликацией, выражается также следующими способами:

  • Посылка является условием, достаточным для выполнения следствия;
  • Следствие является условием, необходимым для истинности посылки.

Содержание

[править] Булева логика

В булевой логике импликация — это функция двух переменных (они же — операнды операции). Переменные могут принимать значения из множества ~\{0, 1\}. Результат также принадлежит множеству ~\{0, 1\}. Вычисление результата производится по простому правилу, либо по таблице истинности. Вместо значений ~0, 1 может использоваться любая другая пара подходящих символов, например ~false, true или ~F, T или "ложь", "истина".

Таблица истинности:

~a ~b ~a\to b
~0 ~0 ~1
~0 ~1 ~1
~1 ~0 ~0
~1 ~1 ~1

Импликация как булева функция ложна лишь тогда, когда посылка истинна, а следствие ложно.

[править] Многозначная логика

[править] Классическая логика

В классическом исчислении высказываний свойства импликации определяются с помощью аксиом.

Можно доказать эквивалентность импликации A→B формуле « ¬A \lor B ».

[править] Интуиционистская логика

В интуиционистской логике импликация никоим образом не сводится к отрицаниям. Скорее напротив, отрицание ¬A можно представить в виде A→⊭, где ⊭ — пропозициональная константа «ложь». Впрочем, такое представление отрицания возможно и в классической логике.

В интуиционистской теории типов импликации соответствует множество (тип) отображений из A в B.

[править] Логика силлогизмов

В учении о силлогизмах импликации отвечает «общеутвердительное атрибутивное высказывание».

[править] Программирование

В языках программирования импликация используется, как правило, неявно. Например, конструкция типа:

if ( выражение_для_проверки_A ) {
   if ( выражение_для_проверки_B ) {
      сделать_что-то_полезное;
   }
   else {
       сбой;
   };
}
else {
   сделать_что-то_на_случай_ложности_A;
};

будет успешно выполняться если и только если верна импликация A→B. При этом, если A было найдено ложным, то проверка B не будет иметь места вообще. При этом можно написать:

if (!A || B) { 
   сделать_что-то_полезное;
}else {
   сбой;
}

[править] См. также

[править] Ссылки