Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(group_theory/group_action/big_operators): extract to a new f…
…ile (#13340) `basic` is a misleading name, as `group_action.basic` imports a lot of things. For now I'm not renaming it, but I've adding a skeletal docstring. Splitting out the big operator lemmas allows access to big operators before modules and quotients. This also performs a drive-by generalization of the typeclasses on `smul_cancel_of_non_zero_divisor`. Authorship is from #1910
- Loading branch information
1 parent
3e78c23
commit 8f7e10b
Showing
6 changed files
with
89 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
/- | ||
Copyright (c) 2020 Yury Kudryashov. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Yury Kudryashov | ||
-/ | ||
import algebra.big_operators.basic | ||
import data.finset.basic | ||
import data.multiset.basic | ||
import group_theory.group_action.defs | ||
|
||
/-! | ||
# Lemmas about group actions on big operators | ||
Note that analogous lemmas for `module`s like `finset.sum_smul` appear in other files. | ||
-/ | ||
|
||
variables {α β γ : Type*} | ||
|
||
open_locale big_operators | ||
|
||
section | ||
variables [monoid α] [add_monoid β] [distrib_mul_action α β] | ||
|
||
lemma list.smul_sum {r : α} {l : list β} : | ||
r • l.sum = (l.map ((•) r)).sum := | ||
(distrib_mul_action.to_add_monoid_hom β r).map_list_sum l | ||
|
||
end | ||
|
||
section | ||
variables [monoid α] [monoid β] [mul_distrib_mul_action α β] | ||
|
||
lemma list.smul_prod {r : α} {l : list β} : | ||
r • l.prod = (l.map ((•) r)).prod := | ||
(mul_distrib_mul_action.to_monoid_hom β r).map_list_prod l | ||
|
||
end | ||
|
||
section | ||
variables [monoid α] [add_comm_monoid β] [distrib_mul_action α β] | ||
|
||
lemma multiset.smul_sum {r : α} {s : multiset β} : | ||
r • s.sum = (s.map ((•) r)).sum := | ||
(distrib_mul_action.to_add_monoid_hom β r).map_multiset_sum s | ||
|
||
lemma finset.smul_sum {r : α} {f : γ → β} {s : finset γ} : | ||
r • ∑ x in s, f x = ∑ x in s, r • f x := | ||
(distrib_mul_action.to_add_monoid_hom β r).map_sum f s | ||
|
||
end | ||
|
||
section | ||
variables [monoid α] [comm_monoid β] [mul_distrib_mul_action α β] | ||
|
||
lemma multiset.smul_prod {r : α} {s : multiset β} : | ||
r • s.prod = (s.map ((•) r)).prod := | ||
(mul_distrib_mul_action.to_monoid_hom β r).map_multiset_prod s | ||
|
||
lemma finset.smul_prod {r : α} {f : γ → β} {s : finset γ} : | ||
r • ∏ x in s, f x = ∏ x in s, r • f x := | ||
(mul_distrib_mul_action.to_monoid_hom β r).map_prod f s | ||
|
||
end |