Как доказать что t топология
Введение в топологию (для чайников и гуманитариев)
Не помню, когда я впервые узнал про топологию, но меня эта наука сразу заинтересовала. Чайник превращается в бублик, сфера выворачивается наизнанку. Многие слышали про это. Но у тех, кто хочет углубиться в эту тему на более серьёзном уровне, часто возникают трудности. Особенно это относится к освоению самых начальных понятий, которые по своей сути очень абстрактны. Более того, многие источники, как будто специально стремятся запутать читателя. Скажем русская вики даёт весьма туманную формулировку того, чем занимается топология. Там говорится, что это наука изучающая топологические пространства. В статье про топологические пространства читатель может узнать, что топологические пространства — это пространства снабжённые топологией. Такие объяснения в стиле лемовских сепулек не очень проясняют суть предмета. Я попробую далее изложить основные базовые понятия в более ясной форме. В моей заметке не будет превращающихся чайников и бубликов, но будут сделаны первые шаги, которые позволят в конце концов научиться этой магии.
Впрочем, так как я не математик, а стопроцентный гуманитарий, то вполне возможно, что написанное ниже — враньё! Ну, или по крайней мере часть.
Впервые я написал эту заметку, как начало цикла статей о топологии, для своих гуманитарных друзей, но никто из них читать ее не стал. Исправленную и расширенную версию я решил выложить на хабр. Мне показалось, что здесь существует определенный интерес к этой теме и статей как раз такого рода еще не было. Заранее благодарен за все комментарии об ошибках и неточностях. Предупреждаю, что я использую много картинок.
Начнем с краткого повторения теории множеств. Думаю, большинство читателей хорошо с ней знакомы, но тем не менее напомню основы.
Итак, считается, что определения у множества нет и, что мы интуитивно понимаем, что это такое. Кантор говорил так: «Под «множеством» мы понимаем соединение в некое целое M определённых хорошо различимых предметов m нашего созерцания или нашего мышления (которые будут называться «элементами» множества M)». Конечно, это просто иносказательное описание, а не математическое определение.
Теория множеств известна (прошу простить за каламбур) множеством удивительных парадоксов. Например. С ней также связан кризис математики в начале XX-го века.
Теория множеств существует в нескольких вариантах, таких как ZFC или NBG и других. Вариантом теории являетсятеория типов, которая весьма важна для программистов. Наконец, некоторые математики предлагает вместо теории множеств в качестве фундамента математики использовать теорию категорий, о которой много написано на Хабре. Теория типов и теория множеств описывают математические объекты как бы «изнутри», а теория категорий не интересуется их внутренним строением, а только как они взаимодействуют, т.е. даёт их «внешнюю» характеристику.
Для нас важны только самые начальные основы теории множеств.
Множества бывают конечными.
Бывают бесконечными. Например, множество целых чисел, которое обозначается буквой ℤ (или просто Z, если у вас на клавиатуре нет фигурных букв).
Наконец, есть пустое множество. Оно ровно одно во всей Вселенной. Имеется простое доказательство этого факта, но я не буду его здесь приводить.
Если множество бесконечно, оно бывает счетным. Счетные — те множества, элементы которых можно перенумеровать натуральными числами. Само множество натуральных чисел, как вы догадались, тоже счетно. А вот как можно пронумеровать целые числа.
С рациональными числами сложнее, но и они поддаются нумерации. Этот способ называется диагональным процессом и выглядит, как на картинке внизу.
Обобщением понятия размера для множеств является мощность. Мощность конечных множеств равна числу их элементов. Мощность бесконечных множеств обозначается еврейской буквой алеф с индексом. Самая маленькая бесконечная мощность—это мощность ℵ0. Она равна мощности счетных множеств. Как видим, таким образом, натуральных чисел, так же много, как и целых или рациональных. Странно, но факт. Следующая — мощность континуума. Она обозначается маленькой готической буквой с. Это мощность множества вещественных чисел ℝ, например. Существует гипотеза о том, что мощность континуума равна мощности ℵ1. Т.е., что это следующая после мощности счетных множеств мощность, и нет никакой промежуточной мощности между счетными множествами и континуумом.
Над множествами можно проводить различные операции и получать новые множества.
1. Множества можно объединять.
2. Множества можно «вычитать». Эта операция называется дополнением.
3. Можно искать пересечение множеств.
Собственно это все о множествах, что нужно знать для целей этой заметки. Теперь мы можем приступить к самой топологии.
Топология — это наука, которая изучает множества с определенной структурой. Эта структура также называется топологией.
Пусть у нас есть некоторое непустое множество S.
Пусть же у этого множества будет некоторая структура, которая описывается с помощью множества, которое мы назовем Т. Т представляет собой множество подмножеств множества S такое, что:
1. Само S и ∅ принадлежат T.
2. Любое объединение произвольных семейств элементов T принадлежит T.
3. Пересечение произвольного конечного семейства элементов T принадлежит T.
Если эти три пункта выполняются, то наша структура является топологией T на множестве S. Элементы множества T называются открытыми множествами на S в топологии T. Дополнением к открытым множествам являются замкнутые множества. Важно отметить, что если множество открыто, это еще не означает, что оно не замкнуто и наоборот. Кроме того в данном множестве относительно некоторой топологии могут быть подмножества, которые не являются ни открытыми, ни замкнутыми.
Приведем пример. Пусть у нас есть множество, состоящее из трех цветных треугольников.
Самая простая топология на нем называется антидискретной топологией. Вот она.
Эту топологию, также называют топологией слипшихся точек. Она состоит из самого множества и из пустого множества. Это действительно удовлетворяет аксиомам топологии.
На одном множестве можно задать несколько топологий. Вот еще одна очень примитивная топология, которая бывает. Она называется дискретной. Это топология, которая состоит из всех подмножеств данного множества.
А вот еще топология. Она задана на множестве из 7 разноцветных звезд S, которые я обозначил буквами. Убедитесь, что это топология. Я в этом не уверен, вдруг я пропустил, какое-то объединение или пересечение. На этой картинке должно быть само множество S, пустое множество, пересечения и объединения всех остальных элементов топологии также должны быть на картинке.
Пара из топологии и множества на котором она задана называется топологическим пространством.
Если в множестве много точек (не говоря уже о том, что их может быть бесконечно много ), то перечислить все открытые множества может быть проблематично. Например, для дискретной топологии на множестве из трех элементов, надо составить список из 8 множеств. А для 4-элементного множества дискретная топология будет насчитывать уже 16, для 5 — 32, для 6 —64 и так далее. Для того, чтобы не перечислять все открытые множества используется как бы сокращенная запись — выписываются те элементы, объединения которых могут дать, все открытые множества. Это называется базой топологии. Например, для дискретной топологии пространства из трех треугольников — это будут три треугольника взятые в отдельности, потому, что объединяя их, можно получить все остальные открытые множества в данной топологии. Говорят, что база генерирует топологию. Множества, элементы которого генерируют базу, называют предбазой.
Ниже пример базы для дискретной топологии на множестве из пяти звезд. Как видите, в данном случае база состоит всего из пяти элементов, в то время как в топологии целых 32 подмножества. Согласитесь, использовать базу для описания топологии — гораздо удобнее.
Для чего нужны открытые множества? В каком-то смысле они дают представление о «близости» между точками и о различии между ними. Если точки принадлежат двум разным открытым множествам или если одна точка находится в открытом множестве, в котором не находится вторая, то они топологически различаются. В антидискретной топологии все точки в этом смысле неразличимы, они как бы слиплись. Наоборот, в дискретной топологии все точки имеют различие.
С понятием открытого множества неразрывно связано понятие окрестности. Некоторые авторы дают определение топологии не через открытые множества, а через окрестности. Окрестность точки p — это множество, которое содержит открытый шар с центром в этой точке. Например, на рисунке ниже показаны окрестности и не окрестности точек. Множество S1 является окрестностью точки p, а множество S2 нет.
Связь между открытым множеством и октестностью можно сформулировать так. Открытое множество — такое множество, каждый элемент которого имеет некоторую окрестность, лежащую в данном множестве. Или наоборот можно сказать, что множество открыто, если оно является окрестностью любой своей точки.
Все это самые базовые понятия топологии. Отсюда еще не ясно как выворачивать сферы наизнанку. Возможно в будущем, я смогу добраться и до такого рода тем (если сам разберусь).
UPD. Из-за неаккуратности моей речи, возникло некоторое недоумение относительно мощностей множеств. Я несколько исправил свой текст и здесь хочу дать пояснение. Кантор, создавая свою теорию множеств, ввел понятие мощности, которое позволяло сравнивать бесконечные множества. Кантор установил, что мощности счетных множеств (например, рациональных чисел) и континуума (например, вещественных чисел) различны. Он предположил, что мощность континуума является следующей после мощности счетных множеств т.е. равна алеф-один. Кантор пытался доказать эту гипотезу, но безуспешно. Позже стало ясно, что эту гипотезу нельзя ни опровергнуть, ни доказать.
Введение в топологические пространства. Программирование конечных топологий на Java
Я долго думал о том, чтобы выбрать какой-либо математический объект, интересный не только с точки зрения дискретной математики, но и функционального анализа, и попытаться запрограммировать его.
Этим объектом стали так называемые топологические пространства. Естественно, конечный объём представления объектов в памяти компьютера не позволяет с абсолютной точностью смоделировать имеющиеся в математике топологические пространства, а значит, остаётся довольствоваться конечными топологиями.
К счастью, это один из тех объектов, для которых конечность не только позволяет оперировать стандартными математическими понятиями, но и упрощает некоторые из них. Тем более довольно интересно исследовать объекты, для которых у нас нет никакой возможности померить расстояние между точками. Да, да, вы не ослышались. В общей топологии такой возможности у нас нет.
Но обо всём по порядку.
Определение
Сперва дадим классическое определение топологического пространства.
Произвольное число множеств в данном случае означает, что мы можем брать также объединения счётного или даже несчётного числа множеств. Естественно, это имеет смысл только в случае бесконечных множеств.
Как я уже говорил, в компьютере всё конечно. Как изменится наше определение топологии, если мы предположим, что X — конечное множество.
Слово «конечная» в дальнейшем для удобства будем опускать. Заметим, что топология представляет собой множество множеств. К сожалению, стандартные классы для множества, представленные в языке Java, меня не устроили, главным образом тем, что операции объединения и пересечения в интерфейсе Set меняют объект множества, а мне необходимо. чтобы объект менялся только тогда, когда к нему добавляют элементы.
Поэтому я создал следующий класс для представления множеств на основе связного списка.
Этот класс является основным кирпичом для построения конечной топологии. Теперь перейдём к самой топологии. До сих пор я говорил только о ней, но не сказал, что такое топологическое пространство. Это пара (X,τ) множества и его топологии.
Поэтому задаток класса выглядит следующим образом (Я хочу, чтобы множество состояло из целых чисел, но благодаря использованию родовых классов вы легко подправите код под произвольный тип).
Теперь возникает вопрос, как должен выглядеть конструктор топологии. Заметим, что топология — это всегда система подмножеств множества X.
Итак, а вот и первое самостоятельное задание Вам, уважаемый читатель. Докажите следующее утверждение:
Пусть X — произвольное множество. Тогда система τ, состоящая из пустого множества и множества X образует топологию.
Это было несложно, верно? Данная топология называется тривиальной. Так что давайте всегда создавать тривиальную топологию в начале использования, добавляя нужные множества позднее с помощью метода add суперкласса.
Но это ещё не всё. Добавили мы какой-то элемент в топологию. А осталась ли она топологией от добавления элемента или нет? Проверку на выполнение второго и третьего свойств написать несложно, но вопрос состоит в том, где её написать. Мы не можем вызывать её при добавлении элемента, поскольку тогда мы не сможем получить хорошую топологию из-за вывода ошибки «Ай-ай, это не топология». Значит, на этапе создания надо на время «простить» эту ошибку, а уже потом устроить ей хороший пинок: добавим в класс флажок и метод проверки
Но это была всего лишь разминка. Теперь дадим ещё несколько определений.
Множества, входящие в топологию τ называются открытыми.
Множества, дополнительные к открытым, называются замкнутым.
Большинство студентов на этом путаются. Вот вам следующее задание:
Естественно, проверка этих двух свойств осуществляется следующими методами:
Исключения выбрасываются, если система не образует топологию, либо переданное множество не является подмножеством X топологического пространства.
Если вы проскочили через прошлую задачу, не попытавшись её решить, то вы удивитесь, почему второй метод не вызывается через первый. А если решили, то поймёте.
Далее, надо ввести понятие окрестности.
Окрестностью точки x называется любое открытое множество, содержащее x
Окрестностью множества M называется любое открытое множество G, содержащее M
Задача 3. Пусть дано топологическое пространство из предыдущей задачи. Найти все окрестности точек множества X, а также окрестности множества
Заметим, что окрестностей как у точки, так и у множества может быть несколько. Здесь я уже нашёл удовлетворяющий меня класс: ArrayList. Соответственно, я просто вывожу список найденных окрестностей.
В топологическом пространстве, где отсутствуют такие привычные для нас термины как расстояние, метрика или норма, окрестность представляет собой базовый фундамент для построения геометрии в таких пространствах.
Итак, ещё немного определений.
Точка x из множества X называется точкой прикосновения множества M, лежащего в X, если каждая окрестность точки x содержит хотя бы одну точку из M
Точка x из множества X называется предельной точкой множества M, лежащего в X, если каждая окрестность точки x содержит хотя бы одну точку из M, отличную от X
Итак, как всегда, пока знания свежи, я предлагаю вам простые задачи после определения, за ними последует код, а далее решение.
Код для соответствующих точек:
Теперь у нас есть всё для того, чтобы определить важное в математике понятие: замыкание множества.
Замыкание множества M — это множество всех его точек прикосновения. Обычно оно обозначается как [M].
Опять продолжая работу с нашим топологическим пространством, мы можем увидеть, что [<2,3>]=<2,3,4>, при этом мы получили замкнутое множество.
Ещё одним важным понятием является понятие изолированной точки.
Точка x называется изолированной точкой множества M, если существует её окрестность, не содержащая других точек из M.
Задача 5. Доказать, что x=2 является изолированной точкой множества M=
Далее, надо понимать, что на одном и том же множестве можно ввести разные топологии, получив тем самым разные пространства. Но между топологиями можно установить частичный порядок.
Говорят, что топология т1 слабее топологии т2, если т1 целиком содержится в т2, и сильнее в противном случае.
Очевидно, что самая слабая топология — это тривиальная топология.
Задача 6. Пусть дано произвольное множество X. Ввести на нём самую сильную топологию. Указать все открытые и замкнутые множества.
И последнее понятие, о котором я хочу рассказать в этой статье, это след топологии.
Следом топологии т на множестве A, лежащем в X, называется топология тA, состоящая из всех множеств вида B ∩ A, где B принадлежит топологии.
Задача 7. Доказать, что след топологии т на множестве A, образует топологию на множестве A
Заключение
На этом подходит к концу первая часть моего цикла статей о топологических пространствах и программировании их подкласса: конечных топологий — на языке Java. В следующей части я планирую немного рассказать о базе топологии, однако в случае конечных топологий это понятие довольно сильно упрощается, поскольку конечные топологические пространства по умолчанию обладают счётной базой, а что будет дальше, ещё увидим. Вполне вероятно, что мы поговорим о непрерывных отображениях одного топологического пространства в другое. Было бы неплохо попытаться запрограммировать такой объект, не так ли?
Введение в топологические пространства. Программирование конечных топологий на Java. Часть 2: База топологии. Непрерывные отображения
Введение
Прежде, чем мы пойдём дальше, я бы хотел задать вам следующий простой вопрос.
Упражнение 0. Пусть X — множество из n элементов. Сколько элементов содержит дискретная топология т, содержащая все подмножества множества X?
Но с помощью базы вам достаточно задать всего лишь 10 множеств вместо 1024. А если у вас топология не дискретная, то и того меньше.
Итак, перейдём к определению. Существует несколько эквивалентных определений базы топологии. Я приведу как основное то определение, которое используется в колмогоровской школе, а затем докажу эквивалентность другого определения.
Определение 1. Совокупность J открытых подмножеств множества X называется базой топологии, если всякое открытое подмножество G пространства (X, т) может быть представлено как объединение некоторого набора множеств из J.
С математической точки зрения это определение вполне понятно, однако запрограммировать его является достаточно нетривиальной задачей. Ситуацию усложняет и то, что множество G не обязано быть объединением двух множеств базы, оно может быть объединениём и трёх, и четырёх, и так далее.
К счастью, дело поможет упростить следующая теорема.
Теорема 1. Для того, чтобы система J была базой топологии, необходимо и достаточно, чтобы для каждого открытого множества G и для каждой точки x из G существовало такое множество G(x), принадлежащее J и содержащее x, что G(x) является подмножеством G.
Доказательство теоремы также достаточно простое. Сперва докажем достаточность условия. Это означает, что если выполнено написанное условие, то J будет базой топологии.
Но если оно выполнено, то G можно представить как объединение по всем x из G множеств G(x), т. е. выполнено условие из определения, и J — база топологии.
Необходимость условия означает то, что если J — база, то верно наше условие. Но если J — база, то любое открытое множество представимо в виде объединения множеств из J, откуда немедленно вытекает условие.
Эта теорема уже лучше помогает запрограммировать алгоритм определения, является ли базой данная система подмножеств, однако некоторую сложность здесь представляет то, что первым квантором условия является квантор всеобщности.
А это означает, что при проектировании алгоритма мы должны идти от обратного: сперва считаем, что наша система база, и меняем решение, если выполнено обратное утверждение.
В математике обращение таких условий происходит следующим образом: квантор всеобщности заменяется на квантор существования и наоборот, а предикат заменяется на обратный.
Поэтому алгоритм, записанный на естественном языке, будет звучать следующим образом:
1. Считаем, что аргумент метода является базой топологии.
2. Если существует такое открытое множество G и такая точка x из G, что любое множество G из аргумента метода, содержащее x, НЕ явлется подмножеством G, то вернуть ЛОЖЬ, иначе вернуть ИСТИНУ.
Теперь создадим небольшой класс для базы
Это необходимо для того, чтобы иметь возможность написать конструктор топологии по базе.
А дополнить систему до топологии достаточно легко, только допишем несколько приватных методов. Но прежде, простые задачки.
Задача 1. Пусть X — множество мощности n, а т — дискретная топология, заданная на этом множестве. Найти базу топологии.
Если говорить об общей топологии, то довольно важным классом топологических пространств являются пространства со счётной базой. Их также называют пространствами со второй аксиомой счётности.
Легко заметить, что конечные топологические пространства, а именно их мы и программируем, образуют подмножество всех пространств со второй аксиомой счётности.
Но если это вторая аксиома счётности, то должна быть и первая, не так ли? Ею мы сейчас и займёмся, а затем окунёмся в непрерывные отображения.
Определяющие системы окрестностей
Определение 2. Пусть для точки x топологического пространства X существует не более, чем счётная система окрестностей
Определение 3. Если для каждой точки x существует её определяющая система окрестностей, то пространство удовлетворяет первой аксиоме счётности.
Это определение представляет больший интерес в рамках общей топологии, чем в рассматриваемых сейчас конечных топологиях, поскольку в качестве такой системы можно просто взять систему всех окрестностей данной точки. Однако, даже здесь можно поставить один интересный вопрос, который я любезно предоставлю Вам.
Задача 3. Привести пример конечного топологического пространства, в котором определяющая система окрестностей какой-либо точки лежит строго внутри системы всех окрестностей данной точки.
Система <<3>> является определяющей системой окрестности точки 3.
Непрерывные отображения
Вот мы и подошли к самому интересному месту нашей сегодняшней лекции. К непрерывным отображениям.
В принципе, в Java уже есть интерфейс для отображений: Mapper, однако из-за того, что он содержит два метода, он не может быть использован в качестве функционального интерфейса.
Я использую Java 8, и мне бы хотелось писать отображения в более удобном виде, чем создавать класс, имплементирующий интерфейс и так далее. Если Ваша среда разработки не поддерживает Java 8, то код метода всё равно будет работать, а вот код вызова придётся поменять.
Итак, я создам следующий простенький интерфейс
Аннотация выше необязательна, но она даст ошибку, если добавить в интерфейс ещё один абстрактный метод.
Теперь перейдём к математической стороне вопроса и дадим понятие непрерывности в терминах окрестностей точки.
Определение 4. Пусть (X, т1) и (Y, т2) — два топологических пространства. Отображение f пространства X в пространство Y называется непрерывным в точке x0, если для любой окрестности Uy0 точки y0 = f(x0) найдётся такая окрестность Vx0 точки x0, что f( Vx0) содержится внутри Uy0. Отображение f называется непрерывным, если оно непрерывно в каждой точке.
Если это перевести на русский язык, то определение непрерывности в точке звучать будет примерно так: Какую бы окрестность образа данной точки мы не взяли, найдётся окрестность данной точки, что образ этой окрестности будет лежать внутри окрестности образа точки.
Минуточку… Если вспомнить начала анализа, то мы получим в точности определение непрерывности функции по Коши, с той лишь разницей, что мы ушли от эпсилон-дельта языка и заменили отношение частичного порядка в определении близости.
Но не всё так просто здесь. Поэтому я предлагаю вам интересную задачку.
Задача 4. Пусть X — топологическое пространство с базой <<1>,<2,4>,<1,2,3,4>>, Y — с базой <<1>,<3>,<1,2,3,4>>.
Рассмотрим тождественное отображение f из X в Y, действующее по правилу f(x) = x. Является ли оно непрерывным? Если да, то докажите это. Если нет, покажите, в какой точке оно терпит разрыв.
Такой же вопрос и для отображения f из Y в X, действующего по правилу f(x) = x.
На этот раз я приведу вам и код исполнения:
Как вы видите, использование лямбда-выражения здесь довольно оправдано, поскольку позволяет достаточно точно задать правило отображения одного пространства в другое.
И, как я обещал, ответ:
Заключение
Сегодня мы познакомились с важным понятием базы топологии и научились строить по ней всю топологию пространства. Мы узнали про аксиомы счётности и то, что конечные топологии удовлетворяют обеим аксиомам счётности.
В следующей части я планирую рассказать чуть побольше об отображениях топологических пространств, ввести понятие открытого и замкнутого отображения, а также дать признак непрерывности отображения, который будет проще, чем изложенный в определении и перейти к новой теме: аксиомам отделимости.
В конце этого цикла статей я также планирую дать какой-либо практический пример применения конечной топологии. Спасибо за внимание!