Импликация

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

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

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

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

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

Содержание

Булева логика

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

<math>~a</math> <math>~b</math> <math>~a\to b</math>
<math>~0</math> <math>~0</math> <math>~1</math>
<math>~1</math> <math>~0</math> <math>~0</math>
<math>~0</math> <math>~1</math> <math>~1</math>
<math>~1</math> <math>~1</math> <math>~1</math>

соответствует функции f(10,1,1101)2(x,y)=f(2,1,13)10(x,y);
если a<=b <math>(a\le b)</math>, то истино (1),


обратная импликация (от b к a)

<math>~a</math> <math>~b</math> <math>~a\leftarrow b</math>
<math>~0</math> <math>~0</math> <math>~1</math>
<math>~1</math> <math>~0</math> <math>~1</math>
<math>~0</math> <math>~1</math> <math>~0</math>
<math>~1</math> <math>~1</math> <math>~1</math>

соответствует функции f(10,1,1011)2(x,y)=f(2,1,11)10(x,y),
если a>=b <math>(a\ge b)</math>, то истино (1),
обратная импликация - отрицание (негация, инверсия) обнаружения увеличения (перехода от 0 к 1, инкремента),

отрицание (инверсия, негация) обратной импликации,
разряд займа в двоичном полувычитателе,

<math>~a</math> <math>~b</math> <math>~\lnot(a\leftarrow b)</math>
<math>~0</math> <math>~0</math> <math>~0</math>
<math>~0</math> <math>~1</math> <math>~1</math>
<math>~1</math> <math>~0</math> <math>~0</math>
<math>~1</math> <math>~1</math> <math>~0</math>

соответствует функции f(10,1,0100)2(x,y)=f(2,1,4)10(x,y).

Многозначная логика

Теория множеств

Импликация высказываний означает, что одно из них следует из другого. Импликация обозначается символом ⇒, и ей соответствует вложение множеств: пусть A ⊂ B, тогда

                                 a ∈ A ⇒ a ∈ B.

Например, если A — множество всех квадратов, а B — множество прямоугольников, то, конечно, A ⊂ B и

                     (a — квадрат) ⇒ (a — прямоугольник)

(если a является квадратом, то a является прямоугольником).

Классическая логика

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

Можно доказать эквивалентность импликации AB формуле <math>\neg A \lor B</math> (с первого взгляда более очевидна её эквивалентность формуле <math> \neg (A \land \neg B)</math>, которая принимает значение «ложь» в случае, если выполняется A (посылка), но не выполняется B (следствие)).

Интуиционистская логика

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

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

Логика силлогизмов

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

Программирование

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

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

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

См. также

Ссылки

Личные инструменты

Served in 0.102 secs.