-
Notifications
You must be signed in to change notification settings - Fork 382
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
[Merged by Bors] - feat(MetricSpace/Ultra): IsUltrametricDist and basic facts on open/closed sets in such spaces #14433
Conversation
…osed in such spaces
PR summary 00154257b5Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I think there are some easy simplifications that can be made. I'll have another look when you think it's ready again.
Co-authored-by: Jireh Loreaux <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for missing the point of the trichotomy lemmas earlier. Here they are again with short proofs. You are welcome to add them back in.
lemma ball_subset_trichotomy :
ball x r ⊆ ball y s ∨ ball y s ⊆ ball x r ∨ Disjoint (ball x r) (ball y s) := by
wlog hrs : r ≤ s generalizing x y r s
· rw [disjoint_comm, ← or_assoc, or_comm (b := _ ⊆ _), or_assoc]
exact this y x s r (lt_of_not_le hrs).le
· refine Set.disjoint_or_nonempty_inter (ball x r) (ball y s) |>.symm.imp (fun h ↦ ?_) (Or.inr ·)
obtain ⟨hxz, hyz⟩ := (Set.mem_inter_iff _ _ _).mp h.some_mem
have hx := ball_subset_ball hrs (x := x)
rwa [ball_eq_of_mem hyz |>.trans (ball_eq_of_mem <| hx hxz).symm]
lemma closedBall_subset_trichotomy :
closedBall x r ⊆ closedBall y s ∨ closedBall y s ⊆ closedBall x r ∨
Disjoint (closedBall x r) (closedBall y s) := by
wlog hrs : r ≤ s generalizing x y r s
· rw [disjoint_comm, ← or_assoc, or_comm (b := _ ⊆ _), or_assoc]
exact this y x s r (lt_of_not_le hrs).le
· refine Set.disjoint_or_nonempty_inter (closedBall x r) (closedBall y s) |>.symm.imp
(fun h ↦ ?_) (Or.inr ·)
obtain ⟨hxz, hyz⟩ := (Set.mem_inter_iff _ _ _).mp h.some_mem
have hx := closedBall_subset_closedBall hrs (x := x)
rwa [closedBall_eq_of_mem hyz |>.trans (closedBall_eq_of_mem <| hx hxz).symm]
Co-authored-by: Jireh Loreaux <[email protected]>
up to potentially reordering lemmas to make things match better, I'm happy. If you want to reorder go for it, but it's not required. bors d+ |
✌️ pechersky can now approve this pull request. To approve and merge a pull request, simply reply with |
bors r+ |
…osed sets in such spaces (#14433) TODO in future PRs - add "all triangles are isosceles" in such normed spaces - totally disconnected space - give instances of this to Z_p, Q_p, etc Co-authored-by: Yakov Pechersky <[email protected]>
Pull request successfully merged into master. Build succeeded: |
TODO in future PRs