Сразу оговорюсь, что я не специалист в области логики. Мне всегда это было интересно. Но логические операторы программирования это не логика высказываний. В программировании мы чаще используем операторы And, Or,Not, реже Xor. Но это именно операторы, а не логические высказывания. Что-то общее прослеживается только в таблицах истинности или булевой алгебре как результат.
Логика высказываний, называемая также пропозициональной логикой – раздел математики и логики, изучающий логические формы сложных высказываний, построенных из простых или элементарных высказываний с помощью логических операций. Высказываниями принято считать такие предложения (написанные на “словесном” либо математическом языке), о которых можно сказать одно из двух: либо они являются истинными, либо ложными.
Языки программирования исходят из логики.
В логике мы точно можем сказать, что какое-то высказывание является истиной (например, снег белый, 2+3 = 5), а что-то ложью (например, снег теплый, 2+3 = 7).
Если речь идет о компьютерах, то истину здесь обозначают за 1, а ложь за 0. И так как у нас всего 2 варианта, приходится ими всегда оперировать.
В языках программирования импликация используется, как правило, неявно. Например, конструкция, предполагающая истинность условия B в данном участке программы:
if ( выражение A ) {
if ( выражение B ) {
сделать_что-то_полезное
}
else {
<font color=Red>сбой</font>
};
}
будет успешно выполняться тогда и только тогда, когда верна импликация A→B. В то же время эти условия можно спокойно написать в одной строке, объединив их оператором конъюнкции.
if ( выражение A ) and ( выражение B ) {
сделать_что-то_полезное
}
Логическими значениями высказываний являются «истина» и «ложь».
Примеры высказываний:
· Москва стоит на Неве. (ложно –Л; простое)
· Лондон — столица Англии. (истинно – И; простое)
· Сокол не рыба. (истинно – И; сложное)
· Число 6 делится на 2 и на 3. (истинно – И; сложное)
Различают два вида высказываний:
Высказывание, представляющее собой одно утверждение, принято называть простым или элементарным.
Высказывания, которые получаются из элементарных с помощью грамматических связок «не», «и», «или», «если …. то …», «тогда и только тогда», принято называть сложными или составными.
Импликация, – это сложное высказывание или составное (Условное высказывание)
Импликация читается: «если A, то B», или «из A следует B»; записывается: A → B (здесь высказывание A называется посылкой высказывания A → B, а высказывание B — его заключением, для записи применяются также стрелки другой формы, но всегда указывающие на соотношение посылка → следствие), другое обозначение импликации: A ⊃ B; другое название импликации: логическое следование (см. Логическое следование), однако между ними есть различие — импликация как логическое выражение может принимать значения «истина» или «ложь», тогда как логическое следование A → B утверждает, что во всех случаях, когда значение A истинно, B также будет истинно.
В естественном языке импликация играет важную роль в рассуждениях и умозаключениях (см. Рассуждение, Умозаключение), так как [при учитывании смыслового содержания высказываний] предполагает причинную связь между посылкой и заключением, и её истинность зависит от смысла этих высказываний. Так, в русском языке распространены следующие выражения импликации:
- если A, то B;
- из A следует B;
- при A будет B;
- в случае A произойдёт B;
- B, так как A;
- B, потому что A;
- A — достаточное условие для B;
- B — необходимое условие для A.
В математической логике обычно учитывается лишь истинность или ложность высказываний, а не смысловое содержание. Поэтому импликация обычно понимается в соответствии с истинностной таблицей:
A | B | A → B |
И | И | И |
И | Л | Л |
Л | И | И |
Л | Л | И |
Примеры.
1. Составное высказывание «Если число 16 кратно 4, то 16 кратно 2» истинно, т.к. условие импликации «Число 16 кратно 4» истинно и заключение «Число 16 кратно 2» – истинно.
2. Составное высказывание «Если число 16 кратно 4, то 16 кратно 3» ложно, т.к. условие импликации «Число 16 кратно 4» истинно, а заключение «Число 16 кратно 3» – ложно.
3. Составное высказывание «Если число 2∙5=9, то 2>9» истинно, т.к. условие и заключение импликации ложны.
4. Составное высказывание «Если вода в реке соленая, то 2∙2=4» – истинно, т.к. условие импликации «Вода в реке соленая» ложно, а заключение «2∙2=4» – истинно.
Операция импликации высказываний А и В может быть выражена через операции отрицания и дизъюнкции, т.е. имеет место следующий закон, называемый законом исключения импликации:
( A,B)(A -> B=Ā V B).
Читаем: «Для любых высказываний А и В импликация высказываний А и В равносильна дизъюнкции отрицания высказывания А и высказывания В».
Если заполнить таблицу истинности, то получим тот же результат.
А кроме этого следует также: «Для любых высказываний А и В импликация высказываний А и В равносильна импликации отрицания высказывания В и отрицания высказывания А».
Рассмотрим еще одну импликацию: «если студент сдал все экзамены на «отлично», то он получит стипендию». Очевидно, эту импликацию следует признать ложной лишь в том случае, когда студент сдал на «отлично» все экзамены, но стипендии не получил. В остальных случаях, когда не все экзамены сданы на «отлично» и стипендия получена (например, в силу того, что студент проживает в малообеспеченной семье) либо когда экзамены вообще не сданы и о стипендии не может быть и речи, импликацию можно признать истинной.
Вместе с тем необходимо отметить, что во множестве других случаев попытка отождествить импликацию с традиционным понятием логического следования может приводить к самым удивительным результатам. Так, например, в соответствии с таблицей истинности следует признать истинной следующую импликацию: «если 2*2=5, то Москва является столицей России». С точки зрения обыденной логики такая ситуация целиком абсурдна, но это мнение возникает в силу того, что человеческий разум пытается, в первую очередь, придать импликации смысл причинной логической связи, т.е. подразумевается, что заключение может быть выведено из посылки на основании каких-то логических рассуждений. Однако абсолютная чужеродность посылки и заключения оставляет лишь одну возможность – руководствоваться формальным определением импликации.
Поскольку логика отвлекается от связи высказываний по смыслу, истинными импликациями должны, в частности, считаться;
«Если Москва — большой город, то Луна — единственный естественный спутник Земли»,
«Если вода не является жидкостью, то химия — наука»,
«Если сила тяготения постепенно уменьшается, число административных правонарушений приближается к нулю»
В обычном рассуждении все эти высказывания вряд ли будут рассматриваться как имеющие смысл и еще в меньшей степени как истинные.