-
Notifications
You must be signed in to change notification settings - Fork 839
feat: group markings #19475
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
base: master
Are you sure you want to change the base?
feat: group markings #19475
Conversation
PR summary 0231ea944eImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
/-! | ||
# Marked groups | ||
|
||
This file defines group markings and induces a norm on marked groups. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reference you can give here? I'm not familiar with this definition
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't find a reference, but eg this MathOverflow question says "A
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there isn't a reference for a definition you wish to add, does it really belong in mathlib?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, here's a reference: https://math.huji.ac.il/~perin/Documents/GGT/GGTCourse.pdf, Remark 5.3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add this to the module docstring. It would also be nice to also add the explanation of why you choose a definition different from the one which seems more standard.
41ecd85
to
a616f80
Compare
Mathlib/Geometry/Group/Marking.lean
Outdated
* `MarkedGroup`: If `m : GroupMarking G S`, then `MarkedGroup m` is a type synonym for `G` | ||
endowed with the metric coming from `m`. | ||
* `MarkedGroup.instNormedGroup`: A marked group is normed by its marking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to give here a clearer description of what the metric and norm actually are. Currently the documentation only says that a norm is induced, with no clue as to how they are defined, or what they mean.
@[to_additive] | ||
lemma norm_def [DecidableEq S] (x : MarkedGroup m) | ||
[DecidablePred fun n ↦ ∃ l, toMarkedGroup (m l) = x ∧ l.toWord.length = n] : | ||
‖x‖ = Nat.find (mul_aux' x) := by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's generally not a great idea to have a lemma of this form, where the definition depends on a private lemma. You should instead give properties of the norm which can be useful without referencing private lemmas. For instance, the lemma that there exists a word in the free group with length n which corresponds to x is tricky to prove from the public API. This, and related lemmas (the norm is the smallest n with that property) should be included as part of the norm API.
This PR/issue depends on:
|
90d8e07
to
75a713a
Compare
75a713a
to
c040421
Compare
c040421
to
62f3695
Compare
This pull request has conflicts, please merge |
62f3695
to
da26e54
Compare
This pull request has conflicts, please merge |
The goal is to apply this to the free group.
From LeanCamCombi
da26e54
to
1e09253
Compare
From LeanCamCombi