@@ -744,19 +744,25 @@ lemma root_mul_right_of_is_root {p : polynomial R} (q : polynomial R) :
744
744
λ H, by rw [is_root, eval_mul, is_root.def.1 H, zero_mul]
745
745
746
746
/--
747
- Polynomial evaluation commutes with finset.prod
747
+ Polynomial evaluation commutes with `list.prod`
748
+ -/
749
+ lemma eval_list_prod (l : list (polynomial R)) (x : R) :
750
+ eval x l.prod = (l.map (eval x)).prod :=
751
+ (eval_ring_hom x).map_list_prod l
752
+
753
+ /--
754
+ Polynomial evaluation commutes with `multiset.prod`
755
+ -/
756
+ lemma eval_multiset_prod (s : multiset (polynomial R)) (x : R) :
757
+ eval x s.prod = (s.map (eval x)).prod :=
758
+ (eval_ring_hom x).map_multiset_prod s
759
+
760
+ /--
761
+ Polynomial evaluation commutes with `finset.prod`
748
762
-/
749
763
lemma eval_prod {ι : Type *} (s : finset ι) (p : ι → polynomial R) (x : R) :
750
764
eval x (∏ j in s, p j) = ∏ j in s, eval x (p j) :=
751
- begin
752
- classical,
753
- apply finset.induction_on s,
754
- { simp only [finset.prod_empty, eval_one] },
755
- { intros j s hj hpj,
756
- have h0 : ∏ i in insert j s, eval x (p i) = (eval x (p j)) * ∏ i in s, eval x (p i),
757
- { apply finset.prod_insert hj },
758
- rw [h0, ← hpj, finset.prod_insert hj, eval_mul] },
759
- end
765
+ (eval_ring_hom x).map_prod _ _
760
766
761
767
lemma is_root_prod {R} [comm_ring R] [is_domain R] {ι : Type *}
762
768
(s : finset ι) (p : ι → polynomial R) (x : R) :
0 commit comments