Skip to content

feat(Order/Monoid/Unbundled): make mulLeftMono_of_mulLeftStrictMono and mulRightMono_of_mulRightStrictMono instances. - #42456

Open
homeowmorphism wants to merge 3 commits into
leanprover-community:masterfrom
homeowmorphism:Order.Monoid.instances
Open

feat(Order/Monoid/Unbundled): make mulLeftMono_of_mulLeftStrictMono and mulRightMono_of_mulRightStrictMono instances.#42456
homeowmorphism wants to merge 3 commits into
leanprover-community:masterfrom
homeowmorphism:Order.Monoid.instances

Conversation

@homeowmorphism

Copy link
Copy Markdown
Contributor

In response to feedback on #41505 (comment).


Open in Gitpod

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

PR summary dc3116dcc4

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff (regex)

No declarations were harmed in the making of this PR! 🐙

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

Computed after the build finishes.


No changes to strong technical debt.

No changes to weak technical debt.

Current commit dc3116dcc4
Reference commit 4d6f98930f

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 commented Aug 4, 2026

Copy link
Copy Markdown

🚨 PR Title Needs Formatting

Please update the title to match our commit style conventions.

Errors from script:

labels are []
error: the PR title should not end with a full stop
Details on the required title format

The title should fit the following format:

<kind>(<optional-scope>): <subject>

<kind> is:

  • feat (feature)
  • fix (bug fix)
  • doc (documentation)
  • style (formatting, missing semicolons, ...)
  • refactor
  • test (when adding missing tests)
  • chore (maintain)
  • perf (performance improvement, optimization, ...)
  • ci (changes to continuous integration, repo automation, ...)

<optional-scope> is a name of module or a directory which contains changed modules.
This is not necessary to include, but may be useful if the <subject> is insufficient.
The Mathlib directory prefix is always omitted.
For instance, it could be

  • Data/Nat/Basic
  • Algebra/Group/Defs
  • Topology/Constructions

<subject> has the following constraints:

  • do not capitalize the first letter
  • no dot(.) at the end
  • use imperative, present tense: "change" not "changed" nor "changes"

@homeowmorphism homeowmorphism changed the title feat(Order/Monoid/Unbundled): make mulLeftMono_of_mulLeftStrictMono and mulRightMono_of_mulRightStrictMono instances. feat(Order/Monoid/Unbundled): make mulLeftMono_of_mulLeftStrictMono and mulRightMono_of_mulRightStrictMono instances. Aug 4, 2026
@homeowmorphism

homeowmorphism commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

One thing that came to my attention after discussing with Claude is that this change may create an instance loop because we have

instance mulLeftMono_of_mulLeftStrictMono (M) [Mul M] [PartialOrder M] [MulLeftStrictMono M] :
    MulLeftMono M := covariantClass_le_of_lt _ _ _

and

instance IsLeftCancelMul.mulLeftStrictMono_of_mulLeftMono [Mul N] [IsLeftCancelMul N]
    [PartialOrder N] [MulLeftMono N] :
    MulLeftStrictMono N

and this may waste heartbeats.

Not sure if it matters in the big picture. I made a gist report in case someone more knowledgeable than myself wants to have a look: https://gist.github.com/homeowmorphism/5d1f1f699df9a448dedecd2643b2f737.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant