Skip to content

feat: scalar multiplication as a CLM on classical distributions#41634

Open
luigi-massacci wants to merge 32 commits into
leanprover-community:masterfrom
luigi-massacci:LM_mul_distrib_IV
Open

feat: scalar multiplication as a CLM on classical distributions#41634
luigi-massacci wants to merge 32 commits into
leanprover-community:masterfrom
luigi-massacci:LM_mul_distrib_IV

Conversation

@luigi-massacci

@luigi-massacci luigi-massacci commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

@github-actions github-actions Bot added the t-analysis Analysis (normed *, calculus) label Jul 12, 2026
@github-actions

github-actions Bot commented Jul 12, 2026

Copy link
Copy Markdown

✅ PR Title Formatted Correctly

The title of this PR has been updated to match our commit style conventions.
Thank you!

@github-actions

github-actions Bot commented Jul 12, 2026

Copy link
Copy Markdown

PR summary a54cc5d069

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Analysis.Distribution.ContDiffMapSupportedIn 2395 2404 +9 (+0.38%)
Mathlib.Analysis.Distribution.TestFunction 2433 2440 +7 (+0.29%)
Mathlib.Analysis.Distribution.Distribution 2435 2442 +7 (+0.29%)
Import changes for all files
Files Import difference
Mathlib.Analysis.Distribution.Distribution Mathlib.Analysis.Distribution.TestFunction 7
Mathlib.Analysis.Distribution.ContDiffMapSupportedIn 9

Declarations diff (regex)

+ bilinLeftCLM
+ instance : ContinuousConstSMul 𝕜 𝓓^{n}(Ω, F)
+ smulLeftCLM_apply
++ bilinLeftCLM_apply
++ smulLeftCLM
++ smulLeftCLM_add
++ smulLeftCLM_apply_apply
++ smulLeftCLM_compL_smulLeftCLM
++ smulLeftCLM_const
++ smulLeftCLM_neg
++ smulLeftCLM_smul
++ smulLeftCLM_smulLeftCLM_apply
++ smulLeftCLM_sub
- fderivCLM
- instance : LineDeriv E 𝓓(Ω, F) 𝓓(Ω, F)
- integralAgainstBilinCLM
- lineDerivCLM
- monoCLM
- ofSupportedInCLM
- originalTop
- postcompCLM
- toBoundedContinuousFunctionCLM

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

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

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.

Declarations diff (Lean)

Lean-aware diff — post-build, computed from the Lean environment (commit a54cc5d).

  • +26 new declarations
  • −0 removed declarations
+ContDiffMapSupportedIn.bilinLeftCLM
+ContDiffMapSupportedIn.bilinLeftCLM_apply
+ContDiffMapSupportedIn.mk.congr_simp
+Distribution.smulLeftCLM
+Distribution.smulLeftCLM_add
+Distribution.smulLeftCLM_apply_apply
+Distribution.smulLeftCLM_compL_smulLeftCLM
+Distribution.smulLeftCLM_const
+Distribution.smulLeftCLM_neg
+Distribution.smulLeftCLM_smul
+Distribution.smulLeftCLM_smulLeftCLM_apply
+Distribution.smulLeftCLM_sub
+TestFunction.bilinLeftCLM
+TestFunction.bilinLeftCLM.congr_simp
+TestFunction.bilinLeftCLM_apply
+TestFunction.instContinuousConstSMul
+TestFunction.smulLeftCLM
+TestFunction.smulLeftCLM_add
+TestFunction.smulLeftCLM_apply
+TestFunction.smulLeftCLM_apply_apply
+TestFunction.smulLeftCLM_compL_smulLeftCLM
+TestFunction.smulLeftCLM_const
+TestFunction.smulLeftCLM_neg
+TestFunction.smulLeftCLM_smul
+TestFunction.smulLeftCLM_smulLeftCLM_apply
+TestFunction.smulLeftCLM_sub

No changes to strong technical debt.

No changes to weak technical debt.

Current commit a54cc5d069
Reference commit ed0d70fdcd

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).

@luigi-massacci

Copy link
Copy Markdown
Collaborator Author

The only design choice I am a bit dubious about is that I made F n Ω (codomain, degree of regularity, open subset of domain) explicit, so that smulLeftCLM Ω F n g has everything it needs to type-check, but it does become a bit verbose.

@luigi-massacci

Copy link
Copy Markdown
Collaborator Author

Maybe we should introduce a namespace ClassicalDistribution, so we have Distribution.ClassicalDistribution and Distribution.TemperedDistribution, the current setup is maybe a bit confusing.

@mathlib-dependent-issues mathlib-dependent-issues Bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jul 12, 2026
@luigi-massacci luigi-massacci changed the title feat: scalar multiplication as a CLM on classical distributions. feat: scalar multiplication as a CLM on classical distributions Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant