@@ -5,7 +5,7 @@ Authors: Johannes Hölzl, Scott Morrison
5
5
-/
6
6
import algebra.group.pi
7
7
import algebra.big_operators.order
8
- import algebra.module.linear_map
8
+ import algebra.module.basic
9
9
import data.fintype.card
10
10
import data.finset.preimage
11
11
import data.multiset.antidiagonal
@@ -638,14 +638,18 @@ instance : add_monoid (α →₀ M) :=
638
638
zero_add := assume ⟨s, f, hf⟩, ext $ assume a, zero_add _,
639
639
add_zero := assume ⟨s, f, hf⟩, ext $ assume a, add_zero _ }
640
640
641
- /-- `finsupp.single` as an `add_monoid_hom`. -/
641
+ /-- `finsupp.single` as an `add_monoid_hom`.
642
+
643
+ See `finsupp.lsingle` for the stronger version as a linear map.
644
+ -/
642
645
@[simps] def single_add_hom (a : α) : M →+ α →₀ M :=
643
646
⟨single a, single_zero, λ _ _, single_add⟩
644
647
645
- /-- Evaluation of a function `f : α →₀ M` at a point as an additive monoid homomorphism. -/
646
- def eval_add_hom (a : α) : (α →₀ M) →+ M := ⟨λ g, g a, zero_apply, λ _ _, add_apply⟩
648
+ /-- Evaluation of a function `f : α →₀ M` at a point as an additive monoid homomorphism.
647
649
648
- @[simp] lemma eval_add_hom_apply (a : α) (g : α →₀ M) : eval_add_hom a g = g a := rfl
650
+ See `finsupp.lapply` for the stronger version as a linear map. -/
651
+ @[simps apply]
652
+ def apply_add_hom (a : α) : (α →₀ M) →+ M := ⟨λ g, g a, zero_apply, λ _ _, add_apply⟩
649
653
650
654
lemma single_add_erase (a : α) (f : α →₀ M) : single a (f a) + f.erase a = f :=
651
655
ext $ λ a',
@@ -834,7 +838,7 @@ finset.subset.antisymm
834
838
@[simp] lemma sum_apply [has_zero M] [add_comm_monoid N]
835
839
{f : α →₀ M} {g : α → M → β →₀ N} {a₂ : β} :
836
840
(f.sum g) a₂ = f.sum (λa₁ b, g a₁ b a₂) :=
837
- (eval_add_hom a₂ : (β →₀ N) →+ _).map_sum _ _
841
+ (apply_add_hom a₂ : (β →₀ N) →+ _).map_sum _ _
838
842
839
843
lemma support_sum [has_zero M] [add_comm_monoid N]
840
844
{f : α →₀ M} {g : α → M → (β →₀ N)} :
@@ -1608,24 +1612,7 @@ instance [semiring R] [add_comm_monoid M] [semimodule R M] : semimodule R (α
1608
1612
zero_smul := λ x, ext $ λ _, zero_smul _ _,
1609
1613
smul_zero := λ x, ext $ λ _, smul_zero _ }
1610
1614
1611
- variables {α M} (R)
1612
-
1613
- /-- Evaluation at point as a linear map. This version assumes that the codomain is a semimodule
1614
- over some semiring. See also `leval`. -/
1615
- def leval' [semiring R] [add_comm_monoid M] [semimodule R M] (a : α) :
1616
- (α →₀ M) →ₗ[R] M :=
1617
- ⟨λ g, g a, λ _ _, add_apply, λ _ _, rfl⟩
1618
-
1619
- @[simp] lemma coe_leval' [semiring R] [add_comm_monoid M] [semimodule R M] (a : α) (g : α →₀ M) :
1620
- leval' R a g = g a :=
1621
- rfl
1622
-
1623
- variable {R}
1624
-
1625
- /-- Evaluation at point as a linear map. This version assumes that the codomain is a semiring. -/
1626
- def leval [semiring R] (a : α) : (α →₀ R) →ₗ[R] R := leval' R a
1627
-
1628
- @[simp] lemma coe_leval [semiring R] (a : α) (g : α →₀ R) : leval a g = g a := rfl
1615
+ variables {α M} {R}
1629
1616
1630
1617
lemma support_smul {_ : semiring R} [add_comm_monoid M] [semimodule R M] {b : R} {g : α →₀ M} :
1631
1618
(b • g).support ⊆ g.support :=
0 commit comments