Задание 15: множества, отрезки, ДЕЛ

Учимся подбирать параметр A в выражениях с отрезками и делимостью так, чтобы условие было истинным для каждого целого x.

ДЕЛ(n, k) — предикат «n делится на k нацело». Задание 15 просит найти числовой параметр (часто отрезок [A; B] или число A), при котором заданная логическая формула с переменной x истинна на всём множестве целых чисел.

Формула задания 15 обычно выглядит как импликация, где условие и заключение — это принадлежность $x$ отрезкам или делимость. Пример:

$$\big(\text{ДЕЛ}(x, 6) \big) \Rightarrow \big( (x \le A) \lor \text{ДЕЛ}(x, 9) \big),$$

и нужно найти, например, наибольшее $A$, при котором это истинно для любого натурального $x$. Здесь сходятся две темы курса: множества (как отрезки на прямой) и логика (импликация). Ключ — переписать «истинно для всех x» как условие на множества.

Зачем это нужно

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

Главная идея: импликация как вложение множеств

Пусть $P(x)$ — условие (посылка), $Q(x)$ — заключение. Импликация $P(x) \Rightarrow Q(x)$ истинна для всех $x$ тогда и только тогда, когда множество, где истинно $P$, целиком лежит внутри множества, где истинно $Q$:

$$\forall x\, \big(P(x) \Rightarrow Q(x)\big) = 1 \iff \{x : P(x)\} \subseteq \{x : Q(x)\}.$$

Словами: «везде, где выполнена посылка, обязано выполняться и заключение». Если есть хоть один $x$, где $P$ истинно, а $Q$ ложно — импликация на нём ложна, и всё условие рушится. Поэтому задача сводится к геометрии множеств на числовой прямой.

Разбор 1: отрезки

Найдём наибольшее целое $A$, при котором для всех $x$ истинно

$$\big( x \in [10; 30] \big) \Rightarrow \big( x \in [A; 40] \big).$$

По правилу вложения нужно, чтобы отрезок посылки $[10; 30]$ целиком лежал в отрезке заключения $[A; 40]$. Правый конец в порядке: $30 \le 40$. Левый: чтобы $10$ попало в $[A; 40]$, нужно $A \le 10$. Наибольшее такое целое — $A = 10$. Проверка: при $A=10$ заключение $[10;40]$ полностью накрывает $[10;30]$ ✓. При $A=11$ точка $x=10$ удовлетворяет посылке, но не лежит в $[11;40]$ — импликация на ней ложна. Ответ: $A = 10$.

Разбор 2: делимость и «прокол» отрезка

Теперь с предикатом ДЕЛ. Найдём наименьшее $A$, при котором для всех натуральных $x$ истинно

$$\big( \text{ДЕЛ}(x, 12) \big) \Rightarrow \big( (x \ge A) \lor \neg\,\text{ДЕЛ}(x, 8) \big).$$

Посылка истинна на числах, кратных 12: $12, 24, 36, 48, \ldots$. Для каждого такого $x$ должно выполняться заключение $(x \ge A) \lor \neg\text{ДЕЛ}(x,8)$. Заключение нарушается только если одновременно $x \lt A$ и $\text{ДЕЛ}(x,8)$ истинно, то есть $x$ кратно 8. Число, кратное и 12, и 8, кратно их НОК: $\text{НОК}(12,8)=24$. Значит «опасные» $x$ — это кратные 24: $24, 48, 72, \ldots$. Чтобы для всех них заключение было истинно, нужно $x \ge A$ на каждом опасном $x$, то есть $A$ не больше наименьшего опасного числа. Наименьшее кратное 24 (натуральное) — это 24. Чтобы условие держалось на $x=24$, требуется $24 \ge A$. Наименьшего $A$ задача не ограничивает снизу разумно (подойдёт и $A=1$), поэтому корректно спрашивают НАИБОЛЬШЕЕ $A$: оно равно $A = 24$. При $A=24$ на $x=24$ имеем $24 \ge 24$ — истина; на остальных кратных 12, не кратных 8 (например 12, 36), второй дизъюнкт $\neg\text{ДЕЛ}(x,8)$ истинен. Ответ: наибольшее A = 24.

Как это работает

Алгоритм почти всегда один. Сначала описываете множество посылки $P$ (отрезок, кратные числа, объединение). Затем находите «контрпримеры» — те $x \in P$, на которых заключение $Q$ может быть ложно. Заключение часто имеет вид $(x \le A) \lor R(x)$ или $(x \ge A) \lor R(x)$; ложно оно там, где $R(x)$ ложно — именно эти точки и нужно «накрыть» отрезком с параметром $A$. Параметр выбираете так, чтобы накрыть все опасные точки и при этом быть максимальным или минимальным по условию. Для делимости главный инструмент — НОД и НОК: пересечение «кратных k» и «кратных m» — это «кратные НОК(k,m)».

Чтобы не ошибиться с границами и НОК, удобно перебрать диапазон программой:

from math import gcd

def lcm(a, b):
    return a * b // gcd(a, b)

# Найти наибольшее A: ДЕЛ(x,12) -> (x >= A) или НЕ ДЕЛ(x,8), для всех x в 1..1000
def holds(A, limit=1000):
    for x in range(1, limit + 1):
        if x % 12 == 0:                      # посылка истинна
            concl = (x >= A) or (x % 8 != 0)  # заключение
            if not concl:
                return False
    return True

best = max(A for A in range(1, 200) if holds(A))
print("НОК(12, 8) =", lcm(12, 8))
print("Наибольшее A =", best)

Вывод:

НОК(12, 8) = 24
Наибольшее A = 24

Частые ошибки

  • Путают направление вложения. Из $P \Rightarrow Q$ следует $P \subseteq Q$, а не наоборот. «Внутри» обязано быть множество посылки.
  • Берут НОД вместо НОК (или произведение $12 \cdot 8 = 96$ вместо НОК = 24). Пересечение кратностей — это всегда НОК.
  • Ошибаются на единицу в границе: путают строгие и нестрогие неравенства. Если заключение содержит $x \ge A$, то на $x = A$ оно ещё истинно — проверяйте крайнюю точку отдельно.
  • Ищут наименьшее $A$, когда нет нижнего ограничения (или наоборот). Внимательно читайте, что спрашивают — наибольшее или наименьшее — и какая граница реально «работает».
  • Забывают про второй дизъюнкт ($\neg\text{ДЕЛ}$ или другой $R(x)$): он «спасает» часть точек, и их накрывать отрезком уже не нужно.

Итоги

  • «Истинно для всех x» в импликации $P \Rightarrow Q$ означает вложение множеств $\{P\} \subseteq \{Q\}$.
  • Найдите опасные точки — те $x$ из посылки, где заключение может стать ложным, — и накройте их параметром.
  • Пересечение «кратных k» и «кратных m» — это «кратные НОК(k, m)»; это сердце задач с ДЕЛ.
  • Крайние точки отрезков и направление неравенств проверяйте отдельно — здесь чаще всего теряют балл.
Проверьте себя
1. Импликация P(x) → Q(x) истинна для всех x. Что это означает на языке множеств?
AМножество Q вложено в множество P
BМножество P вложено в множество Q (всюду, где истинно P, истинно и Q)
CМножества P и Q не пересекаются
DМножества P и Q совпадают
2. Числа, которые делятся одновременно на 12 и на 8 — это числа, кратные...
AНОД(12, 8) = 4
Bпроизведению 12·8 = 96
CНОК(12, 8) = 24
Dсумме 12 + 8 = 20