@@ -109,6 +109,8 @@ equal to the corresponding factor `g i` of another finite product, then
109109theorem prod_le_prod [MulLeftMono N] (h : ∀ i ∈ s, f i ≤ g i) : ∏ i ∈ s, f i ≤ ∏ i ∈ s, g i :=
110110 Multiset.prod_map_le_prod_map f g h
111111
112+ @ [deprecated (since := "2026-05-22" )] alias prod_le_prod' := prod_le_prod
113+
112114attribute [bound] sum_le_sum
113115
114116/-- In an ordered additive commutative monoid, if each summand `f i` of one finite sum is less than
@@ -120,6 +122,8 @@ add_decl_doc sum_le_sum
120122theorem one_le_prod [MulLeftMono N] (h : ∀ i ∈ s, 1 ≤ f i) : 1 ≤ ∏ i ∈ s, f i :=
121123 le_trans (by rw [prod_const_one]) (prod_le_prod h)
122124
125+ @ [deprecated (since := "2026-05-22" )] alias one_le_prod' := one_le_prod
126+
123127@ [to_additive sum_nonneg']
124128theorem one_le_prod'' [MulLeftMono N] (h : ∀ i : ι, 1 ≤ f i) : 1 ≤ ∏ i ∈ s, f i :=
125129 Finset.one_le_prod fun i _ ↦ h i
@@ -131,6 +135,8 @@ attribute [deprecated one_le_prod (since := "2026-05-22")] one_le_prod''
131135theorem prod_le_one [MulLeftMono N] (h : ∀ i ∈ s, f i ≤ 1 ) : ∏ i ∈ s, f i ≤ 1 :=
132136 (prod_le_prod h).trans_eq (by rw [prod_const_one])
133137
138+ @ [deprecated (since := "2026-05-22" )] alias prod_le_prod_of_subset_of_one_le' := prod_le_one
139+
134140@ [to_additive (attr := gcongr)]
135141theorem prod_le_prod_of_subset_of_one_le [MulLeftMono N] (h : s ⊆ t)
136142 (hf : ∀ i ∈ t, i ∉ s → 1 ≤ f i) : ∏ i ∈ s, f i ≤ ∏ i ∈ t, f i := by
@@ -145,21 +151,31 @@ lemma prod_le_prod_of_subset_of_le_one [MulLeftMono N] (h : s ⊆ t) (hf : ∀ i
145151 ∏ i ∈ t, f i ≤ ∏ i ∈ s, f i :=
146152 prod_le_prod_of_subset_of_one_le (N := Nᵒᵈ) h hf
147153
154+ @ [deprecated (since := "2026-05-22" )]
155+ alias prod_le_prod_of_subset_of_le_one' := prod_le_prod_of_subset_of_le_one
156+
148157@[to_additive]
149158theorem prod_mono_set_of_one_le [MulLeftMono N] (hf : ∀ x, 1 ≤ f x) :
150159 Monotone fun s ↦ ∏ x ∈ s, f x :=
151160 fun _ _ hst ↦ prod_le_prod_of_subset_of_one_le hst fun x _ _ ↦ hf x
152161
162+ @ [deprecated (since := "2026-05-22" )] alias prod_mono_set_of_one_le' := prod_mono_set_of_one_le
163+
153164@[to_additive]
154165theorem prod_anti_set_of_le_one [MulLeftMono N] (hf : ∀ (x : ι), f x ≤ 1 ) :
155166 Antitone fun (s : Finset ι) => ∏ x ∈ s, f x :=
156167 fun _ _ hst ↦ prod_le_prod_of_subset_of_le_one hst (by simp [hf])
157168
169+ @ [deprecated (since := "2026-05-22" )] alias prod_anti_set_of_le_one' := prod_anti_set_of_le_one
170+
158171@[to_additive]
159172theorem prod_le_univ_prod_of_one_le [MulLeftMono N] [Fintype ι] {s : Finset ι} (w : ∀ x, 1 ≤ f x) :
160173 ∏ x ∈ s, f x ≤ ∏ x, f x :=
161174 prod_le_prod_of_subset_of_one_le (subset_univ s) fun a _ _ ↦ w a
162175
176+ @ [deprecated (since := "2026-05-22" )]
177+ alias prod_le_univ_prod_of_one_le' := prod_le_univ_prod_of_one_le
178+
163179@[to_additive]
164180theorem prod_eq_one_iff_of_one_le {ι : Type u_1} {N : Type u_5} [CommMonoid N] [PartialOrder N]
165181 {f : ι → N} {s : Finset ι} [MulLeftMono N] :
@@ -172,6 +188,8 @@ theorem prod_eq_one_iff_of_one_le {ι : Type u_1} {N : Type u_5} [CommMonoid N]
172188 rw [prod_insert ha, mul_eq_one_iff_of_one_le (H _ <| mem_insert_self _ _) (one_le_prod this),
173189 forall_mem_insert, ih this]
174190
191+ @ [deprecated (since := "2026-05-22" )] alias prod_eq_one_iff_of_one_le' := prod_eq_one_iff_of_one_le
192+
175193@ [to_additive sum_pos_iff_of_nonneg]
176194lemma one_lt_prod_iff_of_one_le {ι : Type u_1} {N : Type u_5} [CommMonoid N] [PartialOrder N]
177195 {f : ι → N} {s : Finset ι} [MulLeftMono N] (hf : ∀ x ∈ s, 1 ≤ f x) :
@@ -186,6 +204,8 @@ theorem prod_eq_one_iff_of_le_one {ι : Type u_1} {N : Type u_5} [CommMonoid N]
186204 (∀ i ∈ s, f i ≤ 1 ) → ((∏ i ∈ s, f i) = 1 ↔ ∀ i ∈ s, f i = 1 ) :=
187205 prod_eq_one_iff_of_one_le (N := Nᵒᵈ)
188206
207+ @ [deprecated (since := "2026-05-22" )] alias prod_eq_one_iff_of_le_one' := prod_eq_one_iff_of_le_one
208+
189209@[to_additive]
190210lemma prod_lt_one_iff_of_le_one {ι : Type u_1} {N : Type u_5} [CommMonoid N] [PartialOrder N]
191211 {f : ι → N} {s : Finset ι} [MulLeftMono N] (hf : ∀ x ∈ s, f x ≤ 1 ) :
@@ -200,6 +220,8 @@ theorem single_le_prod [MulLeftMono N] (hf : ∀ i ∈ s, 1 ≤ f i) {a} (h : a
200220 _ ≤ ∏ i ∈ s, f i :=
201221 prod_le_prod_of_subset_of_one_le (singleton_subset_iff.2 h) fun i hi _ ↦ hf i hi
202222
223+ @ [deprecated (since := "2026-05-22" )] alias single_le_prod' := single_le_prod
224+
203225@[to_additive]
204226lemma mul_le_prod [MulLeftMono N] {i j : ι} (hf : ∀ i ∈ s, 1 ≤ f i) (hi : i ∈ s) (hj : j ∈ s)
205227 (hne : i ≠ j) :
@@ -238,12 +260,18 @@ theorem prod_fiberwise_le_prod_of_one_le_prod_fiber [MulLeftMono N] {t : Finset
238260 _ = ∏ x ∈ s, f x :=
239261 prod_fiberwise_of_maps_to (fun _ hx ↦ mem_union.2 <| Or.inr <| mem_image_of_mem _ hx) _
240262
263+ @ [deprecated (since := "2026-05-22" )]
264+ alias prod_fiberwise_le_prod_of_one_le_prod_fiber' := prod_fiberwise_le_prod_of_one_le_prod_fiber
265+
241266@[to_additive]
242267theorem prod_le_prod_fiberwise_of_prod_fiber_le_one [MulLeftMono N] {t : Finset ι'} {g : ι → ι'}
243268 {f : ι → N} (h : ∀ y ∉ t, ∏ x ∈ s with g x = y, f x ≤ 1 ) :
244269 ∏ x ∈ s, f x ≤ ∏ y ∈ t, ∏ x ∈ s with g x = y, f x :=
245270 prod_fiberwise_le_prod_of_one_le_prod_fiber (N := Nᵒᵈ) h
246271
272+ @ [deprecated (since := "2026-05-22" )]
273+ alias prod_le_prod_fiberwise_of_prod_fiber_le_one' := prod_le_prod_fiberwise_of_prod_fiber_le_one
274+
247275@[to_additive]
248276lemma prod_image_le_of_one_le [MulLeftMono N]
249277 {g : ι → ι'} {f : ι' → N} (hf : ∀ u ∈ s.image g, 1 ≤ f u) :
@@ -421,11 +449,15 @@ theorem prod_le_prod_of_subset (h : s ⊆ t) : ∏ x ∈ s, f x ≤ ∏ x ∈ t,
421449 have := CanonicallyOrderedMul.toIsOrderedMonoid (α := M)
422450 prod_le_prod_of_subset_of_one_le h fun _ _ _ ↦ one_le
423451
452+ @ [deprecated (since := "2026-05-22" )] alias prod_le_prod_of_subset' := prod_le_prod_of_subset
453+
424454@[to_additive]
425455theorem prod_mono_set (f : ι → M) : Monotone fun s ↦ ∏ x ∈ s, f x := fun _ _ hs ↦
426456 have := CanonicallyOrderedMul.toIsOrderedMonoid (α := M)
427457 prod_le_prod_of_subset hs
428458
459+ @ [deprecated (since := "2026-05-22" )] alias prod_mono_set' := prod_mono_set
460+
429461@[to_additive]
430462theorem prod_le_prod_of_ne_one (h : ∀ x ∈ s, f x ≠ 1 → x ∈ t) :
431463 ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x := by
@@ -439,6 +471,8 @@ theorem prod_le_prod_of_ne_one (h : ∀ x ∈ s, f x ≠ 1 → x ∈ t) :
439471 (prod_le_one <| by simp only [mem_filter, and_imp]; exact fun _ _ ↦ le_of_eq)
440472 (prod_le_prod_of_subset <| by simpa only [subset_iff, mem_filter, and_imp])
441473
474+ @ [deprecated (since := "2026-05-22" )] alias prod_le_prod_of_ne_one' := prod_le_prod_of_ne_one
475+
442476@ [to_additive sum_pos_iff]
443477lemma one_lt_prod_iff {ι M : Type *} [CommMonoid M] [PartialOrder M] [CanonicallyOrderedMul M]
444478 {f : ι → M} {s : Finset ι} : 1 < ∏ x ∈ s, f x ↔ ∃ x ∈ s, 1 < f x :=
@@ -456,6 +490,8 @@ theorem prod_lt_prod [MulLeftStrictMono M] (hle : ∀ i ∈ s, f i ≤ g i) (hlt
456490 ∏ i ∈ s, f i < ∏ i ∈ s, g i :=
457491 Multiset.prod_lt_prod hle hlt
458492
493+ @ [deprecated (since := "2026-05-22" )] alias prod_lt_prod' := prod_lt_prod
494+
459495/-- In an ordered commutative monoid, if each factor `f i` of one nontrivial finite product is
460496strictly less than the corresponding factor `g i` of another nontrivial finite product, then
461497`s.prod f < s.prod g`. -/
@@ -465,6 +501,8 @@ theorem prod_lt_prod_of_nonempty [MulLeftStrictMono M] (hs : s.Nonempty)
465501 ∏ i ∈ s, f i < ∏ i ∈ s, g i :=
466502 Multiset.prod_lt_prod_of_nonempty (by aesop) hlt
467503
504+ @ [deprecated (since := "2026-05-22" )] alias prod_lt_prod_of_nonempty' := prod_lt_prod_of_nonempty
505+
468506/-- In an ordered additive commutative monoid, if each summand `f i` of one nontrivial finite sum is
469507strictly less than the corresponding summand `g i` of another nontrivial finite sum, then
470508`s.sum f < s.sum g`. -/
@@ -485,6 +523,8 @@ theorem prod_lt_prod_of_subset [MulLeftStrictMono M] (h : s ⊆ t) {i : ι} (ht
485523 simp only [mem_insert, not_or] at h'x
486524 exact hle x hx h'x.2
487525
526+ @ [deprecated (since := "2026-05-22" )] alias prod_lt_prod_of_subset' := prod_lt_prod_of_subset
527+
488528@[to_additive]
489529theorem single_lt_prod [MulLeftStrictMono M] {i j : ι} (hij : j ≠ i) (hi : i ∈ s) (hj : j ∈ s)
490530 (hlt : 1 < f j) (hle : ∀ k ∈ s, k ≠ i → 1 ≤ f k) : f i < ∏ k ∈ s, f k :=
@@ -494,6 +534,8 @@ theorem single_lt_prod [MulLeftStrictMono M] {i j : ι} (hij : j ≠ i) (hi : i
494534 prod_lt_prod_of_subset (singleton_subset_iff.2 hi) hj (mt mem_singleton.1 hij) hlt
495535 fun k hks hki ↦ hle k hks (mt mem_singleton.2 hki)
496536
537+ @ [deprecated (since := "2026-05-22" )] alias single_lt_prod' := single_lt_prod
538+
497539@ [to_additive sum_pos]
498540theorem one_lt_prod [MulLeftStrictMono M] (h : ∀ i ∈ s, 1 < f i) (hs : s.Nonempty) :
499541 1 < ∏ i ∈ s, f i :=
@@ -553,6 +595,8 @@ theorem exists_lt_of_prod_lt [MulLeftMono M] (Hlt : ∏ i ∈ s, f i < ∏ i ∈
553595 contrapose! Hlt with Hle
554596 exact prod_le_prod Hle
555597
598+ @ [deprecated (since := "2026-05-22" )] alias exists_lt_of_prod_lt' := exists_lt_of_prod_lt
599+
556600variable [IsOrderedCancelMonoid M]
557601
558602@[to_additive]
@@ -561,6 +605,8 @@ theorem exists_le_of_prod_le (hs : s.Nonempty) (Hle : ∏ i ∈ s, f i ≤ ∏ i
561605 contrapose! Hle with Hlt
562606 exact prod_lt_prod_of_nonempty hs Hlt
563607
608+ @ [deprecated (since := "2026-05-22" )] alias exists_le_of_prod_le' := exists_le_of_prod_le
609+
564610@ [to_additive exists_pos_of_sum_zero_of_exists_nonzero]
565611theorem exists_one_lt_of_prod_one_of_exists_ne_one (f : ι → M) (h₁ : ∏ i ∈ s, f i = 1 )
566612 (h₂ : ∃ i ∈ s, f i ≠ 1 ) : ∃ i ∈ s, 1 < f i := by
@@ -571,6 +617,9 @@ theorem exists_one_lt_of_prod_one_of_exists_ne_one (f : ι → M) (h₁ : ∏ i
571617 ∏ j ∈ s, f j < ∏ j ∈ s, 1 := prod_lt_prod h₁ ⟨i, m, (h₁ i m).lt_of_ne i_ne⟩
572618 _ = 1 := prod_const_one
573619
620+ @ [deprecated (since := "2026-05-22" )]
621+ alias exists_one_lt_of_prod_one_of_exists_ne_one' := exists_one_lt_of_prod_one_of_exists_ne_one
622+
574623end LinearOrderedCancelCommMonoid
575624
576625theorem apply_sup_le_sum [SemilatticeSup α] [OrderBot α]
@@ -610,6 +659,8 @@ variable [Fintype ι] [CommMonoid M] [Preorder M] [MulLeftMono M] {f : ι → M}
610659theorem prod_mono : Monotone fun f : ι → M ↦ ∏ i, f i := fun _ _ hfg ↦
611660 Finset.prod_le_prod fun x _ ↦ hfg x
612661
662+ @ [deprecated (since := "2026-05-22" )] alias prod_mono' := prod_mono
663+
613664@ [to_additive sum_nonneg]
614665lemma one_le_prod (hf : 1 ≤ f) : 1 ≤ ∏ i, f i := Finset.one_le_prod fun _ _ ↦ hf _
615666
@@ -636,6 +687,8 @@ theorem prod_strictMono : StrictMono fun f : ι → M ↦ ∏ x, f x :=
636687 let ⟨hle, i, hlt⟩ := Pi.lt_def.mp hfg
637688 Finset.prod_lt_prod (fun i _ ↦ hle i) ⟨i, Finset.mem_univ i, hlt⟩
638689
690+ @ [deprecated (since := "2026-05-22" )] alias prod_strictMono' := prod_strictMono
691+
639692@ [to_additive sum_pos]
640693lemma one_lt_prod (hf : 1 < f) : 1 < ∏ i, f i :=
641694 Finset.one_lt_prod' (fun _ _ ↦ hf.le _) <| by simpa using (Pi.lt_def.1 hf).2
0 commit comments