@@ -110,7 +110,7 @@ variables {f g : ι → N} {s t : finset ι}
110
110
equal to the corresponding factor `g i` of another finite product, then
111
111
`∏ i in s, f i ≤ ∏ i in s, g i`. -/
112
112
@[to_additive sum_le_sum]
113
- lemma prod_le_prod'' (h : ∀ i ∈ s, f i ≤ g i) : ∏ i in s, f i ≤ ∏ i in s, g i :=
113
+ lemma prod_le_prod' (h : ∀ i ∈ s, f i ≤ g i) : ∏ i in s, f i ≤ ∏ i in s, g i :=
114
114
multiset.prod_map_le_prod_map f g h
115
115
116
116
/-- In an ordered additive commutative monoid, if each summand `f i` of one finite sum is less than
@@ -119,14 +119,14 @@ or equal to the corresponding summand `g i` of another finite sum, then
119
119
add_decl_doc sum_le_sum
120
120
121
121
@[to_additive sum_nonneg] lemma one_le_prod' (h : ∀i ∈ s, 1 ≤ f i) : 1 ≤ (∏ i in s, f i) :=
122
- le_trans (by rw prod_const_one) (prod_le_prod'' h)
122
+ le_trans (by rw prod_const_one) (prod_le_prod' h)
123
123
124
124
@[to_additive finset.sum_nonneg']
125
125
lemma one_le_prod'' (h : ∀ (i : ι), 1 ≤ f i) : 1 ≤ ∏ (i : ι) in s, f i :=
126
126
finset.one_le_prod' (λ i hi, h i)
127
127
128
128
@[to_additive sum_nonpos] lemma prod_le_one' (h : ∀i ∈ s, f i ≤ 1 ) : (∏ i in s, f i) ≤ 1 :=
129
- (prod_le_prod'' h).trans_eq (by rw prod_const_one)
129
+ (prod_le_prod' h).trans_eq (by rw prod_const_one)
130
130
131
131
@[to_additive sum_le_sum_of_subset_of_nonneg]
132
132
lemma prod_le_prod_of_subset_of_one_le' (h : s ⊆ t) (hf : ∀ i ∈ t, i ∉ s → 1 ≤ f i) :
@@ -367,7 +367,7 @@ begin
367
367
classical,
368
368
rcases Hlt with ⟨i, hi, hlt⟩,
369
369
rw [← insert_erase hi, prod_insert (not_mem_erase _ _), prod_insert (not_mem_erase _ _)],
370
- exact mul_lt_mul_of_lt_of_le hlt (prod_le_prod'' $ λ j hj, Hle j $ mem_of_mem_erase hj)
370
+ exact mul_lt_mul_of_lt_of_le hlt (prod_le_prod' $ λ j hj, Hle j $ mem_of_mem_erase hj)
371
371
end
372
372
373
373
@[to_additive sum_lt_sum_of_nonempty]
@@ -432,7 +432,7 @@ begin
432
432
refine finset.induction_on s (λ _, ⟨λ _ _, false.elim, λ _, rfl⟩) (λ a s ha ih H, _),
433
433
specialize ih (λ i, H i ∘ finset.mem_insert_of_mem),
434
434
rw [finset.prod_insert ha, finset.prod_insert ha, finset.forall_mem_insert, ←ih],
435
- exact mul_eq_mul_iff_eq_and_eq (H a (s.mem_insert_self a)) (finset.prod_le_prod''
435
+ exact mul_eq_mul_iff_eq_and_eq (H a (s.mem_insert_self a)) (finset.prod_le_prod'
436
436
(λ i, H i ∘ finset.mem_insert_of_mem)),
437
437
end
438
438
@@ -447,7 +447,7 @@ theorem exists_lt_of_prod_lt' (Hlt : ∏ i in s, f i < ∏ i in s, g i) :
447
447
∃ i ∈ s, f i < g i :=
448
448
begin
449
449
contrapose! Hlt with Hle,
450
- exact prod_le_prod'' Hle
450
+ exact prod_le_prod' Hle
451
451
end
452
452
453
453
@[to_additive exists_le_of_sum_le]
@@ -482,7 +482,7 @@ lemma prod_nonneg (h0 : ∀ i ∈ s, 0 ≤ f i) : 0 ≤ ∏ i in s, f i :=
482
482
prod_induction f (λ i, 0 ≤ i) (λ _ _ ha hb, mul_nonneg ha hb) zero_le_one h0
483
483
484
484
/-- If all `f i`, `i ∈ s`, are nonnegative and each `f i` is less than or equal to `g i`, then the
485
- product of `f i` is less than or equal to the product of `g i`. See also `finset.prod_le_prod'' ` for
485
+ product of `f i` is less than or equal to the product of `g i`. See also `finset.prod_le_prod'` for
486
486
the case of an ordered commutative multiplicative monoid. -/
487
487
lemma prod_le_prod (h0 : ∀ i ∈ s, 0 ≤ f i) (h1 : ∀ i ∈ s, f i ≤ g i) :
488
488
∏ i in s, f i ≤ ∏ i in s, g i :=
@@ -551,18 +551,6 @@ lemma _root_.canonically_ordered_comm_semiring.prod_pos [nontrivial R] :
551
551
0 < ∏ i in s, f i ↔ (∀ i ∈ s, (0 : R) < f i) :=
552
552
canonically_ordered_comm_semiring.multiset_prod_pos.trans $ by simp
553
553
554
- lemma prod_le_prod' (h : ∀ i ∈ s, f i ≤ g i) :
555
- ∏ i in s, f i ≤ ∏ i in s, g i :=
556
- begin
557
- classical,
558
- induction s using finset.induction with a s has ih h,
559
- { simp },
560
- { rw [finset.prod_insert has, finset.prod_insert has],
561
- apply mul_le_mul',
562
- { exact h _ (finset.mem_insert_self a s) },
563
- { exact ih (λ i hi, h _ (finset.mem_insert_of_mem hi)) } }
564
- end
565
-
566
554
/-- If `g, h ≤ f` and `g i + h i ≤ f i`, then the product of `f` over `s` is at least the
567
555
sum of the products of `g` and `h`. This is the version for `canonically_ordered_comm_semiring`.
568
556
-/
@@ -587,7 +575,7 @@ variables [fintype ι]
587
575
588
576
@[to_additive sum_mono, mono]
589
577
lemma prod_mono' [ordered_comm_monoid M] : monotone (λ f : ι → M, ∏ i, f i) :=
590
- λ f g hfg, finset.prod_le_prod'' $ λ x _, hfg x
578
+ λ f g hfg, finset.prod_le_prod' $ λ x _, hfg x
591
579
592
580
attribute [mono] sum_mono
593
581
0 commit comments