Skip to content

[Merged by Bors] - feat: add a TietzeExtension class#9788

Closed
j-loreaux wants to merge 14 commits intomasterfrom
j-loreaux/TietzeExtension
Closed

[Merged by Bors] - feat: add a TietzeExtension class#9788
j-loreaux wants to merge 14 commits intomasterfrom
j-loreaux/TietzeExtension

Conversation

@j-loreaux
Copy link
Copy Markdown
Contributor

@j-loreaux j-loreaux commented Jan 16, 2024

This adds a class TietzeExtension to encode the Tietze extension theorem as a type class that can be satisfied by various types. For now, we provide instances for , ℝ≥0, , IsROrC 𝕜, pi types, product types, as well as constructors via homeomorphisms or retracts of a TietzeExtension space, and also a constructor for finite dimensional topological vector spaces.


Open in Gitpod

@j-loreaux j-loreaux added awaiting-review t-topology Topological spaces, uniform spaces, metric spaces, filters labels Jan 16, 2024
@j-loreaux j-loreaux requested a review from ADedecker January 16, 2024 20:27
@j-loreaux j-loreaux changed the title feat: add a TietzeExtension class feat: add a TietzeExtension class Jan 16, 2024
@ADedecker
Copy link
Copy Markdown
Member

ADedecker commented Jan 16, 2024

I'll give this a deeper look soon, but a first comment:

note: we'll leave IsROrC 𝕜 for a future PR because this is a rare case where we're going to do things backwards and prove it first for ℝ and ℂ, and then use those for the IsROrC version.

Why not provide an instance/reducible-def for finite dimensional T2 real TVS, by reducing it to products using LinearEquiv.toContinuousLinearEquiv. Then it will apply directly to IsROrC, right?

@urkud urkud added awaiting-author A reviewer has asked the author a question or requested changes. and removed awaiting-review labels Jan 17, 2024
@j-loreaux
Copy link
Copy Markdown
Contributor Author

j-loreaux commented Jan 22, 2024

@ADedecker I've implemented your nice suggestion. It can't be an instance because there is no way for Lean to know which scalar field is intended, so it's just a theorem.

Optionally, I could provide in additional an actual instance, where the scalar field is just assumed to be IsROrC. This would allow us to get TietzeExtension (EuclideanSpace 𝕜 n) for free. (EDIT: I've added this instance)

@j-loreaux j-loreaux added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes. labels Jan 22, 2024
@j-loreaux j-loreaux added awaiting-author A reviewer has asked the author a question or requested changes. and removed awaiting-review labels Jan 23, 2024
@ghost ghost added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 1, 2024
@j-loreaux j-loreaux added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes. labels Feb 14, 2024
@ghost ghost removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Feb 14, 2024
@jcommelin
Copy link
Copy Markdown
Member

Thanks 🎉

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review labels Feb 15, 2024
mathlib-bors bot pushed a commit that referenced this pull request Feb 15, 2024
This adds a class `TietzeExtension` to encode the Tietze extension theorem as a type class that can be satisfied by various types. For now, we provide instances for `ℝ`, `ℝ≥0`, `ℂ`, `IsROrC 𝕜`, pi types, product types, as well as constructors via homeomorphisms or retracts of a `TietzeExtension` space, and also a constructor for finite dimensional topological vector spaces.
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Feb 15, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: add a TietzeExtension class [Merged by Bors] - feat: add a TietzeExtension class Feb 15, 2024
@mathlib-bors mathlib-bors bot closed this Feb 15, 2024
@mathlib-bors mathlib-bors bot deleted the j-loreaux/TietzeExtension branch February 15, 2024 17:31
riccardobrasca pushed a commit that referenced this pull request Feb 18, 2024
This adds a class `TietzeExtension` to encode the Tietze extension theorem as a type class that can be satisfied by various types. For now, we provide instances for `ℝ`, `ℝ≥0`, `ℂ`, `IsROrC 𝕜`, pi types, product types, as well as constructors via homeomorphisms or retracts of a `TietzeExtension` space, and also a constructor for finite dimensional topological vector spaces.
dagurtomas pushed a commit that referenced this pull request Mar 22, 2024
This adds a class `TietzeExtension` to encode the Tietze extension theorem as a type class that can be satisfied by various types. For now, we provide instances for `ℝ`, `ℝ≥0`, `ℂ`, `IsROrC 𝕜`, pi types, product types, as well as constructors via homeomorphisms or retracts of a `TietzeExtension` space, and also a constructor for finite dimensional topological vector spaces.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge This PR has been sent to bors. t-topology Topological spaces, uniform spaces, metric spaces, filters

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants