Часть 2. Фильтры. Продолжение.
Итак, мы остановились на том, что хотим сохранить преимущества сетей, оставаясь в рамках языка теории множеств.
И как раз здесь на первый план выходят ФИЛЬТРЫ.
🧺 ВТОРОЙ ОТВЕТ: ФИЛЬТРЫ
Давайте задумаемся, что на самом деле мы имеем в виду, когда говорим: последовательность, “начиная с некоторого номера” попадает в некоторую область?
По сути это означает, что из множества натуральных чисел (множества индексов) выбирается подмножество из элементов n > N — хвост {N+1, N+2,...} (вспоминаем формулировку предела, сходимости и т.д.).
Множества, содержащие в качестве подмножества такой хвост, считаются значимыми, а не содержащие — нет.
А ведь это и есть фильтр — система подмножеств, отобранная по некоторому правилу.
Конкретно здесь кофинитный фильтр, который считает значимым всякое множество, у которого дополнение конечно.
🧭 ТОПОЛОГИЯ УЖЕ НОСИЛА ФИЛЬТРЫ В КАРМАНЕ
Думаю, вы сразу догадались, что идея фильтров идеально вписалась в топологию.
Вернее даже сказать, что топология уже имела внутри себя фильтры в качестве системы окрестностей точки:
любого множества, внутри которого есть открытое множество, содержащее эту точку.
Посмотрите сами:
1️⃣🚫Пустое множество
🟦 Пустое множество не может быть окрестностью x, потому что не содержит x;
🟢 Фильтр не содержит пустого множества.
2️⃣🔁Пересечение
🟦 Пересечение двух окрестностей x тоже является окрестностью x;
🟢 Пересечение двух элементов фильтра тоже элемент фильтра.
3️⃣📦Включение
🟦 Если A — окрестность x, то любое множество B содержащее А (A⊆ B) — тоже окрестность;
🟢 Если A — элемент фильтра, то любое множество B содержащее А — тоже элемент фильтра.
Идеальный match.
Таким образом, в фильтрах соединилось всё, что нам было нужно:
1️⃣ с помощью них можно выделить систему областей, через которые должно проходить приближение;
2️⃣ фильтры оказались внутренним языком топологии.
Всё, кроме…
⚖️ ФИЛЬТР НЕ ВСЕГДА РЕШАЕТ
...Решительности!
Обычный фильтр не обязан работать для каждого подмножества.
Например, встреченный нами кофинитный фильтр отлично понимает, что множество N∖{1}: значимое, потому что его дополнение — {1} конечное.
❓Но что делать с множеством чётных чисел {2, 4, 6,...};
❓Или нечётных {1, 3, 5,...}
Оба множества бесконечны. И дополнение у обоих бесконечно.
Кофинитный фильтр не может их различить по значимости, он не считает значимым ни одно ни другое.
🤷♂️ И вроде бы — да и бог с ним! Просто будем выбирать для каждого случая свой подходящий фильтр.
Но есть ситуации, когда удобнее, а то и жизненно необходимо, чтобы фильтр работал сразу для всех подмножеств без исключений.
🧱 КОМПАКТНОСТЬ: КОГДА УБЕЖАТЬ НЕВОЗМОЖНО...НИКОМУ...
Допустим, мы хотим представить бесконечное количество данных конечным набором, или расширить уже известное локальное свойство, выраженное через окрестности, до глобального.
Для этого нужно предотвратить все возможные (в том числе бесконечные) убегания точек. Формально говоря — показать компактность пространства.
1️⃣В метрических пространствах достаточно, чтобы:
из любой последовательности можно выбрать сходящуюся подпоследовательность.
Дополнительные пляски вокруг подпоследовательностей нужны, чтобы не лишать компактности подобных несходящихся ребят: 0,1,0,1,0,1,...
2️⃣В более общем топологическом пространстве заменяем последовательность на сеть:
из любой сети можно выбрать сходящуюся подсеть.
Но на языке фильтров, из-за их нерешительности мы теряем такую стройность определения. Становится невозможно говорить “любой” по отношению к сходимости и приходится вводить дополнительное понятие некой точки прикосновения.
💪 УЛЬТРАФИЛЬТРЫ
На деле, вместо обычных фильтров удобнее определить специальные — крутые и максимально решительные — УЛЬТРАФИЛЬТРЫ, обязующиеся для каждого множества решить: значимо либо оно, либо его дополнение.
3️⃣Они позволяют вернуться к более интуитивному определению компактности:
если каждый ультрафильтр на X сходится к какой-то точке из X.
🔜 Здесь-то и можно начать историю гипердействительных чисел…
