Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alexandroff-Hausdorff Theorem and the Cantor Space #834

Merged
merged 23 commits into from
Nov 14, 2023

Conversation

zstone1
Copy link
Contributor

@zstone1 zstone1 commented Feb 3, 2023

Motivation for this change

The Alexandroff-Hausdorff Theorem says "every compact metric space is the continuous image of the cantor space." This is, as far as I know, the first formalization of this result. The proof is one of two classical approaches, and goes via finitely branching trees. (The other using compact metric spaces embeding into [0,1]^nat.) This makes a fairly dramatic refactoring of the classical textbook proof. Turns out the two main lemmas

  • compact + zero-dimension + hausdroff + perfect -> isomorphic to cantor space
  • every compact space has a surjection from a finitely branching tree

share a lot of content. Refactoring this things went from ~1000 lines to ~ 500 lines.
There are still some fairly technical details that aren't essential to grasp the whole idea technique. But the hopefully the outline is clear.

This is the culmination of several other pieces of work, most notably the "countable uniformity" stuff.

Things done/to do
  • added corresponding entries in CHANGELOG_UNRELEASED.md
    (do not edit former entries, only append new ones, be careful:
    merge and rebase have a tendency to mess up CHANGELOG_UNRELEASED.md)
  • added corresponding documentation in the headers
Automatic note to reviewers

Read this Checklist and put a milestone if possible.

@zstone1 zstone1 marked this pull request as draft February 3, 2023 04:42
@zstone1 zstone1 force-pushed the cantor_pt1 branch 2 times, most recently from 7887bb2 to 0e0cd16 Compare February 22, 2023 22:17
@zstone1 zstone1 force-pushed the cantor_pt1 branch 2 times, most recently from 76051f2 to 62027c7 Compare March 22, 2023 19:37
@CohenCyril CohenCyril added the TODO: MC2 port This PR must be ported to mathcomp 2 now that the. Remove this label when the port is done. label Mar 27, 2023
@zstone1 zstone1 mentioned this pull request Apr 19, 2023
3 tasks
@zstone1 zstone1 marked this pull request as ready for review June 20, 2023 21:33
@zstone1 zstone1 changed the title Draft: Alexandroff-Hausdorff Theroem Alexandroff-Hausdorff Theroem and the Cantor Space Jun 20, 2023
theories/cantor.v Outdated Show resolved Hide resolved
@affeldt-aist affeldt-aist added this to the 0.6.7 milestone Nov 11, 2023
Copy link
Member

@affeldt-aist affeldt-aist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is essentially a pass of linting.

It must be rebased on master to update the changelog.
This should be easy because the unreleased changelog file is empty right now.
Just need to copy-paste the following in the Added section:

- in file `cantor.v`,
  + new definitions `cantor_space`, `cantor_like`, `pointedDiscrete`, and 
    `tree_of`.
  + new lemmas `cantor_space_compact`, `cantor_space_hausdorff`, 
    `cantor_zero_dimensional`, `cantor_perfect`, `cantor_like_cantor_space`, 
    `tree_map_props`, `homeomorphism_cantor_like`, and 
    `cantor_like_finite_prod`.
  + new theorem `cantor_surj`.
- in file `topology.v`,
  + new lemmas `perfect_set2`, and `ent_closure`.

I tried to simplify the scripts by naming hypothesis, clarifying the flow
locally and shortening when reasonable (btw, I heard that the rule for
? is to use it to gain space only when the subgoal is closed on the same line
? are introduced, otherwise variables'd better be named).

It looks like ent_closure was duplicated, that's why it appears as deleted in the diff,
you may want to double-check.

@affeldt-aist affeldt-aist changed the title Alexandroff-Hausdorff Theroem and the Cantor Space Alexandroff-Hausdorff Theorem and the Cantor Space Nov 14, 2023
proof going through

unused proofs

linting

metric implies countable uniformity

fixing changelog

linting

proving sups preserve countable ent

proof going through

unused proofs

linting

metric implies countable uniformity

linting

metric for products

linting

fixing docs

moving cantor stuff to topology

discrete metric

building clopen set

trying for xneqy

trying to build inside out

cluster set1

proving compact countable basis

lots of helpful lemmas

simplify proof with near_covering

proof cleanup

adding perfect stuff

buildling tree for homeomorphism

cantor_like space homeomorphism done

starting cleanup

deleting old stuff

working through finitely branching trees

proving sups preserve countable ent

proof going through

unused proofs

linting

metric implies countable uniformity

fixing changelog

linting

proving sups preserve countable ent

proof going through

unused proofs

linting

metric implies countable uniformity

linting

metric for products

linting

fixing docs

lots of helpful lemmas

simplify proof with near_covering

proof cleanup

adding perfect stuff

buildling tree for homeomorphism

cantor_like space homeomorphism done

starting cleanup

working through finitely branching trees

middle thirds

refining tree

indexed refinement of trees

trying to define tree levels

branch sets

cauchy branches

need finite upper bounds

fixing target

target now works correctly

surjectivity done

working on prefixes

just tree prefix remaining

alexandroff hausdorff is done (but terrible)

whitespace
@affeldt-aist affeldt-aist merged commit c518e2a into math-comp:master Nov 14, 2023
30 checks passed
affeldt-aist added a commit to affeldt-aist/analysis that referenced this pull request Nov 16, 2023
--

Co-authored-by: affeldt-aist <[email protected]>
Co-authored-by: Reynald Affeldt <[email protected]>
affeldt-aist added a commit to affeldt-aist/analysis that referenced this pull request Nov 16, 2023
--

Co-authored-by: affeldt-aist <[email protected]>
Co-authored-by: Reynald Affeldt <[email protected]>
affeldt-aist added a commit to affeldt-aist/analysis that referenced this pull request Nov 16, 2023
--

Co-authored-by: affeldt-aist <[email protected]>
Co-authored-by: Reynald Affeldt <[email protected]>
affeldt-aist added a commit to affeldt-aist/analysis that referenced this pull request Nov 17, 2023
--

Co-authored-by: affeldt-aist <[email protected]>
Co-authored-by: Reynald Affeldt <[email protected]>
affeldt-aist added a commit that referenced this pull request Nov 17, 2023
@affeldt-aist affeldt-aist removed the TODO: MC2 port This PR must be ported to mathcomp 2 now that the. Remove this label when the port is done. label Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants