Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

[Merged by Bors] - feat(group_theory/torsion): extension closedness, and torsion scalars in modules #13172

Closed
wants to merge 4 commits into from

Conversation

Julian
Copy link
Collaborator

@Julian Julian commented Apr 4, 2022

Co-authored by: Alex J. Best alex.j.best@gmail.com


Open in Gitpod

@Julian Julian added the awaiting-review The author would like community review of the PR label Apr 4, 2022
… over modules

Co-authored by: Alex J. Best <alex.j.best@gmail.com>
@Julian Julian force-pushed the istorsion-modules branch from d3b9309 to 99aa028 Compare April 4, 2022 18:19
/-- Torsion groups are closed under extensions. -/
@[to_additive add_is_torsion.extension_closed
"Additive torsion groups are closed under extensions."]
lemma is_torsion.extension_closed (tN : is_torsion N) [N.normal] (tGN : is_torsion (G ⧸ N)) :
Copy link
Member

Choose a reason for hiding this comment

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

Could you please generalize this to surjective maps f : G → H and N = ker f? Even better might be to also turn N → G into an arbitrary group hom, whose range is the kernel of f.
That way the lemma would be easier to apply in a situation that is morally a quotient, but not defeq to one.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I've given this a shot I think -- apologies if I've misunderstood the suggestion, especially since I think the surjective assumption was only required in a different spot. Let me know if I've indeed put nonsense up here now. And thanks as usual for the pointer.

@Julian Julian added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Apr 7, 2022
@Julian Julian added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Apr 19, 2022
Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

Thanks. Two more minor comments. Otherwise LGTM

bors d+

section module

-- A (semi/)ring of scalars and a commutative monoid of elements
variables (Fq R : Type*) [add_comm_monoid R]
Copy link
Member

Choose a reason for hiding this comment

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

I think these variable names are better, especially since you don't assume finiteness in the first lemma. But also because there are finite rings that aren't fields. So the Fq seems to suggest the wrong thing, I think.

Suggested change
variables (Fq R : Type*) [add_comm_monoid R]
variables (R M : Type*) [add_comm_monoid M]

/-- The image of a surjective torsion group homomorphism is torsion. -/
@[to_additive add_is_torsion.of_surj_hom
"The image of a surjective additive torsion group homomorphism is torsion."]
lemma is_torsion.of_surj_hom {f : G →* H} (hf : function.surjective f) (tG : is_torsion G) :
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
lemma is_torsion.of_surj_hom {f : G →* H} (hf : function.surjective f) (tG : is_torsion G) :
lemma is_torsion.of_surjective {f : G →* H} (hf : function.surjective f) (tG : is_torsion G) :

@bors
Copy link

bors bot commented Apr 21, 2022

✌️ Julian can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@leanprover-community-bot-assistant leanprover-community-bot-assistant added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Apr 21, 2022
Co-authored by: Johan Commelin <johan@commelin.net>
@Julian
Copy link
Collaborator Author

Julian commented Apr 21, 2022

bors r+

bors bot pushed a commit that referenced this pull request Apr 21, 2022
… in modules (#13172)


Co-authored by: Alex J. Best <alex.j.best@gmail.com>
@bors
Copy link

bors bot commented Apr 21, 2022

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(group_theory/torsion): extension closedness, and torsion scalars in modules [Merged by Bors] - feat(group_theory/torsion): extension closedness, and torsion scalars in modules Apr 21, 2022
@bors bors bot closed this Apr 21, 2022
@bors bors bot deleted the istorsion-modules branch April 21, 2022 14:17
Julian added a commit that referenced this pull request Apr 21, 2022
* origin/master: (394 commits)
  feat(data/set/[basic|prod]): make `×ˢ` bind more strongly, and define `mem.out` (#13422)
  feat(order/basic): Simple shortcut lemmas (#13421)
  chore(number_theory/dioph): Cleanup (#13403)
  feat(analysis/normed_space/exponential): ring homomorphisms are preserved by the exponential (#13402)
  feat(algebraic_geometry/projective_spectrum): degree zero part of a localized ring (#13398)
  feat(set_theory/cardinal): A set of cardinals is small iff it's bounded (#13373)
  feat(data/polynomial/{derivative, iterated_deriv}): reduce assumptions (#13368)
  feat(algebra/monoid_algebra/grading): Use the new graded_algebra API (#13360)
  feat(algebra/group/to_additive): let @[to_additive] mimic alias’s docstrings (#13330)
  feat(set_theory/cofinality): Basic fundamental sequences (#13326)
  feat(special_functions/pow): continuity of real to complex power (#13244)
  feat(group_theory/torsion): extension closedness, and torsion scalars in modules (#13172)
  feat(category_theory/path_category): canonical quotient of a path category (#13159)
  refactor(number_theory/padics/padic_norm): Switch nat and rat definitions (#12454)
  feat(analysis/normed): more lemmas about the sup norm on pi types and matrices (#13536)
  fix(category_theory/monoidal): improve hygiene in coherence tactic (#13507)
  feat(src/number_theory/cyclotomic/discriminant): add discr_prime_pow_ne_two (#13465)
  chore(algebra/group/type_tags): missing simp lemmas (#13553)
  feat(measure_theory): allow measurability to prove ae_strongly_measurable (#13427)
  refactor(algebra/hom/group): generalize a few lemmas to `monoid_hom_class` (#13447)
  chore(data/list/cycle): Add basic `simp` lemmas + minor golfing (#13533)
  feat(algebra/hom/non_unital_alg): introduce notation for non-unital algebra homomorphisms (#13470)
  chore(algebra/group/defs): Declare `field_simps` attribute earlier (#13543)
  feat(analysis/normed/normed_field): add `one_le_(nn)norm_one` for nontrivial normed rings (#13556)
  refactor(analysis/calculus/cont_diff): reorder the file (#13468)
  move(set_theory/*): Organize in folders (#13530)
  chore(number_theory/zsqrtd/basic): simplify le_total proof (#13555)
  feat(group_theory/perm/basic): Iterating a permutation is the same as taking a power (#13554)
  feat(data/real/sqrt): `sqrt x < y ↔ x < y^2` (#13546)
  feat(algebra/hom/group and *): introduce `mul_hom M N` notation `M →ₙ* N` (#13526)
  feat(group_theory/schreier): Schreier's lemma in terms of `group.fg` and `group.rank` (#13361)
  feat(linear_algebra/trace): dual_tensor_hom is an equivalence + basis-free characterization of the trace (#10372)
  feat(order/filter/basic): allow functions between different types in lemmas about [co]map by a constant function (#13542)
  feat(data/finset/basic): simp `to_finset_eq_empty` (#13531)
  feat(topology/algebra/algebra): ℚ-scalar multiplication is continuous (#13458)
  chore(model_theory/encoding): Improve the encoding of terms  (#13532)
  feat(topology/separation): Finite sets in T2 spaces (#12845)
  feat(analysis/inner_product_space/gram_schmidt_ortho): Gram-Schmidt Orthogonalization and Orthonormalization (#12857)
  chore(algebra/big_operators/fin): golf finset.prod_range (#13535)
  chore(analysis/normed_space/star): make an argument explicit (#13523)
  feat(*): `op_op_op_comm` lemmas (#13528)
  chore(data/real/nnreal): add commuted version of `nnreal.mul_finset_sup` (#13512)
  chore(*/matrix): order `m` and `n` alphabetically (#13510)
  feat(analysis/calculus/specific_functions): trivial extra lemmas (#13516)
  feat(analysis): lemmas about nnnorm and nndist (#13498)
  feat(data/int/basic): add lemma `int.abs_le_one_iff` (#13513)
  feat(category_theory/limits): add characteristic predicate for zero objects (#13511)
  feat(order/filter/n_ary): Add lemma equating map₂ to map on the product (#13490)
  fix(analysis/locally_convex/balanced_hull_core): minimize import (#13450)
  feat(order/cover): define `wcovby` (#13424)
  ...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants