Skip to content

feat: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) #27399

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

MoritzBeroRoos
Copy link

@MoritzBeroRoos MoritzBeroRoos commented Jul 23, 2025

Discussion at zulip.

Currently the abbreviations \cdot and \centerdot resolve to different, with the naked eye nearly undistinguishable symbols (despite the c in cdot surely standing for center..):

  • \cdot gives ⬝ U+2B1D "Black Very Small Square"
  • \centerdot gives · U+00B7 "Middle Dot"

Mathlib mostly uses the \centerdot variant, except for the dotProduct notation and some probably unsuspecting people wanting \centerdot but getting \cdot in their comments and 6 uses of a notation using the raw \cdot without any subscript at Mathlib\Topology\Homotopy\Product.lean.

This PR replaces the dot product ⬝ᵥ with its \centerdot counterpart ·ᵥ. The related PR here can then overwrite the \cdot abbreviation, to produce the same symbol as the centerdot abbreviation does.


Open in Gitpod

@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 Jul 23, 2025
Copy link

github-actions bot commented Jul 23, 2025

PR summary d3c295b45d

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

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

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

@MoritzBeroRoos MoritzBeroRoos changed the title replace every usage of ⬝ (old \cdot) with · (\centerdot) feat: replace every usage of ⬝ (old \cdot) with · (\centerdot) Jul 23, 2025
@eric-wieser
Copy link
Member

Please put the PR description above the ---, otherwise it won't go in the commit message! There is no need to repeat the PR title.

-/
def mulVec [Fintype n] (M : Matrix m n α) (v : n → α) : m → α
| i => (fun j => M i j) ᵥ v
| i => (fun j => M i j) ·ᵥ v
Copy link
Member

@eric-wieser eric-wieser Jul 23, 2025

Choose a reason for hiding this comment

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

I think it might be a good idea to split this PR; so do a replavement of ·ᵥ back with ⬝ᵥ, since it seems all the other dots are just mistakes! Then we can replace just dotProduct in a follow-up PR.

Copy link
Author

@MoritzBeroRoos MoritzBeroRoos Jul 23, 2025

Choose a reason for hiding this comment

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

i have rolled back all changes, and in this pr replace only the dotproduct notation.
(i saw your message after i had already edited everything here, sorry).
How can i build a pr on top of this one? The other one would change all the comments, leaving only the homotopy product with the \cdot variant

@MoritzBeroRoos MoritzBeroRoos changed the title feat: replace every usage of ⬝ (old \cdot) with · (\centerdot) feat: replace every usage of ⬝ᵥ (with old \cdot) by ·ᵥ (with \centerdot) Jul 23, 2025
@@ -25,7 +25,7 @@ This file defines vector and matrix multiplication

The locale `Matrix` gives the following notation:

* `ᵥ` for `dotProduct`
* `·ᵥ` for `dotProduct`
Copy link
Member

Choose a reason for hiding this comment

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

I claim we should actually use

Suggested change
* `·ᵥ` for `dotProduct`
* `ᵥ` for `dotProduct`

but let's wait for a zulip opinion

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!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants