Table of ContentsTable of Contents Mathbox for Frédéric Liné < Previous   Next >
Related theorems
Unicode version

Theorem dffprod 14670
Description: Special case of composite over a finite index set.
Assertion
Ref Expression
dffprod |- (N e. (ZZ>=` M) -> prod_k e. (M...N)GA = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))
Distinct variable groups:   y,A   y,G   y,M   y,N   y,k

Proof of Theorem dffprod
StepHypRef Expression
1 eluzel2 7593 . . . 4 |- (N e. (ZZ>=` M) -> M e. ZZ)
2 eluzelz 7592 . . . 4 |- (N e. (ZZ>=` M) -> N e. ZZ)
3 eluzle 7594 . . . 4 |- (N e. (ZZ>=` M) -> M <_ N)
4 simp3 878 . . . . . . 7 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> M <_ N)
5 zssre 7351 . . . . . . . . . . . 12 |- ZZ C_ RR
6 ressxr 6667 . . . . . . . . . . . 12 |- RR C_ RR*
75, 6sstri 2626 . . . . . . . . . . 11 |- ZZ C_ RR*
87sseli 2617 . . . . . . . . . 10 |- (M e. ZZ -> M e. RR*)
97sseli 2617 . . . . . . . . . 10 |- (N e. ZZ -> N e. RR*)
108, 9anim12i 360 . . . . . . . . 9 |- ((M e. ZZ /\ N e. ZZ) -> (M e. RR* /\ N e. RR*))
11103adant3 896 . . . . . . . 8 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (M e. RR* /\ N e. RR*))
12 xrlenlt 6670 . . . . . . . 8 |- ((M e. RR* /\ N e. RR*) -> (M <_ N <-> -. N < M))
1311, 12syl 12 . . . . . . 7 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (M <_ N <-> -. N < M))
144, 13mpbid 212 . . . . . 6 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> -. N < M)
15 fzn 7663 . . . . . . . 8 |- ((M e. ZZ /\ N e. ZZ) -> (N < M <-> (M...N) = (/)))
1615notbid 673 . . . . . . 7 |- ((M e. ZZ /\ N e. ZZ) -> (-. N < M <-> -. (M...N) = (/)))
17163adant3 896 . . . . . 6 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (-. N < M <-> -. (M...N) = (/)))
1814, 17mpbid 212 . . . . 5 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> -. (M...N) = (/))
19 iffalse 2991 . . . . . 6 |- (-. (M...N) = (/) -> if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = prod3 k e. (M...N)GA)
20 eqeq1 1890 . . . . . . 7 |- (if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = prod3 k e. (M...N)GA -> (if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N) <-> prod3 k e. (M...N)GA = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
21 visset 2295 . . . . . . . . . . . . . . 15 |- n e. _V
22 fzopth 7674 . . . . . . . . . . . . . . 15 |- ((N e. (ZZ>=` M) /\ n e. _V) -> ((M...N) = (m...n) <-> (M = m /\ N = n)))
2321, 22mpan2 760 . . . . . . . . . . . . . 14 |- (N e. (ZZ>=` M) -> ((M...N) = (m...n) <-> (M = m /\ N = n)))
24 eqcom 1886 . . . . . . . . . . . . . . 15 |- (M = m <-> m = M)
25 eqcom 1886 . . . . . . . . . . . . . . 15 |- (N = n <-> n = N)
2624, 25anbi12i 540 . . . . . . . . . . . . . 14 |- ((M = m /\ N = n) <-> (m = M /\ n = N))
2723, 26syl6bb 595 . . . . . . . . . . . . 13 |- (N e. (ZZ>=` M) -> ((M...N) = (m...n) <-> (m = M /\ n = N)))
2827anbi1d 679 . . . . . . . . . . . 12 |- (N e. (ZZ>=` M) -> (((M...N) = (m...n) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> ((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
2928rexbidv 2124 . . . . . . . . . . 11 |- (N e. (ZZ>=` M) -> (E.n e. (ZZ>=` m)((M...N) = (m...n) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> E.n e. (ZZ>=` m)((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
3029exbidv 1657 . . . . . . . . . 10 |- (N e. (ZZ>=` M) -> (E.mE.n e. (ZZ>=` m)((M...N) = (m...n) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> E.mE.n e. (ZZ>=` m)((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
31 breq1 3341 . . . . . . . . . . . . . . 15 |- (m = M -> (m <_ n <-> M <_ n))
32 opeq1 3158 . . . . . . . . . . . . . . . . . 18 |- (m = M -> <.m, G>. = <.M, G>.)
3332opreq1d 4897 . . . . . . . . . . . . . . . . 17 |- (m = M -> (<.m, G>. seq ({<.k, y>. | y = A} |` ZZ)) = (<.M, G>. seq ({<.k, y>. | y = A} |` ZZ)))
3433fveq1d 4683 . . . . . . . . . . . . . . . 16 |- (m = M -> ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))
3534eleq2d 1964 . . . . . . . . . . . . . . 15 |- (m = M -> (x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n) <-> x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)))
3631, 35anbi12d 690 . . . . . . . . . . . . . 14 |- (m = M -> ((m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> (M <_ n /\ x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
37 breq2 3342 . . . . . . . . . . . . . . 15 |- (n = N -> (M <_ n <-> M <_ N))
38 fveq2 4681 . . . . . . . . . . . . . . . 16 |- (n = N -> ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` n) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))
3938eleq2d 1964 . . . . . . . . . . . . . . 15 |- (n = N -> (x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` n) <-> x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
4037, 39anbi12d 690 . . . . . . . . . . . . . 14 |- (n = N -> ((M <_ n /\ x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> (M <_ N /\ x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))))
4136, 40ceqsrex2v 2395 . . . . . . . . . . . . 13 |- ((M e. ZZ /\ N e. ZZ) -> (E.m e. ZZ E.n e. ZZ ((m = M /\ n = N) /\ (m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))) <-> (M <_ N /\ x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))))
421, 2, 41syl11anc 524 . . . . . . . . . . . 12 |- (N e. (ZZ>=` M) -> (E.m e. ZZ E.n e. ZZ ((m = M /\ n = N) /\ (m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))) <-> (M <_ N /\ x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))))
433biantrurd 796 . . . . . . . . . . . 12 |- (N e. (ZZ>=` M) -> (x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N) <-> (M <_ N /\ x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))))
4442, 43bitr4d 590 . . . . . . . . . . 11 |- (N e. (ZZ>=` M) -> (E.m e. ZZ E.n e. ZZ ((m = M /\ n = N) /\ (m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))) <-> x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
45 2rexuz 7615 . . . . . . . . . . . 12 |- (E.mE.n e. (ZZ>=` m)((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> E.m e. ZZ E.n e. ZZ (m <_ n /\ ((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
46 an12 542 . . . . . . . . . . . . 13 |- ((m <_ n /\ ((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))) <-> ((m = M /\ n = N) /\ (m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
47462rexbii 2130 . . . . . . . . . . . 12 |- (E.m e. ZZ E.n e. ZZ (m <_ n /\ ((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))) <-> E.m e. ZZ E.n e. ZZ ((m = M /\ n = N) /\ (m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
4845, 47bitri 190 . . . . . . . . . . 11 |- (E.mE.n e. (ZZ>=` m)((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> E.m e. ZZ E.n e. ZZ ((m = M /\ n = N) /\ (m <_ n /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))))
4944, 48syl5bb 591 . . . . . . . . . 10 |- (N e. (ZZ>=` M) -> (E.mE.n e. (ZZ>=` m)((m = M /\ n = N) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
5030, 49bitrd 587 . . . . . . . . 9 |- (N e. (ZZ>=` M) -> (E.mE.n e. (ZZ>=` m)((M...N) = (m...n) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n)) <-> x e. ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
5150abbi1dv 2010 . . . . . . . 8 |- (N e. (ZZ>=` M) -> {x | E.mE.n e. (ZZ>=` m)((M...N) = (m...n) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))} = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))
52 df-prod 14653 . . . . . . . 8 |- prod3 k e. (M...N)GA = {x | E.mE.n e. (ZZ>=` m)((M...N) = (m...n) /\ x e. ((<.m, G>. seq ({<.k, y>. | y = A} |` ZZ))` n))}
5351, 52syl5eq 1940 . . . . . . 7 |- (N e. (ZZ>=` M) -> prod3 k e. (M...N)GA = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))
5420, 53syl5bir 227 . . . . . 6 |- (if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = prod3 k e. (M...N)GA -> (N e. (ZZ>=` M) -> if((M...N) = (/), (Id`
G), prod3 k e. (M...N)GA) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
5519, 54syl 12 . . . . 5 |- (-. (M...N) = (/) -> (N e. (ZZ>=` M) -> if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
5618, 55syl 12 . . . 4 |- ((M e. ZZ /\ N e. ZZ /\ M <_ N) -> (N e. (ZZ>=` M) -> if((M...N) = (/), (Id`
G), prod3 k e. (M...N)GA) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
571, 2, 3, 56syl111anc 1100 . . 3 |- (N e. (ZZ>=` M) -> (N e. (ZZ>=` M) -> if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N)))
5857pm2.43i 78 . 2 |- (N e. (ZZ>=` M) -> if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA) = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))
59 df-prod2 14655 . 2 |- prod_k e. (M...N)GA = if((M...N) = (/), (Id` G), prod3 k e. (M...N)GA)
6058, 59syl5eq 1940 1 |- (N e. (ZZ>=` M) -> prod_k e. (M...N)GA = ((<.M, G>. seq ({<.k, y>. | y = A} |` ZZ))` N))
Colors of variables: wff set class
Syntax hints:  -. wn 2   -> wi 3   <-> wb 163   /\ wa 240   /\ w3a 858   = wceq 1298   e. wcel 1300  E.wex 1326  {cab 1871  E.wrex 2106  _Vcvv 2292  (/)c0 2875  ifcif 2982  <.cop 3046   class class class wbr 3338  {copab 3395   |` cres 3988  ` cfv 3998  (class class class)co 4884  RRcr 6385   <_ cle 6448  ZZcz 6451  RR*cxr 6652   < clt 6653  ZZ>=cuz 7586  ...cfz 7637   seq cseqz 7774  Idcgi 9312   prod3 cprd 14652  prod_cprd2 14654
This theorem is referenced by:  fprodserz 14671  relsumprd 14684
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-13 1311  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-rep 3428  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790  ax-inf2 5731
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-3or 859  df-3an 860  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-nel 2020  df-ral 2109  df-rex 2110  df-reu 2111  df-rab 2112  df-v 2294  df-sbc 2454  df-csb 2541  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-pss 2607  df-nul 2876  df-if 2983  df-pw 3035  df-sn 3049  df-pr 3050  df-tp 3052  df-op 3053  df-uni 3178  df-int 3215  df-iun 3257  df-br 3339  df-opab 3396  df-tr 3412  df-eprel 3583  df-id 3586  df-po 3591  df-so 3604  df-fr 3625  df-we 3644  df-ord 3660  df-on 3661  df-lim 3662  df-suc 3663  df-om 3950  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-dm 4004  df-rn 4005  df-res 4006  df-ima 4007  df-fun 4008  df-fn 4009  df-f 4010  df-f1 4011  df-fo 4012  df-f1o 4013  df-fv 4014  df-opr 4886  df-oprab 4887  df-1st 5020  df-2nd 5021  df-rdg 5140  df-1o 5177  df-oadd 5179  df-omul 5180  df-er 5318  df-ec 5320  df-qs 5323  df-en 5427  df-dom 5428  df-sdom 5429  df-ni 6152  df-pli 6153  df-mi 6154  df-lti 6155  df-plpq 6187  df-mpq 6188  df-enq 6189  df-nq 6190  df-plq 6191  df-mq 6192  df-rq 6193  df-ltq 6194  df-1q 6195  df-np 6238  df-1p 6239  df-plp 6240  df-ltp 6242  df-enr 6318  df-nr 6319  df-ltr 6322  df-0r 6323  df-c 6392  df-r 6396  df-lt 6399  df-neg 6513  df-pnf 6654  df-mnf 6655  df-xr 6656  df-ltxr 6657  df-le 6658  df-z 7345  df-uz 7587  df-fz 7638  df-prod 14653  df-prod2 14655
Copyright terms: Public domain