@@ -376,32 +376,35 @@ protected theorem Multipliable.tprod_le_tprod_of_inj₀ {g : κ → α} (e : ι
376376 (hf : Multipliable f) (hg : Multipliable g) : tprod f ≤ tprod g :=
377377 hasProd_le_inj₀ _ he hs h0 h1 hf.hasProd hg.hasProd
378378
379- theorem prod_le_hasProd₀ [L.NeBot] [L.LeAtTop] (s : Finset ι) (hs : ∀ i, i ∉ s → 1 ≤ f i)
380- (hf : HasProd f a L) : ∏ i ∈ s, f i ≤ a := by
379+ theorem prod_le_hasProd₀ [L.NeBot] [L.LeAtTop] (s : Finset ι) (h₀ : ∀ i ∈ s, 0 ≤ f i)
380+ (h₁ : ∀ i ∉ s, 1 ≤ f i) ( hf : HasProd f a L) : ∏ i ∈ s, f i ≤ a := by
381381 refine ge_of_tendsto hf <| .filter_mono L.le_atTop <| eventually_atTop.2 ?_
382- exact ⟨s, fun _t hst ↦ prod_le_prod_of_subset_of_one_le' hst fun i _ hbs ↦ hs i hbs ⟩
382+ exact ⟨s, fun _ hst ↦ prod_le_prod_of_subset_of_one_le hst h₀ fun _ _ hx ↦ h₁ _ hx ⟩
383383
384- theorem isLUB_hasProd (h : ∀ i, 1 ≤ f i) (hf : HasProd f a) :
384+ theorem isLUB_hasProd₀ (h : ∀ i, 1 ≤ f i) (hf : HasProd f a) :
385385 IsLUB (Set.range fun s ↦ ∏ i ∈ s, f i) a := by
386386 classical
387- exact isLUB_of_tendsto_atTop (Finset.prod_mono_set_of_one_le' h) hf
387+ exact isLUB_of_tendsto_atTop (Finset.prod_mono_set_of_one_le h) hf
388388
389- @[to_additive]
390- theorem le_hasProd [L.NeBot] [L.LeAtTop] (hf : HasProd f a L) (i : ι ) (hb : ∀ j, j ≠ i → 1 ≤ f j) :
389+ theorem le_hasProd₀ [L.NeBot] [L.LeAtTop] (hf : HasProd f a L) (i : ι)
390+ (h₀ : 0 ≤ f i ) (hb : ∀ j, j ≠ i → 1 ≤ f j) :
391391 f i ≤ a :=
392392 calc
393393 f i = ∏ i ∈ {i}, f i := by rw [prod_singleton]
394- _ ≤ a := prod_le_hasProd _ (by simpa) hf
394+ _ ≤ a := prod_le_hasProd₀ _ ( by simpa) (by simpa) hf
395395
396- @[to_additive]
397- theorem lt_hasProd [L.NeBot] [L.LeAtTop] [MulRightStrictMono α] (hf : HasProd f a L) (i : ι)
398- (hi : ∀ (j : ι), j ≠ i → 1 ≤ f j) (j : ι) (hij : j ≠ i) (hj : 1 < f j) :
396+ theorem lt_hasProd₀ [L.NeBot] [L.LeAtTop] [MulRightStrictMono α] (hf : HasProd f a L) (i : ι)
397+ (hi : ∀ (j : ι), j ≠ i → 1 ≤ f j) (hi' : 0 < f i) (j : ι) (hij : j ≠ i) (hj : 1 < f j) :
399398 f i < a := by
400399 classical
401400 calc
402- f i < f j * f i := lt_mul_of_one_lt_left' (f i) hj
401+ f i < f j * f i := lt_mul_of_one_lt_left hi' hj
403402 _ = ∏ k ∈ {j, i}, f k := by rw [Finset.prod_pair hij]
404- _ ≤ a := prod_le_hasProd _ (fun k hk ↦ hi k (hk ∘ mem_insert_of_mem ∘ mem_singleton.mpr)) hf
403+ _ ≤ a := prod_le_hasProd₀ _
404+ (by simp; refine ⟨by grw [← hj]; simp, hi'.le⟩)
405+ (fun k hk ↦ hi k (hk ∘ mem_insert_of_mem ∘ mem_singleton.mpr)) hf
406+
407+ #exit
405408
406409@[to_additive]
407410protected theorem Multipliable.prod_le_tprod [L.NeBot] [L.LeAtTop] {f : ι → α} (s : Finset ι)
0 commit comments