Skip to content

Commit bfab4fb

Browse files
committed
wip more
1 parent c675903 commit bfab4fb

1 file changed

Lines changed: 16 additions & 13 deletions

File tree

Mathlib/Topology/Algebra/InfiniteSum/Order.lean

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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 _ hbshs i hbs
382+
exact ⟨s, fun _ hst ↦ prod_le_prod_of_subset_of_one_le hst h₀ fun _ _ hxh₁ _ 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]
407410
protected theorem Multipliable.prod_le_tprod [L.NeBot] [L.LeAtTop] {f : ι → α} (s : Finset ι)

0 commit comments

Comments
 (0)