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

Theorem fprodle 14671
 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 10015 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 1 ∈ ℝ)
2 fprodle.kph . . . . . 6 𝑘𝜑
3 nfra1 2937 . . . . . 6 𝑘𝑘𝐴 𝐵 ≠ 0
42, 3nfan 1825 . . . . 5 𝑘(𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0)
5 fprodle.a . . . . . 6 (𝜑𝐴 ∈ Fin)
65adantr 481 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 𝐴 ∈ Fin)
7 fprodle.c . . . . . . 7 ((𝜑𝑘𝐴) → 𝐶 ∈ ℝ)
87adantlr 750 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐶 ∈ ℝ)
9 fprodle.b . . . . . . 7 ((𝜑𝑘𝐴) → 𝐵 ∈ ℝ)
109adantlr 750 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℝ)
11 rspa 2926 . . . . . . 7 ((∀𝑘𝐴 𝐵 ≠ 0 ∧ 𝑘𝐴) → 𝐵 ≠ 0)
1211adantll 749 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ≠ 0)
138, 10, 12redivcld 10813 . . . . 5 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → (𝐶 / 𝐵) ∈ ℝ)
144, 6, 13fprodreclf 14633 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 (𝐶 / 𝐵) ∈ ℝ)
152, 5, 9fprodreclf 14633 . . . . 5 (𝜑 → ∏𝑘𝐴 𝐵 ∈ ℝ)
1615adantr 481 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ∈ ℝ)
17 fprodle.0l3b . . . . . 6 ((𝜑𝑘𝐴) → 0 ≤ 𝐵)
182, 5, 9, 17fprodge0 14668 . . . . 5 (𝜑 → 0 ≤ ∏𝑘𝐴 𝐵)
1918adantr 481 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 0 ≤ ∏𝑘𝐴 𝐵)
20 0red 10001 . . . . . . . 8 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 0 ∈ ℝ)
2117adantlr 750 . . . . . . . 8 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 0 ≤ 𝐵)
2220, 10, 21, 12leneltd 10151 . . . . . . 7 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 0 < 𝐵)
2310, 22elrpd 11829 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℝ+)
24 fprodle.blec . . . . . . 7 ((𝜑𝑘𝐴) → 𝐵𝐶)
2524adantlr 750 . . . . . 6 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵𝐶)
26 divge1 11858 . . . . . 6 ((𝐵 ∈ ℝ+𝐶 ∈ ℝ ∧ 𝐵𝐶) → 1 ≤ (𝐶 / 𝐵))
2723, 8, 25, 26syl3anc 1323 . . . . 5 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 1 ≤ (𝐶 / 𝐵))
284, 6, 13, 27fprodge1 14670 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → 1 ≤ ∏𝑘𝐴 (𝐶 / 𝐵))
291, 14, 16, 19, 28lemul2ad 10924 . . 3 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · 1) ≤ (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)))
309recnd 10028 . . . . . . 7 ((𝜑𝑘𝐴) → 𝐵 ∈ ℂ)
312, 5, 30fprodclf 14667 . . . . . 6 (𝜑 → ∏𝑘𝐴 𝐵 ∈ ℂ)
3231mulid1d 10017 . . . . 5 (𝜑 → (∏𝑘𝐴 𝐵 · 1) = ∏𝑘𝐴 𝐵)
3332adantr 481 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · 1) = ∏𝑘𝐴 𝐵)
347recnd 10028 . . . . . . . 8 ((𝜑𝑘𝐴) → 𝐶 ∈ ℂ)
3534adantlr 750 . . . . . . 7 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐶 ∈ ℂ)
3630adantlr 750 . . . . . . 7 (((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℂ)
374, 6, 35, 36, 12fproddivf 14662 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 (𝐶 / 𝐵) = (∏𝑘𝐴 𝐶 / ∏𝑘𝐴 𝐵))
3837oveq2d 6631 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)) = (∏𝑘𝐴 𝐵 · (∏𝑘𝐴 𝐶 / ∏𝑘𝐴 𝐵)))
392, 5, 34fprodclf 14667 . . . . . . 7 (𝜑 → ∏𝑘𝐴 𝐶 ∈ ℂ)
4039adantr 481 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐶 ∈ ℂ)
4131adantr 481 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ∈ ℂ)
424, 6, 36, 12fprodn0f 14666 . . . . . 6 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ≠ 0)
4340, 41, 42divcan2d 10763 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · (∏𝑘𝐴 𝐶 / ∏𝑘𝐴 𝐵)) = ∏𝑘𝐴 𝐶)
44 eqidd 2622 . . . . 5 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐶 = ∏𝑘𝐴 𝐶)
4538, 43, 443eqtrd 2659 . . . 4 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)) = ∏𝑘𝐴 𝐶)
4633, 45breq12d 4636 . . 3 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ((∏𝑘𝐴 𝐵 · 1) ≤ (∏𝑘𝐴 𝐵 · ∏𝑘𝐴 (𝐶 / 𝐵)) ↔ ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶))
4729, 46mpbid 222 . 2 ((𝜑 ∧ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
48 simpl 473 . . 3 ((𝜑 ∧ ¬ ∀𝑘𝐴 𝐵 ≠ 0) → 𝜑)
49 nne 2794 . . . . . . 7 𝐵 ≠ 0 ↔ 𝐵 = 0)
5049rexbii 3036 . . . . . 6 (∃𝑘𝐴 ¬ 𝐵 ≠ 0 ↔ ∃𝑘𝐴 𝐵 = 0)
51 rexnal 2991 . . . . . 6 (∃𝑘𝐴 ¬ 𝐵 ≠ 0 ↔ ¬ ∀𝑘𝐴 𝐵 ≠ 0)
52 nfv 1840 . . . . . . 7 𝑗 𝐵 = 0
53 nfcsb1v 3535 . . . . . . . 8 𝑘𝑗 / 𝑘𝐵
54 nfcv 2761 . . . . . . . 8 𝑘0
5553, 54nfeq 2772 . . . . . . 7 𝑘𝑗 / 𝑘𝐵 = 0
56 csbeq1a 3528 . . . . . . . 8 (𝑘 = 𝑗𝐵 = 𝑗 / 𝑘𝐵)
5756eqeq1d 2623 . . . . . . 7 (𝑘 = 𝑗 → (𝐵 = 0 ↔ 𝑗 / 𝑘𝐵 = 0))
5852, 55, 57cbvrex 3160 . . . . . 6 (∃𝑘𝐴 𝐵 = 0 ↔ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
5950, 51, 583bitr3i 290 . . . . 5 (¬ ∀𝑘𝐴 𝐵 ≠ 0 ↔ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
6059biimpi 206 . . . 4 (¬ ∀𝑘𝐴 𝐵 ≠ 0 → ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
6160adantl 482 . . 3 ((𝜑 ∧ ¬ ∀𝑘𝐴 𝐵 ≠ 0) → ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0)
62 nfv 1840 . . . . . 6 𝑗𝜑
63 nfv 1840 . . . . . 6 𝑗𝑘𝐴 𝐵 = 0
64 nfv 1840 . . . . . . . . 9 𝑘 𝑗𝐴
652, 64, 55nf3an 1828 . . . . . . . 8 𝑘(𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0)
6653ad2ant1 1080 . . . . . . . 8 ((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) → 𝐴 ∈ Fin)
67303ad2antl1 1221 . . . . . . . 8 (((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) ∧ 𝑘𝐴) → 𝐵 ∈ ℂ)
68 simp2 1060 . . . . . . . 8 ((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) → 𝑗𝐴)
6957biimparc 504 . . . . . . . . 9 ((𝑗 / 𝑘𝐵 = 0 ∧ 𝑘 = 𝑗) → 𝐵 = 0)
70693ad2antl3 1223 . . . . . . . 8 (((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) ∧ 𝑘 = 𝑗) → 𝐵 = 0)
7165, 66, 67, 68, 70fprodeq0g 14669 . . . . . . 7 ((𝜑𝑗𝐴𝑗 / 𝑘𝐵 = 0) → ∏𝑘𝐴 𝐵 = 0)
72713exp 1261 . . . . . 6 (𝜑 → (𝑗𝐴 → (𝑗 / 𝑘𝐵 = 0 → ∏𝑘𝐴 𝐵 = 0)))
7362, 63, 72rexlimd 3021 . . . . 5 (𝜑 → (∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0 → ∏𝑘𝐴 𝐵 = 0))
7473imp 445 . . . 4 ((𝜑 ∧ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0) → ∏𝑘𝐴 𝐵 = 0)
75 0red 10001 . . . . . . 7 ((𝜑𝑘𝐴) → 0 ∈ ℝ)
7675, 9, 7, 17, 24letrd 10154 . . . . . 6 ((𝜑𝑘𝐴) → 0 ≤ 𝐶)
772, 5, 7, 76fprodge0 14668 . . . . 5 (𝜑 → 0 ≤ ∏𝑘𝐴 𝐶)
7877adantr 481 . . . 4 ((𝜑 ∧ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0) → 0 ≤ ∏𝑘𝐴 𝐶)
7974, 78eqbrtrd 4645 . . 3 ((𝜑 ∧ ∃𝑗𝐴 𝑗 / 𝑘𝐵 = 0) → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
8048, 61, 79syl2anc 692 . 2 ((𝜑 ∧ ¬ ∀𝑘𝐴 𝐵 ≠ 0) → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
8147, 80pm2.61dan 831 1 (𝜑 → ∏𝑘𝐴 𝐵 ≤ ∏𝑘𝐴 𝐶)
 Colors of variables: wff setvar class Syntax hints:  ¬ wn 3   → wi 4   ∧ wa 384   ∧ w3a 1036   = wceq 1480  Ⅎwnf 1705   ∈ wcel 1987   ≠ wne 2790  ∀wral 2908  ∃wrex 2909  ⦋csb 3519   class class class wbr 4623  (class class class)co 6615  Fincfn 7915  ℂcc 9894  ℝcr 9895  0cc0 9896  1c1 9897   · cmul 9901   ≤ cle 10035   / cdiv 10644  ℝ+crp 11792  ∏cprod 14579 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-rep 4741  ax-sep 4751  ax-nul 4759  ax-pow 4813  ax-pr 4877  ax-un 6914  ax-inf2 8498  ax-cnex 9952  ax-resscn 9953  ax-1cn 9954  ax-icn 9955  ax-addcl 9956  ax-addrcl 9957  ax-mulcl 9958  ax-mulrcl 9959  ax-mulcom 9960  ax-addass 9961  ax-mulass 9962  ax-distr 9963  ax-i2m1 9964  ax-1ne0 9965  ax-1rid 9966  ax-rnegex 9967  ax-rrecex 9968  ax-cnre 9969  ax-pre-lttri 9970  ax-pre-lttrn 9971  ax-pre-ltadd 9972  ax-pre-mulgt0 9973  ax-pre-sup 9974 This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-tru 1483  df-fal 1486  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-nel 2894  df-ral 2913  df-rex 2914  df-reu 2915  df-rmo 2916  df-rab 2917  df-v 3192  df-sbc 3423  df-csb 3520  df-dif 3563  df-un 3565  df-in 3567  df-ss 3574  df-pss 3576  df-nul 3898  df-if 4065  df-pw 4138  df-sn 4156  df-pr 4158  df-tp 4160  df-op 4162  df-uni 4410  df-int 4448  df-iun 4494  df-br 4624  df-opab 4684  df-mpt 4685  df-tr 4723  df-eprel 4995  df-id 4999  df-po 5005  df-so 5006  df-fr 5043  df-se 5044  df-we 5045  df-xp 5090  df-rel 5091  df-cnv 5092  df-co 5093  df-dm 5094  df-rn 5095  df-res 5096  df-ima 5097  df-pred 5649  df-ord 5695  df-on 5696  df-lim 5697  df-suc 5698  df-iota 5820  df-fun 5859  df-fn 5860  df-f 5861  df-f1 5862  df-fo 5863  df-f1o 5864  df-fv 5865  df-isom 5866  df-riota 6576  df-ov 6618  df-oprab 6619  df-mpt2 6620  df-om 7028  df-1st 7128  df-2nd 7129  df-wrecs 7367  df-recs 7428  df-rdg 7466  df-1o 7520  df-oadd 7524  df-er 7702  df-en 7916  df-dom 7917  df-sdom 7918  df-fin 7919  df-sup 8308  df-oi 8375  df-card 8725  df-pnf 10036  df-mnf 10037  df-xr 10038  df-ltxr 10039  df-le 10040  df-sub 10228  df-neg 10229  df-div 10645  df-nn 10981  df-2 11039  df-3 11040  df-n0 11253  df-z 11338  df-uz 11648  df-rp 11793  df-ico 12139  df-fz 12285  df-fzo 12423  df-seq 12758  df-exp 12817  df-hash 13074  df-cj 13789  df-re 13790  df-im 13791  df-sqrt 13925  df-abs 13926  df-clim 14169  df-prod 14580 This theorem is referenced by:  prmolefac  15693  etransclem23  39811  hoidifhspdmvle  40171
 Copyright terms: Public domain W3C validator