Skip to content

feat(Tactic/ComputeAsymptotics/Multiseries): introduce Monomial#37411

Open
vasnesterov wants to merge 6 commits intoleanprover-community:masterfrom
vasnesterov:compute_asymptotics_term_1
Open

feat(Tactic/ComputeAsymptotics/Multiseries): introduce Monomial#37411
vasnesterov wants to merge 6 commits intoleanprover-community:masterfrom
vasnesterov:compute_asymptotics_term_1

Conversation

@vasnesterov
Copy link
Copy Markdown
Collaborator

@vasnesterov vasnesterov commented Mar 31, 2026

  • Introduce Monomial and UnitMonomial
  • Define Monomial.toFun and algebraic operations on monomials: negation, inversion, multiplication.

This is a part of the compute_asymptotics tactic (#28291).

Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

PR summary fdd294c699

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Tactic 2
Mathlib.Tactic.ComputeAsymptotics.Multiseries.Monomial.Basic (new file) 1773
Mathlib.Tactic.ComputeAsymptotics.Multiseries.Monomial.Predicates (new file) 1775

Declarations diff

+ AllZero
+ AllZero.cons_iff
+ AllZero_of_nil
+ AllZero_of_replicate
+ AllZero_of_tail
+ FirstNonzeroIsNeg
+ FirstNonzeroIsNeg_of_head
+ FirstNonzeroIsNeg_of_tail
+ FirstNonzeroIsPos
+ FirstNonzeroIsPos_of_head
+ FirstNonzeroIsPos_of_tail
+ Monomial
+ UnitMonomial
+ cons_toFun
+ mul_length
+ neg
+ neg_toFun
+ nil_toFun
+ not_FirstNonzeroIsPos_of_AllZero
+ not_FirstNonzeroIsPos_of_FirstNonzeroIsNeg
+ smul
+ smul_toFun
+ toFun_cons
+ toFun_nil
+ toFun_nil_basis
+ toLogFun
+ toLogFun_cons
+ toLogFun_nil
+ toLogFun_nil_basis
+ zero_coef_toFun
+ zero_coef_toFun'
++ inv
++ inv_length
++ inv_toFun
++ mul
++ mul_toFun
++ toFun

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

@github-actions github-actions bot added the t-meta Tactics, attributes or user commands label Mar 31, 2026
@mathlib-dependent-issues
Copy link
Copy Markdown

This PR/issue depends on:

Copy link
Copy Markdown
Contributor

@joneugster joneugster left a comment

Choose a reason for hiding this comment

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

This looks good to me, thank you. I expect there not to be any bigger obstacle once the dependencies are merged.

Maybe the line rw [ih h_basis.tail (by grind) (by grind), Real.rpow_add (h_pos _ (by simp))] will ideally need some rewriting to make it a bit more stable, haven't investigated closely.

I'll have a closer look when the dependency is merged

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-meta Tactics, attributes or user commands

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants