На числовой прямой даны два отрезка: P = [10, 35] и Q = [17, 48].
Укажите наибольшую возможную длину отрезка A, для которого формула
((x A) → ¬(x
P)) → ((x
A) → (x
Q))
тождественно истинна, то есть принимает значение 1 при любом значении переменной х.
Преобразуем данное выражение.
((x A) → ¬(x
P)) → ((x
A) → (x
Q))
((x A) ∨ (x
P)) → ((x
A) ∨ (x
Q))
¬((x A) ∨ (x
P)) ∨ ((x
A) ∨ (x
Q))
Верно, что A ∧ B ∨ ¬A = ¬A ∨ B. Применим это здесь, получим:
(x P) ∨ (x
A) ∨ (x
Q)
То есть либо точка должна принадлежать Q, либо принадлежать P, либо не принадлежать А. Это значит, что А может покрывать все точки, которые покрывают P и Q. То есть A = P Q = [10, 35]
[17, 48] = [10; 48]. |A| = 48 - 10 = 38.
Приведём решение Сергея Донец на PascalABC.NET:
begin
var P := 10..35;var Q := 17..48;
var setX:=|10,35,17,48|.SelectMany(x->|x-0.1,x,x+0.1|);
setX.Order.Combinations(2).Select(m->m[0]..m[1])
.Where(A->setX.All(x->
((x in A)<=not(x in P))<=((x in A)<=(x in Q))
)).Max(A->A.Size).round.Print;
end.

