Skip to content

feat: IsMulApplyEqComp instances for RelHom/RelEmbedding/RelIso and MulAction (α →o α) α#41572

Draft
kim-em wants to merge 1 commit into
leanprover-community:masterfrom
kim-em:claude/followup-40515-orderhom-todos
Draft

feat: IsMulApplyEqComp instances for RelHom/RelEmbedding/RelIso and MulAction (α →o α) α#41572
kim-em wants to merge 1 commit into
leanprover-community:masterfrom
kim-em:claude/followup-40515-orderhom-todos

Conversation

@kim-em

@kim-em kim-em commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

This PR adds IsMulApplyEqComp/IsOneApplyEqSelf instances for RelHom, RelEmbedding and RelIso (fulfilling a TODO recorded in Mathlib/Algebra/Order/Group/End.lean, so these types get the generic pow_apply_eq_iterate/coe_pow_eq_iterate lemmas), and add the tautological MulAction (α →o α) α instance together with smul_def and FaithfulSMul in Mathlib/Algebra/Order/Group/Action/End.lean (requested in review; it cannot live in End.lean because of assert_not_exists MulAction), matching the existing RelHom/RelEmbedding/RelIso instances in that file.

Follow-up to #40515 (feat: Monoid and Group instances for OrderHom and OrderIso).

🤖 Prepared with Claude Code

Add the IsMulApplyEqComp/IsOneApplyEqSelf instances for RelHom,
RelEmbedding and RelIso (fulfilling a TODO from leanprover-community#40515), and the
tautological MulAction (α →o α) α with smul_def and FaithfulSMul,
as requested in review of leanprover-community#40515.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the t-algebra Algebra (groups, rings, fields, etc) label Jul 10, 2026
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

PR summary 47abf247ed

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff (regex)

+ applyMulAction
+ apply_faithfulSMul
+ instance : IsMulApplyEqComp (r →r r) α where mul_apply_eq_comp _ _ _ := rfl
+ instance : IsMulApplyEqComp (r ↪r r) α where mul_apply_eq_comp _ _ _ := rfl
+ instance : IsMulApplyEqComp (r ≃r r) α where mul_apply_eq_comp _ _ _ := rfl
+ instance : IsOneApplyEqSelf (r →r r) α where one_apply_eq_self _ := rfl
+ instance : IsOneApplyEqSelf (r ↪r r) α where one_apply_eq_self _ := rfl
+ instance : IsOneApplyEqSelf (r ≃r r) α where one_apply_eq_self _ := rfl
+ smul_def

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

  • +9 new declarations
  • −0 removed declarations
+OrderHom.applyMulAction
+OrderHom.apply_faithfulSMul
+OrderHom.smul_def
+RelEmbedding.instIsMulApplyEqComp
+RelEmbedding.instIsOneApplyEqSelf
+RelHom.instIsMulApplyEqComp
+RelHom.instIsOneApplyEqSelf
+RelIso.instIsMulApplyEqComp
+RelIso.instIsOneApplyEqSelf

No changes to strong technical debt.

No changes to weak technical debt.

Current commit 47abf247ed
Reference commit a33a5ccd63

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

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

Labels

t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant