-
Notifications
You must be signed in to change notification settings - Fork 10
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
Homeomorphism example #39
Conversation
Sounds reasonable to me. |
Looks like |
We could drop support to 8.10 & 8.11 if we want. I looked more closely over your work. We could avoid defining the function from S¹ to [0,1] explicitly, by using the theorem that any continuous function from a compact to a Hausdorff space is an embedding (a homeomorphism onto its image). Because the function Definition circle_cover (t : RTop) : ProductTopology2 RTop RTop :=
(cos (2*PI*t), sin (2*PI*t)).
Axiom circle_cover_image : forall t, In S1_Ensemble (circle_cover t).
Axiom f_inv_helper : forall (x y : UnitInterval) :
SpaceAdjunction (Couple U0 U1) x y ->
(fun x => exist _ (circle_cover (subspace_inc _ x)) (circle_cover_image _)) x =
(fun x => exist _ (circle_cover (subspace_inc _ x)) (circle_cover_image _)) y.
Definition f_inv : ClosedUnitInterval -> S1 :=
induced_function
(fun x => exist _ (circle_cover (subspace_inc _ x)) _)
(SpaceAdjunction_equivalence _) f_inv_helper. Using some (new) lemmas about the properties of |
I am so free and push some changes, implementing the above sketch.
But this is wrong. For surjectivity we still need to do define this function. At least we can avoid concerning ourselves with continuity of that function, or we could define the function only inside the proof. The largest proofs are currently |
The theorems |
132efb0
to
b2bcbf6
Compare
@Columbus240 I agree to remove support for v8.10 and v8.11, because apart from the last issue, we have missing definition of |
Ok, then I will make a new release and then drop support in |
845780d
to
282f18e
Compare
Only since v8.13 is it possible to use `apply` on multiple hypotheses simultaneously. The functions `curry` and `uncurry` only exist since Coq v8.13 and were earlier called `prod_uncurry` and `prod_curry`. But the latter got deprecated. To ensure compatibility with Coq v8.12 (and simplifying the code a little when using `f1` but complicating the def. of `f1`) the definition of `f1` is changed a little. This theorem is only available in Coq v8.13 and later. To stay compatible with Coq v8.12, this theorem has to be avoided.
I extracted those lemmas out of Examples/S1.v which I found worthy. If we did more work involving the reals or trigonometry, we might need the other ones too, but that can be done as necessary. The rest of the commits I squashed down. |
282f18e
to
27dca7f
Compare
Sample proof, that unit sphere is homeomorphic to a unit interval with glued ends.
TODO:
Copied from #36.