@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
5
5
-/
6
6
import algebra.big_operators.pi
7
+ import algebra.module.hom
7
8
import algebra.module.prod
8
9
import algebra.module.submodule_lattice
9
10
import data.dfinsupp
@@ -635,11 +636,12 @@ end comm_ring
635
636
end linear_map
636
637
637
638
/--
638
- The `ℕ `-linear equivalence between additive morphisms `A →+ B` and `ℕ`-linear morphisms `A →ₗ[ℕ] B`.
639
+ The `R `-linear equivalence between additive morphisms `A →+ B` and `ℕ`-linear morphisms `A →ₗ[ℕ] B`.
639
640
-/
640
641
@[simps]
641
- def add_monoid_hom_lequiv_nat {A B : Type *} [add_comm_monoid A] [add_comm_monoid B] :
642
- (A →+ B) ≃ₗ[ℕ] (A →ₗ[ℕ] B) :=
642
+ def add_monoid_hom_lequiv_nat {A B : Type *} (R : Type *)
643
+ [semiring R] [add_comm_monoid A] [add_comm_monoid B] [module R B] :
644
+ (A →+ B) ≃ₗ[R] (A →ₗ[ℕ] B) :=
643
645
{ to_fun := add_monoid_hom.to_nat_linear_map,
644
646
inv_fun := linear_map.to_add_monoid_hom,
645
647
map_add' := by { intros, ext, refl },
@@ -648,11 +650,12 @@ def add_monoid_hom_lequiv_nat {A B : Type*} [add_comm_monoid A] [add_comm_monoid
648
650
right_inv := by { intros f, ext, refl } }
649
651
650
652
/--
651
- The `ℤ `-linear equivalence between additive morphisms `A →+ B` and `ℤ`-linear morphisms `A →ₗ[ℤ] B`.
653
+ The `R `-linear equivalence between additive morphisms `A →+ B` and `ℤ`-linear morphisms `A →ₗ[ℤ] B`.
652
654
-/
653
655
@[simps]
654
- def add_monoid_hom_lequiv_int {A B : Type *} [add_comm_group A] [add_comm_group B] :
655
- (A →+ B) ≃ₗ[ℤ] (A →ₗ[ℤ] B) :=
656
+ def add_monoid_hom_lequiv_int {A B : Type *} (R : Type *)
657
+ [semiring R] [add_comm_group A] [add_comm_group B] [module R B] :
658
+ (A →+ B) ≃ₗ[R] (A →ₗ[ℤ] B) :=
656
659
{ to_fun := add_monoid_hom.to_int_linear_map,
657
660
inv_fun := linear_map.to_add_monoid_hom,
658
661
map_add' := by { intros, ext, refl },
0 commit comments