Skip to content

feat(Analysis/Calculus/Deriv): add deriv_const_mul_id'#38171

Open
emlis42 wants to merge 3 commits intoleanprover-community:masterfrom
emlis42:deriv-const-mul-id
Open

feat(Analysis/Calculus/Deriv): add deriv_const_mul_id'#38171
emlis42 wants to merge 3 commits intoleanprover-community:masterfrom
emlis42:deriv-const-mul-id

Conversation

@emlis42
Copy link
Copy Markdown

@emlis42 emlis42 commented Apr 17, 2026

This PR adds a simp lemma for the derivative of multiplication by a constant on the left.

In practice, simp is already able to simplify fun x => x * c and fun x => x / c. However, it getting stuck on fun x => c * x and deriv (HMul.hMul c).

This PR fix this by adding a simp lemma so that simp can also handle fun x => c * x without requiring an explicit rw [deriv_const_mul].

This is useful for examples such as:

example {t : ℝ} (ht : t ≠ 0) : deriv (fun x => x ^ 2 / (2 * x)) t = 1 / 2 := by
  simp (disch := first | fun_prop (disch := grind) | grind); field

example {t : ℝ} : deriv (HMul.hMul 2) t = 2 := by
  simp

@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 17, 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 17, 2026

PR summary 96c2df6e3d

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ deriv_const_mul_id
+ deriv_const_mul_id'

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.

You can run this locally as

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

@joneugster joneugster added the t-analysis Analysis (normed *, calculus) label Apr 17, 2026
@emlis42
Copy link
Copy Markdown
Author

emlis42 commented Apr 17, 2026

!bench

@leanprover-radar
Copy link
Copy Markdown

leanprover-radar commented Apr 17, 2026

Benchmark results for c7edc0d against 96c2df6 are in. No significant results found. @emlis42

  • build//instructions: -805.3M (-0.00%)

Small changes (1🟥)

  • 🟥 build/module/Mathlib.Tactic.FunProp.ToBatteries//instructions: +544.5M (+7.87%)

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-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants