На числовой прямой даны три отрезка: P = [153 697; 780 411], Q = [275 071; 904 082], R = [722 050; 984 086].
Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение
(¬(x ∈ A)) → (((x ∈ P) ≡ (x ∈ Q)) → ((x ∈ R) ≡ (x ∈ Q))).
истинно (т. е. принимает значение 1) при любом значении переменной x.
Введем обозначения:
Применив преобразование импликации, получаем:
Логическое ИЛИ истинно, если истинно хотя бы одно утверждение. Необходимо найти такой промежуток А, где выражение
((P ≡ Q) →(R ≡ Q)) ложно. Импликация ложно только в одном случае, когда первое высказывание истина. а второе высказывание ложно.
Выражение (P ≡ Q) истинно на множестве (−∞, 153 697] ∪ [275 071, 780 411] ∪ [ 904 082, +∞).
Выражение (R ≡ Q) ложно на множестве [275 071, 722 050] ∪ [ 904 082, 984 086].
Выражение ((P ≡ Q) →(R ≡ Q)) ложно на множестве [275 071, 722 050] ∪ [ 904 082, 984 086]. Следовательно, А должно быть истинно на этом промежутке. Тогда минимальная длинна А равна 984 086-275 071=709015.
Ответ: 709015.
Приведём решение Егора Чернецова на языке Python.
P=153697,780411;Q=275071,904082;R=722050,984086
def f(x):return ((P[0]<=x<=P[1])==(Q[0]<=x<=Q[1]))<=((R[0]<=x<=R[1])==(Q[0]<=x<=Q[1]))
bad=[x for x in range(P[0],R[1]+1) if not f(x)]
print(max(bad)-min(bad))

