Skip to content

feat(Space): register NormedSpace ℝ (Space d) as a direct instance - #1678

Merged
zhikaip merged 2 commits into
masterfrom
space_normed_space_instance
Sep 23, 2026
Merged

zhikaip merged 2 commits into
masterfrom
space_normed_space_instance

Conversation

@zhikaip

@zhikaip zhikaip commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Typeclass search could not find the operator-norm structure on Space d →L[ℝ] ℝ (e.g. NormSMulClass ℝ (Space d →L[ℝ] ℝ)): since Space d has a standalone Module instance, NormedSpace ℝ (Space d) had to be synthesised as a postponed subgoal via InnerProductSpace.toNormedSpace, which needs one more level of postponed synthesis than the default maxSynthPendingDepth allows. Registering the instance directly (definitionally the same, cf. Mathlib's shortcut instances) fixes this and makes two set_option maxSynthPendingDepth 10000 workarounds unnecessary.

Changes

  • Physlib/SpaceAndTime/Space/Module.lean: new instance NormedSpace ℝ (Space d) := InnerProductSpace.toNormedSpace.
  • Physlib/SpaceAndTime/Space/ConstantSliceDist.lean: drop set_option maxSynthPendingDepth 10000 on schwartzMap_fderiv_integrable_slice_symm.
  • Physlib/SpaceAndTime/TimeAndSpace/ConstantTimeDist.lean: drop set_option maxSynthPendingDepth 10000 on integrable_fderiv_space.

No lemmas or definitions added or removed.

Reviewer map: the instance and its docstring in Module.lean, then the two one-line deletions.

🤖 Generated with Claude Code

zhikaip and others added 2 commits September 22, 2026 18:57
`Space d` only obtained `NormedSpace ℝ` as the projection
`InnerProductSpace.toNormedSpace`, which typeclass search does not find when it arises as a
nested subgoal, so instances such as `NormSMulClass ℝ (Space d →L[ℝ] ℝ)` and
`ContinuousENorm (Space d →L[ℝ] ℝ)` were unreachable. Registering the same term as a direct
instance fixes this; it is defeq at instance transparency to the projection and its module
structure is the existing `Space.instModuleReal`.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…artzMap_fderiv_integrable_slice_symm and integrable_fderiv_space

With the direct `NormedSpace ℝ (Space d)` instance, `Integrable` of `Space d →L[ℝ] ℝ`-valued
functions no longer needs a raised `maxSynthPendingDepth`:
- `Space/ConstantSliceDist.lean`: `schwartzMap_fderiv_integrable_slice_symm`;
- `TimeAndSpace/ConstantTimeDist.lean`: `integrable_fderiv_space`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the small label Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for this pull-request (PR). If this is your first PR, welcome to the community!

Below is what will happen next. Please read carefully if you are not familiar with the process. You may open other PRs while this one is being reviewed, and can stack PRs on top of each other, so don't let these steps slow you down.

  1. Some automated checks will be run on your PR. You can see the results of these checks at the buttom of your PR page. If any of these checks fail, you will need to fix the issues before your PR can be merged. You can learn more about these here, including how to run them locally, which is sometimes quicker than relying on the GitHub Actions. If you have never had a PR merged before, you may have to wait for a reviewer to manually start these checks (this is for security).

  2. A reviewer will look at your PR and may ask you to make changes. This may happen a couple of days after you submit your PR, so you may need to be patient. But it should not be longer than that - if it is please bring it to the attention of the community on the Zulip. The level of review will depend on where your PR is submitted. If it is submitted to ./Physlib or ./QuantumInfo, the review will be more thorough than if it is submitted to ./PhyslibAlpha. You can find out more about what the review process is looking for in our review guidelines. If a reviewer adds an awaiting-author label to your PR, address the review comments, then please remove that label by adding a comment with -awaiting-author. This helps us keep track of reviews.

  3. The reviewer will either approve your PR, or request more changes (in which case we return to step 2). Once your PR is approved, it will be merged by a maintainer, this should happen shortly after approval, though you may get more comments at this stage.

Tip: The easiest way to get have a fast review is to submit a PR that is small and self-contained, and has clear documentation explaining why things are the way they are in your chages.

If you have any problems or questions, please reach out to the community on the Zulip.

@jstoobysmith jstoobysmith left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved

@jstoobysmith jstoobysmith added the ready-to-merge This PR is approved and will be merged shortly label Sep 23, 2026
@zhikaip
zhikaip merged commit 678304b into master Sep 23, 2026
11 checks passed
@zhikaip
zhikaip deleted the space_normed_space_instance branch September 23, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge This PR is approved and will be merged shortly small t-space-and-time

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants