На числовой прямой даны три отрезка: P = [3; 43], Q = [18; 91], R = [72; 115]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение
→ (¬
→ ((¬
∧¬
→¬
истинно (т. е. принимает значение 1) при любом значении переменной x.
Введем обозначения:
Тогда, применив преобразование импликации, получаем:
→ (¬
→ ((¬
∧¬
→¬
=
→ (¬
→ (¬(¬
∧¬
∨¬
=
→ (¬
→ (
∨
∨¬
=
→ (
∨
∨
∨¬
=¬
∨
∨
∨
∨¬Q=¬
∨
∨
∨
Выражение ¬ ∨
∨
истинно только тогда, когда
43]
)
Приведём решение на языке Python.
P=[i for i in range(3,44)]
Q=[i for i in range(18,92)]
R=[i for i in range(72,116)]
point=[3,18,43,72,91,115]
result=[]
for start in point:
for end in point:
A = [i for i in range(start, end)]
f = 1
for x in range(1, 200):
f *= (x in Q) <= ((not(x in P)) <= (((not(x in R)) and (not (x in A))) <= (not (x in Q))))
if f == 1:
result.append( end-start)
print(min(result))
Ответ: 29.

