Как сделать импликацию

Обновлено: 05.07.2024

Еще одна базисная операция, принадлежащая основному репертуару: импликация . Хотя она схожа с другими операциями not , or , and и эквивалентностью близка к операции or , она требует особого внимания, поскольку некоторым людям кажется, что ее точные свойства противоречат здравому смыслу и понятию следования в естественном языке.

Определение

Простейший способ определения операции implies состоит в том, чтобы выразить ее в терминах уже определенных операций or и not .

Определение: Импликация

Это временное определение. Позже будет дано еще одно определение.

Приведенное определение позволяет построить таблицу истинности (которая сама по себе может служить определением).

Нетрудно видеть, что это таблица для or , в которой в столбце для a значения True и False поменялись местами. Результат a implies b истинен для всех истинностных присваиваний, за исключением одного случая, когда a равно True , а b – False .

В импликации a implies b первый операнд a называется посылкой (antecedent), второй, b , – следствием или заключением (consequent).

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

Теорема: "Принцип Импликации"

Импликация имеет значение True за одним исключением, когда посылка имеет значение True , а заключение – False .

Как следствие, она имеет значение True , когда выполняется одно из двух условий:

I1 посылка имеет значение False ;

I2 заключение имеет значение True .

Связь с выводами

Имя операции " implies " (влечет) предполагает, что эту операцию можно использовать для вывода одних свойств из других. Это и в самом деле допустимо, что и устанавливается следующей теоремой.

Теорема: "Импликация и вывод"

I3 Если истинностное присваивание удовлетворяет как a , так и a implies b , то оно удовлетворяет и b .

I4 Если оба a и a implies b являются тавтологиями , b – также тавтология .

Доказательство: Для доказательства I3 рассмотрим истинностное присваивание TA, удовлетворяющее a . Если TA также удовлетворяет a implies b , то оно должно удовлетворять и b , так как в противном случае из второй строки истинностной таблицы False следовало бы, что a implies b равно False . Для доказательства I4 заметьте, что если a и a implies b являются тавтологиями , то предыдущий вывод распространяется на любое истинностное присваивание TA.

Это свойство делает законным обычную практику вывода. Когда мы хотим доказать истинность свойства b , то вводим более "сильное" свойство a и независимо доказываем истинность двух утверждений:

Отсюда следует истинность b .

Использованный термин "сильнее" полезен в практике обоснования контрактов в программах и заслуживает точного определения.

Определения: сильнее, слабее

  • " a сильнее b ", если и только если a implies b является тавтологией ;
  • " a слабее b ", если и только если b сильнее a .

Определения предполагают, что a и b не являются эквивалентными, поскольку некорректно говорить, что a "сильнее" b , если они одинаковы. Для случаев возможного равенства будем говорить "сильнее или эквивалентно", "слабее или эквивалентно" (подобно отношениям над числами "больше", "больше или равно").

Практическое ощущение импликации

Какова связь операции implies с обычным понятием следования, выражаемого в естественном языке таким словосочетанием , как "Если …, то…"?

В повседневном использовании импликация зачастую задает причинную связь: "Если лето будет солнечным, то это будет удачей для виноградников Бургундии" – это предполагает, что одно событие является причиной другого. В логике implies не ассоциируется с причинностью. Импликация просто устанавливает, что когда одно свойство является истинным, таковым должно быть и другое свойство. Приведенный пример допускает такую интерпретацию , если устранить всякий намек на причинность.

Вот еще один типичный пример (в аэропорту Лос-Анджелеса при попытке зарегистрироваться на рейс до Санта-Барбары): "Если на вашем билете напечатано "Рейс 3035", то сегодня вы не летите". Вероятно, причина отмены рейса связана с неисправностью самолета, и это был последний рейс на сегодняшний день. Понятно, что нет причинной связи между тем, что напечатано на билете, и отменой рейса. Логическая операция implies предусматривает такие сценарии.

Что удивляет многих людей, так это свойство I1 принципа импликации , следующие из двух последних строчек таблицы истинности . Когда a ложно, то a implies b истинно, независимо от значения b . Но на самом деле это соответствует обычной идее импликации :

  1. "Если я губернатор Калифорнии, то дважды два – пять";
  2. "Если дважды два – пять, то я губернатор Калифорнии";
  3. "Если дважды два – пять, то я не губернатор Калифорнии";
  4. "Если я губернатор Калифорнии, то дважды два – четыре";
  5. "Если я губернатор Калифорнии, то сегодня пойдет дождь";
  6. "Если сегодня пойдет дождь, то я не буду выбран губернатором Калифорнии".

Если я признаю, что я не губернатор и не собираюсь стать им, все импликации будут истинными, невзирая на сегодняшнюю погоду.

Из истинности импликации следует только то, что если посылка верна, то это же верно и для заключения. Единственной возможностью для импликации быть ложной является случай истинной посылки и ложного заключения. Случаи, когда посылка ложна или заключение истинно, не определяют импликацию полностью, оставляя возможность неопределенности второго операнда .

Начинающим иногда трудно принять, что a implies b может быть истинным, если a ложно. Во многом, я полагаю, трудности связаны со случаем, в котором a ложно, а b истинно, – таким, как случаи 1, 2, возможно, 5 и 6 из приведенного выше примера. Но ничего ошибочного в них нет. Непонимание может быть связано с общим искажением правил вывода, допускаемым некоторыми людьми. Из истинности импликации a implies b , и зная, что a не выполняется, они без раздумья полагают, что и b не выполняется! Вот типичные примеры:

  1. "Все профессиональные политики – коррупционеры. Я не политик, так что я не коррупционер, и вы должны голосовать за меня". Первое высказывание что-то утверждает о политиках, но оно не содержит информации о тех, кто политиками не является.
  2. "Всегда, когда я беру с собой зонтик, дождь не идет. Я оставлю свой зонтик дома, поскольку нам так нужен дождь". Шутка, конечно, но логика явно хромает.
  3. "Все недавно построенные здания в этом районе имеют плохую термоизоляцию. Это старое здание, так что в нем более комфортно в жаркие дни".

Каждый из случаев включает свойство a , которое влечет другое свойство b , и ошибочный вывод, что отрицание a влечет отрицание b . Это недопустимые выводы. Все, что мы знаем: если a верно, то и b верно. Если же a невыполнимо, то импликация нам ничего интересного не добавляет. Переходя на язык логики: ошибочно утверждение, что выражение является тавтологией . Более слабое утверждение также не является тавтологией . Задайте два истинностных присваивания, при которых оба утверждения принимают значения True и False и, следовательно, являются выполнимыми, но не являются тавтологиями .

У меня есть два числа в 16-ричной СС.Например:E(1110) и B(1011).Результат их побитовой импликации будет: 1011(B)
Как мне сделать это на Си?
Моя функция,основанная на побитовых операциях,работает неверно:

Побитовая упаковка
При написании одной проги возникла проблема упаковки бит for (int i=0;i<sizeof(mas);) < int.

Побитовая сортировка массива
Задача: с клавиатуры ввести массив размера num целых чисел. Используя проверку i-ый бит = 1 и i-ый.

Побитовая запись в файл
Здравствуйте, передо мной стоит задача организовать побитовую запись в файл. Знаю, что таковой не.

Побитовая обработка: в каждом байте переместить все единичные биты в конец
В каждом байте переместить все единичные биты в конец (Без использования строк и массивов). Есть.

Решение

Решение

Вы с какими битами работаете? Я же выказывал недоумение, а вы его не разрешили. Если с четырьмя младшими битами, тогда зачем вы делаете & 0x1111 ? надо & 0xF . А если с битами 0, 8, 16, . тогда зачем вы присваиваете a = 0xE; ? надо a = 0x1110; .

palva, вообще мне надо число (0xDEADBEEF) разделить по 2 байта и применить к ним импликацию.Я написал цикл,который это осуществляет и вытаскивает по байту в виде 16ричного числа.

Вы опять словами пишете одно, а в коде у вас другое. А когда я вас попрошу разрешить противоречие вы опять уйдете от ответа.
Давайте я не буду отвечать.

palva, просто я думал на примере станет понятнее(
Я работаю с 4 младшими битами,которые представлены в 16-ричной системе счисления.
Импликацию мне тоже надо проводить,передавая в функцию числа в 16-ричной системе счисления.
Ну и соответственно функция тоже должна вернуть число в 16-рично системе счисления.

& 0x1111 Это я делаю,так как после моей обработки (~a|b) число получается примерно таким: 0xfffffffb

Это выделяет не последние четыре бита, а биты 0, 8, 16, 32 Надо & 0xF
Казалось бы с этой поправки я и начал. Почему вы упорно не хотите сделать то, что я говорю?

Потому, что спать по ночам нужно! На память точно не сказал бы, прочитал хитрую подводку на википедии

В таком случае импликация — не что иное, как послушание подчинённого начальнику. По таблице истинности легко проверить, что послушания нет только тогда, когда начальник приказывает работать, а подчинённый бездельничает.

Хаффман- побитовая запись в файл. ПОБИТОВАЯ=)
Снова хаффман. помогите придумать как побитово вести запись в файл,ведь коды хаффмана не равны.

Импликация
Прошу помощи. Начал подучивать дискретную математику и столкнулся с одним вопросом. Связан он с.

Импликация в формуле
Доброго времени суток! Очень нужна ваша помощь. Не могу никак написать правильно. Все в интернете.

Импликация от лукавого
Привет! Господа, скажите пожалуйста, зачем нужна импликация, где ее можно реализовать на практике.

конъюнкция и импликация
как выразить конъюнкцию через импликацию и отрицание? и импликацию через конъюнкицию


Импликация Excel
Как?))

Суждение, выражаемое импликацией, выражается также следующими способами [1] [2] :

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

Импликация играет очень важную роль в умозаключениях. С её помощью формулируются определения различных понятий, теоремы, научные законы [3] .

При учёте смыслового содержания высказываний импликация подразумевает причинную связь между посылкой и заключением [4] .

Импликация. Цепочка равносильных преобразований позволяет привести дракон-схему к каноническому виду (пример 5)

Рис. 100. Импликация. Цепочка равносильных преобразований позволяет привести дракон-схему к каноническому виду (пример 5)

Истина. Мы убедились, что 4-я строка таблицы истинности совпадает с данным маршрутом на рис. 1006.

о. Импликация. Каноническая схема

Рис. 100о. Импликация. Каноническая схема

Импликация. Содержательная схема

Рис. 1006. Импликация. Содержательная схема

Нам осталось рассмотреть первые две строки таблицы истинности. В обоих случаях Дождь не идет, т. е. А = 0. Как это понимать? Если Дождь не идет, то импликация Z всегда равна 1, независимо от того, какой асфальт (мокрый или сухой).

Если посылка ложная (Дождь не идет), то причинная связь посылки и следствия также отсутствует, но импликация истинная. Этот случай описан в 1-й и 2-й строках таблицы истинности и в маршруте, идущем по шампуру на рис. 100а и 1006.

\Rightarrow

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

Суждение, выражаемое импликацией, выражается также следующими способами:

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

Содержание

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

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

a\leqslant b

если , то истинно (1),

A\or(\neg B)

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

~a
~b
~a\leftarrow b
~0
~0
~1
~0
~1
~0
~1
~0
~1
~1
~1
~1

a\geqslant b

если , то истинно (1),
обратная импликация — отрицание (негация, инверсия) обнаружения увеличения (перехода от 0 к 1, инкремента).

 \lnot A \land B

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

~a
~b
~\lnot(a\leftarrow b)
~0
~0
~0
~0
~1
~1
~1
~0
~0
~1
~1
~0

Импликация и следствие

Не следует путать импликацию (->) и логическое следование (=>). Импликация, как логическое выражение может сама принимать значения истины или лжи. Логическое же следование A => B, утверждает, что во всех случаях, когда формула А - истина, B - тоже будет истина.

Синонимические импликации выражения в русском языке

  1. Когда А, то B
  2. В в том случае, если А
  3. При А В
  4. Из А следует В
  5. В случае А произойдет В
  6. В, так как А
  7. В потому, что А
  8. Без А не будет В
  9. В невозможно в отсутствие А
  10. В необходимое условие для А
  11. А достаточное условие для В.

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

Согласно замыслу одного из участников Википедии, на этом месте должен располагаться специальный раздел.
Вы можете помочь проекту, написав этот раздел.

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

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

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

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

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

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

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

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

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

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

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

будет успешно выполняться если и только если верна импликация A→B. В то же время эти условия можно спокойно написать в одной строке, объединив их оператором AND или &&. При стандартных опциях компилятора (Delphi, C++ Builder) проверка идет до тех пор, пока результат не станет очевидным, и если А ложно, то (А и В) ложно вне зависимости от В, и не нужно ставить еще один условный оператор.

В функциональных языках импликация может быть не только правилом вычислений, но и видом отношения между данными, то есть обрабатываться (в том числе и выполняться) и создаваться по ходу выполнения программы.

Читайте также: