← Все вопросы

Почему импликацию в задании 2 ЕГЭ удобно писать как <= в Python?

Задан 4 месяца назад1.3к просмотров2 ответа
8

Читал разборы 2 задания ЕГЭ и там импликацию A→B пишут в коде как A <= B. Почему именно меньше-или-равно? Я бы написал через not A or B, но хочу понять, откуда взялась эта замена и можно ли ей доверять.

2 ответа

12
✓ Принятый ответ — помог автору

Это рабочий трюк, и ему можно доверять — для значений 0 и 1 A <= B даёт ровно таблицу импликации.

Проверим все 4 случая:

A B A→B A<=B
0 0 1 0<=0 → True (1)
0 1 1 0<=1 → True (1)
1 0 0 1<=0 → False (0)
1 1 1 1<=1 → True (1)

Совпадает идеально! Логика простая: импликация ложна только при A=1, B=0, то есть когда A больше B. Во всех остальных случаях A не больше B (A ≤ B). Поэтому «A→B» = «A не превосходит B» = A <= B.

Готовый шаблон для задания 2:

from itertools import product
for x, y, z, w in product([0,1], repeat=4):
    F = ((x <= y) <= z) <= w   # пример цепочки импликаций
    print(x, y, z, w, int(F))

not A or B, конечно, тоже верно — просто <= короче и нагляднее, когда импликаций много подряд.

5

Маленькое предупреждение: трюк с <= работает только для значений 0/1. Если переменные вдруг могут быть другими числами — он сломается. Но в логических заданиях ЕГЭ всё всегда 0 или 1, так что бояться нечего.

Ваш ответ

Войдите, чтобы ответить на вопрос.