Skip to content

feat(Geometry/Manifold): continuously differentiable actions#38527

Open
archiebrowne wants to merge 17 commits intoleanprover-community:masterfrom
archiebrowne:contdiffmulaction
Open

feat(Geometry/Manifold): continuously differentiable actions#38527
archiebrowne wants to merge 17 commits intoleanprover-community:masterfrom
archiebrowne:contdiffmulaction

Conversation

@archiebrowne
Copy link
Copy Markdown
Contributor

define the class ContDiffSMul 𝕜 M X n which asserts that the map (c, x) ↦ c • x is n times continuously differentiable on M × X.

Many of the results are the C^n analogues of those in the module Mathlib.Topology.Algebra.MulAction.

Co-authored-by: Copilot <copilot@github.com>
@github-actions github-actions Bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Apr 25, 2026
@github-actions
Copy link
Copy Markdown

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 25, 2026

PR summary 452dba9608

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Analysis.ContDiffMulAction (new file) 1795

Declarations diff

+ ContDiff.contdiff_smul
+ ContDiffAt.contdiff_smul
+ ContDiffOn.contdiff_smul
+ ContDiffSMul
+ ContDiffSMul.comp
+ ContDiffSMul.of_le
+ ContDiffSMul.of_retraction
+ ContDiffSMul.op
+ ContDiffSMul.toContinuousSMul
+ ContDiffVAdd
+ ContDiffWithinAt.contdiff_smul'
+ ContinuousLinearEquiv.contDiffSMul
+ ContinuousLinearMap.contDiffSMul
+ Filter.Tendsto.contdiff_smul
+ Filter.Tendsto.contdiff_smul_const
+ IsScalarTower.contdiffSMul
+ MulAction.contDiffSMul_compHom
+ MulOpposite.contDiffSMul
+ MulOpposite.contDiff_op
+ MulOpposite.contDiff_unop
+ NormedAlgebra.contDiffSMul_self
+ NormedSpace.contDiffSMul
+ Prod.contDiffSMul
+ instance {ι : Type*} [Fintype ι] {γ : ι → Type*} [∀ i, SMul M (γ i)]

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

This script lives in the mathlib-ci repository. To run it locally, from your mathlib4 directory:

git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci
../mathlib-ci/scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions github-actions Bot added the t-differential-geometry Manifolds etc label Apr 25, 2026
archiebrowne and others added 8 commits April 26, 2026 11:40
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Copy link
Copy Markdown
Collaborator

@peabrainiac peabrainiac left a comment

Choose a reason for hiding this comment

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

I just found this PR while preparing a PR on continuously differentiable actions of manifolds (i.e. ContMDiffSMul instead of ContDiffSMul) and looking for prior work. In principle I think having a non-manifold version too makes sense; the acting space being a vector space is a strong restriction, but there are at least some examples of such actions that are not just the action of a field on a vector space over it, e.g. the action of the monoid of all continuous linear transformations of a space on that space. The API for non-manifold actions should probably go into Mathlib/Analysis though, not in the Mathlib/Geometry/Manifold folder.

I've left a few other remarks below.

Comment thread Mathlib/Geometry/Manifold/ContDiffMulAction.lean Outdated
Comment thread Mathlib/Geometry/Manifold/ContDiffMulAction.lean Outdated
Comment thread Mathlib/Geometry/Manifold/ContDiffMulAction.lean Outdated
Comment thread Mathlib/Geometry/Manifold/ContDiffMulAction.lean Outdated
Comment thread Mathlib/Geometry/Manifold/ContDiffMulAction.lean Outdated
fun x hx => (hf x hx).contdiff_smul' (hg x hx)

@[to_additive]
theorem ContDiff.contdiff_smul (hf : ContDiff 𝕜 n f) (hg : ContDiff 𝕜 n g) :
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The correct name for this would be ContDiff.smul, but that name is already taken by the corresponding lemma for scalar multiplication on vector spaces - if possible without messing with the import structure too much, it would probably make sense to remove those lemmas and provide a ContDiffSMul instance for scalar multiplication on vector spaces instead, and then use the correct name here? The same goes for ContDiffAt.contdiff_smul etc.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks! I'll have a think about how to do this cleanly

archiebrowne and others added 6 commits April 26, 2026 20:25
Co-authored-by: Ben Eltschig <43812953+peabrainiac@users.noreply.github.com>
Co-authored-by: Ben Eltschig <43812953+peabrainiac@users.noreply.github.com>
Co-authored-by: Ben Eltschig <43812953+peabrainiac@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
@archiebrowne
Copy link
Copy Markdown
Contributor Author

I just found this PR while preparing a PR on continuously differentiable actions of manifolds (i.e. ContMDiffSMul instead of ContDiffSMul) and looking for prior work. In principle I think having a non-manifold version too makes sense; the acting space being a vector space is a strong restriction, but there are at least some examples of such actions that are not just the action of a field on a vector space over it, e.g. the action of the monoid of all continuous linear transformations of a space on that space. The API for non-manifold actions should probably go into Mathlib/Analysis though, not in the Mathlib/Geometry/Manifold folder.

I've left a few other remarks below.

Thanks for the review! I have committed most of the suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-differential-geometry Manifolds etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants