Skip to content

Comments

feat(LinearAlgebra/Matrix): add Matrix.mul_eq_smul_one_symm#35652

Open
dennj wants to merge 1 commit intoleanprover-community:masterfrom
dennj:feat/matrix-orthogonality-reversal
Open

feat(LinearAlgebra/Matrix): add Matrix.mul_eq_smul_one_symm#35652
dennj wants to merge 1 commit intoleanprover-community:masterfrom
dennj:feat/matrix-orthogonality-reversal

Conversation

@dennj
Copy link
Contributor

@dennj dennj commented Feb 22, 2026

Summary

  • Add Matrix.mul_eq_smul_one_symm: if M * N = c • 1 and det M ≠ 0, then N * M = c • 1
  • A scalar generalisation of mul_eq_one_symm (the c = 1 case) to arbitrary scalars, requiring IsDomain and det M ≠ 0
  • The proof uses the adjugate identity adjugate M * M = det M • 1 to derive det M • (N * M) = det M • (c • 1), then cancels det M via mul_left_cancel₀

Theorem imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory

Add a scalar variant of `mul_eq_one_symm` for matrices:
if `M * N = c • 1` and `det M ≠ 0`, then `N * M = c • 1`.

This generalises `mul_eq_one_symm` (the `c = 1` case) to arbitrary
scalars, at the cost of requiring `IsDomain` and `det M ≠ 0`.
@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 Feb 22, 2026
@github-actions
Copy link

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.

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.

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

PR summary 4df4ffda6e

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ mul_eq_smul_one_symm

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for scripts/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/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-algebra Algebra (groups, rings, fields, etc) label Feb 22, 2026
Copy link
Member

@eric-wieser eric-wieser left a comment

Choose a reason for hiding this comment

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

Is a more general version of this true, building on top of #35676 ?

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-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants