Built with
doc-gen4, running Lean4.
Bubbles (
) indicate interactive fragments: hover for details, tap to reveal contents.
Use
Ctrl+βCtrl+βto navigate,
Ctrl+π±οΈto focus.
On Mac, use
Cmdinstead of
Ctrl.
/-
Copyright (c) 2018 Johannes HΓΆlzl. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes HΓΆlzl, Callum Sutton, Yury Kudryashov
! This file was ported from Lean 3 source module algebra.big_operators.ring_equiv
! leanprover-community/mathlib commit 008205aa645b3f194c1da47025c5f110c8406eab
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathlib.Algebra.BigOperators.Basic
import Mathlib.Algebra.Ring.Equiv
/-!
# Results about mapping big operators across ring equivalences
-/
namespace RingEquiv
open BigOperators
variable {Ξ± R S : Type _: Type (?u.58338+1)
Type _}
protected theorem map_list_prod [Semiring R] [Semiring S] (f : R β+* S) (l : List R) :
f l.prod: {Ξ± : Type ?u.7187} β [inst : Mul Ξ±] β [inst : One Ξ±] β List Ξ± β Ξ±
prod = (l.map: {Ξ± : Type ?u.7221} β {Ξ² : Type ?u.7220} β (Ξ± β Ξ²) β List Ξ± β List Ξ²
map f).prod: {Ξ± : Type ?u.13954} β [inst : Mul Ξ±] β [inst : One Ξ±] β List Ξ± β Ξ±
prod := map_list_prod f l
#align ring_equiv.map_list_prod RingEquiv.map_list_prod
protected theorem map_list_sum [NonAssocSemiring: Type ?u.14267 β Type ?u.14267
NonAssocSemiring R] [NonAssocSemiring: Type ?u.14270 β Type ?u.14270
NonAssocSemiring S] (f : R β+* S)
(l : List R) : f l.sum: {Ξ± : Type ?u.21402} β [inst : Add Ξ±] β [inst : Zero Ξ±] β List Ξ± β Ξ±
sum = (l.map: {Ξ± : Type ?u.21620} β {Ξ² : Type ?u.21619} β (Ξ± β Ξ²) β List Ξ± β List Ξ²
map f).sum: {Ξ± : Type ?u.28353} β [inst : Add Ξ±] β [inst : Zero Ξ±] β List Ξ± β Ξ±
sum := map_list_sum f l
#align ring_equiv.map_list_sum RingEquiv.map_list_sum
/-- An isomorphism into the opposite ring acts on the product by acting on the reversed elements -/
protected theorem unop_map_list_prod [Semiring: Type ?u.28959 β Type ?u.28959
Semiring R] [Semiring: Type ?u.28962 β Type ?u.28962
Semiring S] (f : R β+* Sα΅α΅α΅) (l : List R) :
MulOpposite.unop (f l.prod: {Ξ± : Type ?u.36146} β [inst : Mul Ξ±] β [inst : One Ξ±] β List Ξ± β Ξ±
prod) = (l.map: {Ξ± : Type ?u.36182} β {Ξ² : Type ?u.36181} β (Ξ± β Ξ²) β List Ξ± β List Ξ²
map (MulOpposite.unop β f)).reverse.prod: {Ξ± : Type ?u.42934} β [inst : Mul Ξ±] β [inst : One Ξ±] β List Ξ± β Ξ±
prod :=
unop_map_list_prod f l
#align ring_equiv.unop_map_list_prod RingEquiv.unop_map_list_prod
protected theorem map_multiset_prod [CommSemiring: Type ?u.43401 β Type ?u.43401
CommSemiring R] [CommSemiring: Type ?u.43404 β Type ?u.43404
CommSemiring S] (f : R β+* S)
(s : Multiset: Type ?u.44047 β Type ?u.44047
Multiset R) : f s.prod = (s.map f).prod :=
map_multiset_prod f s
#align ring_equiv.map_multiset_prod RingEquiv.map_multiset_prod
protected theorem map_multiset_sum [NonAssocSemiring: Type ?u.58347 β Type ?u.58347
NonAssocSemiring R] [NonAssocSemiring: Type ?u.58350 β Type ?u.58350
NonAssocSemiring S] (f : R β+* S)
(s : Multiset: Type ?u.58725 β Type ?u.58725
Multiset R) : f s.sum = (s.map f).sum :=
map_multiset_sum f s
#align ring_equiv.map_multiset_sum RingEquiv.map_multiset_sum
protected theorem map_prod [CommSemiring: Type ?u.73322 β Type ?u.73322
CommSemiring R] [CommSemiring: Type ?u.73325 β Type ?u.73325
CommSemiring S] (g : R β+* S) (f : Ξ± β R)
(s : Finset Ξ±) : g (β x in s, f x) = β x in s, g (f x) :=
map_prod g f s
#align ring_equiv.map_prod RingEquiv.map_prod
protected theorem map_sum [NonAssocSemiring: Type ?u.88303 β Type ?u.88303
NonAssocSemiring R] [NonAssocSemiring: Type ?u.88306 β Type ?u.88306
NonAssocSemiring S] (g : R β+* S) (f : Ξ± β R)
(s : Finset Ξ±) : g (β x in s, f x) = β x in s, g (f x) :=
map_sum g f s
#align ring_equiv.map_sum RingEquiv.map_sum
end RingEquiv