MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  fprodle Structured version   Visualization version   GIF version

Theorem fprodle 14933
Description: If all the terms of two finite products are nonnegative and compare, so do the two products. (Contributed by Glauco Siliprandi, 5-Apr-2020.)
Hypotheses
Ref Expression
fprodle.kph 𝑘𝜑
fprodle.a (𝜑𝐴 ∈ Fin)
fprodle.b ((𝜑𝑘𝐴) → 𝐵 ∈ ℝ)
fprodle.0l3b ((𝜑𝑘𝐴) → 0 ≤ 𝐵)
fprodle.c ((𝜑𝑘𝐴) → 𝐶 ∈ ℝ)
fprodle.blec ((𝜑𝑘𝐴) → 𝐵𝐶)
Assertion
Ref Expression
fprodle (𝜑 → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
Distinct variable group:   𝐴,𝑘
Allowed substitution hints:   𝜑(𝑘)   𝐵(𝑘)   𝐶(𝑘)

Proof of Theorem fprodle
Dummy variable 𝑗 is distinct from all other variables.
StepHypRef Expression
1 1red 10261 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 1 ∈ ℝ)
2 fprodle.kph . . . . . 6 𝑘𝜑
3 nfra1 3090 . . . . . 6 𝑘𝑘𝐴 𝐵 ≠ 0
42, 3nfan 1980 . . . . 5 𝑘(𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0)
5 fprodle.a . . . . . 6 (𝜑𝐴 ∈ Fin)
65adantr 466 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 𝐴 ∈ Fin)
7 fprodle.c . . . . . . 7 ((𝜑𝑘𝐴) → 𝐶 ∈ ℝ)
87adantlr 694 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐶 ∈ ℝ)
9 fprodle.b . . . . . . 7 ((𝜑𝑘𝐴) → 𝐵 ∈ ℝ)
109adantlr 694 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℝ)
11 rspa 3079 . . . . . . 7 ((∀𝑘𝐴 𝐵 ≠ 0 ∧ 𝑘𝐴) → 𝐵 ≠ 0)
1211adantll 693 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ≠ 0)
138, 10, 12redivcld 11059 . . . . 5 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → (𝐶 / 𝐵) ∈ ℝ)
144, 6, 13fprodreclf 14896 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 (𝐶 / 𝐵) ∈ ℝ)
152, 5, 9fprodreclf 14896 . . . . 5 (𝜑 → ∏𝑘𝐴 𝐵 ∈ ℝ)
1615adantr 466 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ∈ ℝ)
17 fprodle.0l3b . . . . . 6 ((𝜑𝑘𝐴) → 0 ≤ 𝐵)
182, 5, 9, 17fprodge0 14930 . . . . 5 (𝜑 → 0 ≤ ∏𝑘𝐴 𝐵)
1918adantr 466 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 0 ≤ ∏𝑘𝐴 𝐵)
20 0red 10247 . . . . . . . 8 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 0 ∈ ℝ)
2117adantlr 694 . . . . . . . 8 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 0 ≤ 𝐵)
2220, 10, 21, 12leneltd 10397 . . . . . . 7 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 0 < 𝐵)
2310, 22elrpd 12072 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℝ+)
24 fprodle.blec . . . . . . 7 ((𝜑𝑘𝐴) → 𝐵𝐶)
2524adantlr 694 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵𝐶)
26 divge1 12101 . . . . . 6 ((𝐵 ∈ ℝ+𝐶 ∈ ℝ ∧ 𝐵𝐶) → 1 ≤ (𝐶 / 𝐵))
2723, 8, 25, 26syl3anc 1476 . . . . 5 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 1 ≤ (𝐶 / 𝐵))
284, 6, 13, 27fprodge1 14932 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 1 ≤ ∏𝑘𝐴 (𝐶 / 𝐵))
291, 14, 16, 19, 28lemul2ad 11170 . . 3 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · 1) ≤ (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)))
309recnd 10274 . . . . . . 7 ((𝜑𝑘𝐴) → 𝐵 ∈ ℂ)
312, 5, 30fprodclf 14929 . . . . . 6 (𝜑 → ∏𝑘𝐴 𝐵 ∈ ℂ)
3231mulid1d 10263 . . . . 5 (𝜑 → (∏𝑘𝐴 𝐵 · 1) = ∏𝑘𝐴 𝐵)
3332adantr 466 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · 1) = ∏𝑘𝐴 𝐵)
347recnd 10274 . . . . . . . 8 ((𝜑𝑘𝐴) → 𝐶 ∈ ℂ)
3534adantlr 694 . . . . . . 7 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐶 ∈ ℂ)
3630adantlr 694 . . . . . . 7 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℂ)
374, 6, 35, 36, 12fproddivf 14924 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 (𝐶 / 𝐵) = (∏𝑘𝐴 𝐶 / ∏𝑘𝐴 𝐵))
3837oveq2d 6812 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)) = (∏𝑘𝐴 𝐵 · (∏𝑘𝐴 𝐶 / ∏𝑘𝐴 𝐵)))
392, 5, 34fprodclf 14929 . . . . . . 7 (𝜑 → ∏𝑘𝐴 𝐶 ∈ ℂ)
4039adantr 466 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐶 ∈ ℂ)
4131adantr 466 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ∈ ℂ)
424, 6, 36, 12fprodn0f 14928 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ≠ 0)
4340, 41, 42divcan2d 11009 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · (∏𝑘𝐴 𝐶 / ∏𝑘𝐴 𝐵)) = ∏𝑘𝐴 𝐶)
44 eqidd 2772 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐶 = ∏𝑘𝐴 𝐶)
4538, 43, 443eqtrd 2809 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)) = ∏𝑘𝐴 𝐶)
4633, 45breq12d 4800 . . 3 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ((∏𝑘𝐴 𝐵 · 1) ≤ (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)) ↔ ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶))
4729, 46mpbid 222 . 2 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
48 simpl 468 . . 3 ((𝜑 ∧ ¬ ∀𝑘𝐴 𝐵 ≠ 0) → 𝜑)
49 nne 2947 . . . . . . 7 𝐵 ≠ 0 ↔ 𝐵 = 0)
5049rexbii 3189 . . . . . 6 (∃𝑘𝐴 ¬ 𝐵 ≠ 0 ↔ ∃𝑘𝐴 𝐵 = 0)
51 rexnal 3143 . . . . . 6 (∃𝑘𝐴 ¬ 𝐵 ≠ 0 ↔ ¬ ∀𝑘𝐴 𝐵 ≠ 0)
52 nfv 1995 . . . . . . 7 𝑗 𝐵 = 0
53 nfcsb1v 3698 . . . . . . . 8 𝑘𝑗 / 𝑘𝐵
54 nfcv 2913 . . . . . . . 8 𝑘0
5553, 54nfeq 2925 . . . . . . 7 𝑘𝑗 / 𝑘𝐵 = 0
56 csbeq1a 3691 . . . . . . . 8 (𝑘 = 𝑗𝐵 = 𝑗 / 𝑘𝐵)
5756eqeq1d 2773 . . . . . . 7 (𝑘 = 𝑗 → (𝐵 = 0 ↔ 𝑗 / 𝑘𝐵 = 0))
5852, 55, 57cbvrex 3317 . . . . . 6 (∃𝑘𝐴 𝐵 = 0 ↔ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
5950, 51, 583bitr3i 290 . . . . 5 (¬ ∀𝑘𝐴 𝐵 ≠ 0 ↔ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
6059biimpi 206 . . . 4 (¬ ∀𝑘𝐴 𝐵 ≠ 0 → ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
6160adantl 467 . . 3 ((𝜑 ∧ ¬ ∀𝑘𝐴 𝐵 ≠ 0) → ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
62 nfv 1995 . . . . . 6 𝑗𝜑
63 nfv 1995 . . . . . 6 𝑗𝑘𝐴 𝐵 = 0
64 nfv 1995 . . . . . . . . 9 𝑘 𝑗𝐴
652, 64, 55nf3an 1983 . . . . . . . 8 𝑘(𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0)
6653ad2ant1 1127 . . . . . . . 8 ((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) → 𝐴 ∈ Fin)
67303ad2antl1 1200 . . . . . . . 8 (((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℂ)
68 simp2 1131 . . . . . . . 8 ((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) → 𝑗𝐴)
6957biimparc 465 . . . . . . . . 9 ((𝑗 / 𝑘𝐵 = 0 ∧ 𝑘 = 𝑗) → 𝐵 = 0)
70693ad2antl3 1202 . . . . . . . 8 (((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) ∧ 𝑘 = 𝑗) → 𝐵 = 0)
7165, 66, 67, 68, 70fprodeq0g 14931 . . . . . . 7 ((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) → ∏𝑘𝐴 𝐵 = 0)
72713exp 1112 . . . . . 6 (𝜑 → (𝑗𝐴 → (𝑗 / 𝑘𝐵 = 0 → ∏𝑘𝐴 𝐵 = 0)))
7362, 63, 72rexlimd 3174 . . . . 5 (𝜑 → (∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0 → ∏𝑘𝐴 𝐵 = 0))
7473imp 393 . . . 4 ((𝜑 ∧ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0) → ∏𝑘𝐴 𝐵 = 0)
75 0red 10247 . . . . . . 7 ((𝜑𝑘𝐴) → 0 ∈ ℝ)
7675, 9, 7, 17, 24letrd 10400 . . . . . 6 ((𝜑𝑘𝐴) → 0 ≤ 𝐶)
772, 5, 7, 76fprodge0 14930 . . . . 5 (𝜑 → 0 ≤ ∏𝑘𝐴 𝐶)
7877adantr 466 . . . 4 ((𝜑 ∧ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0) → 0 ≤ ∏𝑘𝐴 𝐶)
7974, 78eqbrtrd 4809 . . 3 ((𝜑 ∧ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0) → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
8048, 61, 79syl2anc 573 . 2 ((𝜑 ∧ ¬ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
8147, 80pm2.61dan 814 1 (𝜑 → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 382  w3a 1071   = wceq 1631  wnf 1856  wcel 2145  wne 2943  wral 3061  wrex 3062  csb 3682   class class class wbr 4787  (class class class)co 6796  Fincfn 8113  cc 10140  cr 10141  0cc0 10142  1c1 10143   · cmul 10147  cle 10281   / cdiv 10890  +crp 12035  cprod 14842
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1870  ax-4 1885  ax-5 1991  ax-6 2057  ax-7 2093  ax-8 2147  ax-9 2154  ax-10 2174  ax-11 2190  ax-12 2203  ax-13 2408  ax-ext 2751  ax-rep 4905  ax-sep 4916  ax-nul 4924  ax-pow 4975  ax-pr 5035  ax-un 7100  ax-inf2 8706  ax-cnex 10198  ax-resscn 10199  ax-1cn 10200  ax-icn 10201  ax-addcl 10202  ax-addrcl 10203  ax-mulcl 10204  ax-mulrcl 10205  ax-mulcom 10206  ax-addass 10207  ax-mulass 10208  ax-distr 10209  ax-i2m1 10210  ax-1ne0 10211  ax-1rid 10212  ax-rnegex 10213  ax-rrecex 10214  ax-cnre 10215  ax-pre-lttri 10216  ax-pre-lttrn 10217  ax-pre-ltadd 10218  ax-pre-mulgt0 10219  ax-pre-sup 10220
This theorem depends on definitions:  df-bi 197  df-an 383  df-or 837  df-3or 1072  df-3an 1073  df-tru 1634  df-fal 1637  df-ex 1853  df-nf 1858  df-sb 2050  df-eu 2622  df-mo 2623  df-clab 2758  df-cleq 2764  df-clel 2767  df-nfc 2902  df-ne 2944  df-nel 3047  df-ral 3066  df-rex 3067  df-reu 3068  df-rmo 3069  df-rab 3070  df-v 3353  df-sbc 3588  df-csb 3683  df-dif 3726  df-un 3728  df-in 3730  df-ss 3737  df-pss 3739  df-nul 4064  df-if 4227  df-pw 4300  df-sn 4318  df-pr 4320  df-tp 4322  df-op 4324  df-uni 4576  df-int 4613  df-iun 4657  df-br 4788  df-opab 4848  df-mpt 4865  df-tr 4888  df-id 5158  df-eprel 5163  df-po 5171  df-so 5172  df-fr 5209  df-se 5210  df-we 5211  df-xp 5256  df-rel 5257  df-cnv 5258  df-co 5259  df-dm 5260  df-rn 5261  df-res 5262  df-ima 5263  df-pred 5822  df-ord 5868  df-on 5869  df-lim 5870  df-suc 5871  df-iota 5993  df-fun 6032  df-fn 6033  df-f 6034  df-f1 6035  df-fo 6036  df-f1o 6037  df-fv 6038  df-isom 6039  df-riota 6757  df-ov 6799  df-oprab 6800  df-mpt2 6801  df-om 7217  df-1st 7319  df-2nd 7320  df-wrecs 7563  df-recs 7625  df-rdg 7663  df-1o 7717  df-oadd 7721  df-er 7900  df-en 8114  df-dom 8115  df-sdom 8116  df-fin 8117  df-sup 8508  df-oi 8575  df-card 8969  df-pnf 10282  df-mnf 10283  df-xr 10284  df-ltxr 10285  df-le 10286  df-sub 10474  df-neg 10475  df-div 10891  df-nn 11227  df-2 11285  df-3 11286  df-n0 11500  df-z 11585  df-uz 11894  df-rp 12036  df-ico 12386  df-fz 12534  df-fzo 12674  df-seq 13009  df-exp 13068  df-hash 13322  df-cj 14047  df-re 14048  df-im 14049  df-sqrt 14183  df-abs 14184  df-clim 14427  df-prod 14843
This theorem is referenced by:  prmolefac  15957  etransclem23  40988  hoidifhspdmvle  41351
  Copyright terms: Public domain W3C validator