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

splitting function space topologies #1166

Merged
merged 8 commits into from
Mar 14, 2024

Conversation

zstone1
Copy link
Contributor

@zstone1 zstone1 commented Jan 28, 2024

Motivation for this change

Three important changes here.

  1. The topology.v file is huge, and kinda unpleasant for development. This splits all the function space topology stuff into a separate file. Note that prod_topology (not U * V, but forall i : U, K i is a function space. So all that stuff, including tychonoff's theorem, lives in function_spaces.v.
  2. This removes the canonical topology on ->. It's a bit arbitrary to choose the topology of uniform convergence, and it was causing other bugs. Assigning topologies to aliases of -> like compact-open had to be done in modules to avoid some HB errors. This cleans all that up. It also introduces ArrowAsX modules that can locally assign a canonical topology to ->.
  3. I also removed pointwise_fun, which was a layer of indirection that I believe is no longer serving a purpose. It was an alias for prod_topology (fun (_:U) => V). But should have all the same canonicals. Seems better to just use the dedicated notation {ptws, U -> V}.

A few other notes.

  • The typeclass inference is slightly weaker outside topology.v. I've marked a couple places where I had to manually introduce a Filter F into the context. Not a big deal, but a little surprising. All the instances are Global, so I can't tell why the inference would be different. I don't consider this blocking, as it's a very minor inconvenience.
  • I'm very grateful for the changelog tools. This was have been really annoying otherwise.
  • I wrote up some documentation in function_spaces. And I think correctly removed references to function spaces from topology.v. Probably worth a quick scan to double check.
Checklist
  • added corresponding entries in CHANGELOG_UNRELEASED.md
  • added corresponding documentation in the headers

Reference: How to document

Reminder to reviewers

@zstone1 zstone1 mentioned this pull request Jan 29, 2024
theories/function_spaces.v Outdated Show resolved Hide resolved
theories/function_spaces.v Show resolved Hide resolved
@zstone1 zstone1 requested a review from affeldt-aist February 5, 2024 00:18
@affeldt-aist
Copy link
Member

I made a first pass. A few things (doc) were not moved, a few removed things were not documented in the changelog, and I formatted a bit the documentation and suppressed a couple of parentheses here and there. I left a few comments mostly documentation that we'd better address now. Yet, a very welcome PR!

@affeldt-aist affeldt-aist added this to the 1.0.1 milestone Feb 9, 2024
@affeldt-aist affeldt-aist requested review from affeldt-aist and removed request for affeldt-aist March 11, 2024 09:10
@affeldt-aist
Copy link
Member

As a last check I mostly checked the doc for typos.
It just needs a rebase before being merged I think.

@affeldt-aist affeldt-aist force-pushed the split_function_topology branch from f982af8 to 81a3ce4 Compare March 14, 2024 06:34
@affeldt-aist
Copy link
Member

I added two NBs and force-pushed to merge asap.

@affeldt-aist affeldt-aist merged commit f6e4df9 into math-comp:master Mar 14, 2024
24 checks passed
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.

2 participants