Step | Hyp | Ref
| Expression |
1 | | 1t1e1 9073 |
. . . . 5
   |
2 | | prod0 11595 |
. . . . . 6
  |
3 | | prod0 11595 |
. . . . . 6
  |
4 | 2, 3 | oveq12i 5889 |
. . . . 5
       |
5 | | prod0 11595 |
. . . . 5
    |
6 | 1, 4, 5 | 3eqtr4ri 2209 |
. . . 4
    
   |
7 | | prodeq1 11563 |
. . . 4


       |
8 | | prodeq1 11563 |
. . . . 5


   |
9 | | prodeq1 11563 |
. . . . 5


   |
10 | 8, 9 | oveq12d 5895 |
. . . 4

     
    |
11 | 6, 7, 10 | 3eqtr4a 2236 |
. . 3


   
    |
12 | 11 | a1i 9 |
. 2
   
        |
13 | | simprl 529 |
. . . . . . . . 9
 
 ♯       ♯       ♯    |
14 | | nnuz 9565 |
. . . . . . . . 9
     |
15 | 13, 14 | eleqtrdi 2270 |
. . . . . . . 8
 
 ♯       ♯       ♯        |
16 | | elnnuz 9566 |
. . . . . . . . . . . 12

      |
17 | 16 | biimpri 133 |
. . . . . . . . . . 11
    
  |
18 | 17 | adantl 277 |
. . . . . . . . . 10
    ♯       ♯           
  |
19 | | fprodmul.2 |
. . . . . . . . . . . . . . . 16
 
   |
20 | 19 | fmpttd 5673 |
. . . . . . . . . . . . . . 15
         |
21 | 20 | adantr 276 |
. . . . . . . . . . . . . 14
 
 ♯       ♯               |
22 | | f1of 5463 |
. . . . . . . . . . . . . . 15
      ♯          ♯       |
23 | 22 | ad2antll 491 |
. . . . . . . . . . . . . 14
 
 ♯       ♯            ♯       |
24 | | fco 5383 |
. . . . . . . . . . . . . 14
             ♯               ♯       |
25 | 21, 23, 24 | syl2anc 411 |
. . . . . . . . . . . . 13
 
 ♯       ♯                ♯       |
26 | 25 | ad2antrr 488 |
. . . . . . . . . . . 12
     ♯       ♯           
♯            ♯       |
27 | | simpr 110 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯   ♯    |
28 | | simplr 528 |
. . . . . . . . . . . . . 14
     ♯       ♯           
♯  
      |
29 | 13 | ad2antrr 488 |
. . . . . . . . . . . . . . 15
     ♯       ♯           
♯   ♯    |
30 | 29 | nnzd 9376 |
. . . . . . . . . . . . . 14
     ♯       ♯           
♯   ♯    |
31 | | elfz5 10019 |
. . . . . . . . . . . . . 14
      ♯       ♯  
♯     |
32 | 28, 30, 31 | syl2anc 411 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯       ♯  
♯     |
33 | 27, 32 | mpbird 167 |
. . . . . . . . . . . 12
     ♯       ♯           
♯  
   ♯     |
34 | 26, 33 | ffvelcdmd 5654 |
. . . . . . . . . . 11
     ♯       ♯           
♯             |
35 | | 1cnd 7975 |
. . . . . . . . . . 11
     ♯       ♯           
♯  
  |
36 | 18 | nnzd 9376 |
. . . . . . . . . . . 12
    ♯       ♯           
  |
37 | 13 | adantr 276 |
. . . . . . . . . . . . 13
    ♯       ♯           
♯    |
38 | 37 | nnzd 9376 |
. . . . . . . . . . . 12
    ♯       ♯           
♯    |
39 | | zdcle 9331 |
. . . . . . . . . . . 12
  ♯  
DECID
♯    |
40 | 36, 38, 39 | syl2anc 411 |
. . . . . . . . . . 11
    ♯       ♯           
DECID
♯    |
41 | 34, 35, 40 | ifcldadc 3565 |
. . . . . . . . . 10
    ♯       ♯           
 
♯               |
42 | | breq1 4008 |
. . . . . . . . . . . 12
 
♯ 
♯     |
43 | | fveq2 5517 |
. . . . . . . . . . . 12
                   |
44 | 42, 43 | ifbieq1d 3558 |
. . . . . . . . . . 11
  
♯               ♯               |
45 | | eqid 2177 |
. . . . . . . . . . 11
  
♯                 ♯               |
46 | 44, 45 | fvmptg 5594 |
. . . . . . . . . 10
    ♯                  ♯                   ♯               |
47 | 18, 41, 46 | syl2anc 411 |
. . . . . . . . 9
    ♯       ♯           
    ♯                   ♯               |
48 | 47, 41 | eqeltrd 2254 |
. . . . . . . 8
    ♯       ♯           
    ♯                   |
49 | | fprodmul.3 |
. . . . . . . . . . . . . . . 16
 
   |
50 | 49 | fmpttd 5673 |
. . . . . . . . . . . . . . 15
         |
51 | 50 | adantr 276 |
. . . . . . . . . . . . . 14
 
 ♯       ♯               |
52 | | fco 5383 |
. . . . . . . . . . . . . 14
             ♯               ♯       |
53 | 51, 23, 52 | syl2anc 411 |
. . . . . . . . . . . . 13
 
 ♯       ♯                ♯       |
54 | 53 | ad2antrr 488 |
. . . . . . . . . . . 12
     ♯       ♯           
♯            ♯       |
55 | 54, 33 | ffvelcdmd 5654 |
. . . . . . . . . . 11
     ♯       ♯           
♯             |
56 | 55, 35, 40 | ifcldadc 3565 |
. . . . . . . . . 10
    ♯       ♯           
 
♯               |
57 | | fveq2 5517 |
. . . . . . . . . . . 12
                   |
58 | 42, 57 | ifbieq1d 3558 |
. . . . . . . . . . 11
  
♯               ♯               |
59 | | eqid 2177 |
. . . . . . . . . . 11
  
♯                 ♯               |
60 | 58, 59 | fvmptg 5594 |
. . . . . . . . . 10
    ♯                  ♯                   ♯               |
61 | 18, 56, 60 | syl2anc 411 |
. . . . . . . . 9
    ♯       ♯           
    ♯                   ♯               |
62 | 61, 56 | eqeltrd 2254 |
. . . . . . . 8
    ♯       ♯           
    ♯                   |
63 | 23 | ad2antrr 488 |
. . . . . . . . . . . . . . 15
     ♯       ♯           
♯        ♯       |
64 | 63, 33 | ffvelcdmd 5654 |
. . . . . . . . . . . . . 14
     ♯       ♯           
♯         |
65 | | csbov12g 5916 |
. . . . . . . . . . . . . 14
           ![]_ ]_](_urbrack.gif) 
        ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)    |
66 | 64, 65 | syl 14 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯         ![]_ ]_](_urbrack.gif) 
        ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)    |
67 | 19, 49 | mulcld 7980 |
. . . . . . . . . . . . . . . . 17
 
 
   |
68 | 67 | ralrimiva 2550 |
. . . . . . . . . . . . . . . 16
  
   |
69 | 68 | ad3antrrr 492 |
. . . . . . . . . . . . . . 15
     ♯       ♯           
♯   

   |
70 | | nfcsb1v 3092 |
. . . . . . . . . . . . . . . . 17
        ![]_ ]_](_urbrack.gif) 
  |
71 | 70 | nfel1 2330 |
. . . . . . . . . . . . . . . 16
        ![]_ ]_](_urbrack.gif)    |
72 | | csbeq1a 3068 |
. . . . . . . . . . . . . . . . 17
     
       ![]_ ]_](_urbrack.gif)     |
73 | 72 | eleq1d 2246 |
. . . . . . . . . . . . . . . 16
       
      ![]_ ]_](_urbrack.gif)      |
74 | 71, 73 | rspc 2837 |
. . . . . . . . . . . . . . 15
      

       ![]_ ]_](_urbrack.gif) 
    |
75 | 64, 69, 74 | sylc 62 |
. . . . . . . . . . . . . 14
     ♯       ♯           
♯         ![]_ ]_](_urbrack.gif) 
   |
76 | | eqid 2177 |
. . . . . . . . . . . . . . 15
         |
77 | 76 | fvmpts 5596 |
. . . . . . . . . . . . . 14
            ![]_ ]_](_urbrack.gif) 
                    ![]_ ]_](_urbrack.gif)     |
78 | 64, 75, 77 | syl2anc 411 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯                     ![]_ ]_](_urbrack.gif) 
   |
79 | 19 | ralrimiva 2550 |
. . . . . . . . . . . . . . . . 17
 
  |
80 | 79 | ad3antrrr 492 |
. . . . . . . . . . . . . . . 16
     ♯       ♯           
♯   
  |
81 | | nfcsb1v 3092 |
. . . . . . . . . . . . . . . . . 18
        ![]_ ]_](_urbrack.gif)  |
82 | 81 | nfel1 2330 |
. . . . . . . . . . . . . . . . 17
        ![]_ ]_](_urbrack.gif)
 |
83 | | csbeq1a 3068 |
. . . . . . . . . . . . . . . . . 18
           ![]_ ]_](_urbrack.gif)   |
84 | 83 | eleq1d 2246 |
. . . . . . . . . . . . . . . . 17
     
      ![]_ ]_](_urbrack.gif)    |
85 | 82, 84 | rspc 2837 |
. . . . . . . . . . . . . . . 16
      
      ![]_ ]_](_urbrack.gif)
   |
86 | 64, 80, 85 | sylc 62 |
. . . . . . . . . . . . . . 15
     ♯       ♯           
♯         ![]_ ]_](_urbrack.gif)
  |
87 | | eqid 2177 |
. . . . . . . . . . . . . . . 16
     |
88 | 87 | fvmpts 5596 |
. . . . . . . . . . . . . . 15
            ![]_ ]_](_urbrack.gif)
                 ![]_ ]_](_urbrack.gif)   |
89 | 64, 86, 88 | syl2anc 411 |
. . . . . . . . . . . . . 14
     ♯       ♯           
♯                   ![]_ ]_](_urbrack.gif)   |
90 | 49 | ralrimiva 2550 |
. . . . . . . . . . . . . . . . 17
 
  |
91 | 90 | ad3antrrr 492 |
. . . . . . . . . . . . . . . 16
     ♯       ♯           
♯   
  |
92 | | nfcsb1v 3092 |
. . . . . . . . . . . . . . . . . 18
        ![]_ ]_](_urbrack.gif)  |
93 | 92 | nfel1 2330 |
. . . . . . . . . . . . . . . . 17
        ![]_ ]_](_urbrack.gif)
 |
94 | | csbeq1a 3068 |
. . . . . . . . . . . . . . . . . 18
           ![]_ ]_](_urbrack.gif)   |
95 | 94 | eleq1d 2246 |
. . . . . . . . . . . . . . . . 17
     
      ![]_ ]_](_urbrack.gif)    |
96 | 93, 95 | rspc 2837 |
. . . . . . . . . . . . . . . 16
      
      ![]_ ]_](_urbrack.gif)
   |
97 | 64, 91, 96 | sylc 62 |
. . . . . . . . . . . . . . 15
     ♯       ♯           
♯         ![]_ ]_](_urbrack.gif)
  |
98 | | eqid 2177 |
. . . . . . . . . . . . . . . 16
     |
99 | 98 | fvmpts 5596 |
. . . . . . . . . . . . . . 15
            ![]_ ]_](_urbrack.gif)
                 ![]_ ]_](_urbrack.gif)   |
100 | 64, 97, 99 | syl2anc 411 |
. . . . . . . . . . . . . 14
     ♯       ♯           
♯                   ![]_ ]_](_urbrack.gif)   |
101 | 89, 100 | oveq12d 5895 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯                                ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)    |
102 | 66, 78, 101 | 3eqtr4d 2220 |
. . . . . . . . . . . 12
     ♯       ♯           
♯                                       |
103 | | fvco3 5589 |
. . . . . . . . . . . . 13
       ♯    
   ♯                            |
104 | 63, 33, 103 | syl2anc 411 |
. . . . . . . . . . . 12
     ♯       ♯           
♯                           |
105 | | fvco3 5589 |
. . . . . . . . . . . . . 14
       ♯    
   ♯                        |
106 | 63, 33, 105 | syl2anc 411 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯                       |
107 | | fvco3 5589 |
. . . . . . . . . . . . . 14
       ♯    
   ♯                        |
108 | 63, 33, 107 | syl2anc 411 |
. . . . . . . . . . . . 13
     ♯       ♯           
♯                       |
109 | 106, 108 | oveq12d 5895 |
. . . . . . . . . . . 12
     ♯       ♯           
♯                                             |
110 | 102, 104,
109 | 3eqtr4d 2220 |
. . . . . . . . . . 11
     ♯       ♯           
♯                                 |
111 | 27 | iftrued 3543 |
. . . . . . . . . . 11
     ♯       ♯           
♯     ♯                           |
112 | 27 | iftrued 3543 |
. . . . . . . . . . . 12
     ♯       ♯           
♯     ♯                       |
113 | 27 | iftrued 3543 |
. . . . . . . . . . . 12
     ♯       ♯           
♯     ♯                       |
114 | 112, 113 | oveq12d 5895 |
. . . . . . . . . . 11
     ♯       ♯           
♯      ♯              
♯                                  |
115 | 110, 111,
114 | 3eqtr4d 2220 |
. . . . . . . . . 10
     ♯       ♯           
♯     ♯                 
♯               ♯                |
116 | 1 | eqcomi 2181 |
. . . . . . . . . . 11
   |
117 | | simpr 110 |
. . . . . . . . . . . 12
     ♯       ♯           
♯  
♯    |
118 | 117 | iffalsed 3546 |
. . . . . . . . . . 11
     ♯       ♯           
♯  
 
♯                 |
119 | 117 | iffalsed 3546 |
. . . . . . . . . . . 12
     ♯       ♯           
♯  
 
♯               |
120 | 117 | iffalsed 3546 |
. . . . . . . . . . . 12
     ♯       ♯           
♯  
 
♯               |
121 | 119, 120 | oveq12d 5895 |
. . . . . . . . . . 11
     ♯       ♯           
♯  
  
♯               ♯                  |
122 | 116, 118,
121 | 3eqtr4a 2236 |
. . . . . . . . . 10
     ♯       ♯           
♯  
 
♯                  ♯              
♯                |
123 | | exmiddc 836 |
. . . . . . . . . . 11
DECID ♯   ♯  ♯     |
124 | 40, 123 | syl 14 |
. . . . . . . . . 10
    ♯       ♯           
 ♯  ♯     |
125 | 115, 122,
124 | mpjaodan 798 |
. . . . . . . . 9
    ♯       ♯           
 
♯                  ♯              
♯                |
126 | 78, 75 | eqeltrd 2254 |
. . . . . . . . . . . 12
     ♯       ♯           
♯                 |
127 | 104, 126 | eqeltrd 2254 |
. . . . . . . . . . 11
     ♯       ♯           
♯               |
128 | 127, 35, 40 | ifcldadc 3565 |
. . . . . . . . . 10
    ♯       ♯           
 
♯                 |
129 | | fveq2 5517 |
. . . . . . . . . . . 12
                       |
130 | 42, 129 | ifbieq1d 3558 |
. . . . . . . . . . 11
  
♯                 ♯                 |
131 | | eqid 2177 |
. . . . . . . . . . 11
  
♯                   ♯                 |
132 | 130, 131 | fvmptg 5594 |
. . . . . . . . . 10
    ♯                    ♯                     ♯                 |
133 | 18, 128, 132 | syl2anc 411 |
. . . . . . . . 9
    ♯       ♯           
    ♯                     ♯                 |
134 | 47, 61 | oveq12d 5895 |
. . . . . . . . 9
    ♯       ♯           
     ♯                    
♯                    
♯               ♯                |
135 | 125, 133,
134 | 3eqtr4d 2220 |
. . . . . . . 8
    ♯       ♯           
    ♯                        ♯                    
♯                    |
136 | 15, 48, 62, 135 | prod3fmul 11551 |
. . . . . . 7
 
 ♯       ♯            ♯                   ♯        
♯                 ♯        ♯                 ♯      |
137 | | fveq2 5517 |
. . . . . . . 8
                           |
138 | | simprr 531 |
. . . . . . . 8
 
 ♯       ♯            ♯       |
139 | 67 | fmpttd 5673 |
. . . . . . . . . 10
           |
140 | 139 | adantr 276 |
. . . . . . . . 9
 
 ♯       ♯                 |
141 | 140 | ffvelcdmda 5653 |
. . . . . . . 8
    ♯       ♯                  |
142 | | fvco3 5589 |
. . . . . . . . 9
       ♯    
   ♯                            |
143 | 23, 142 | sylan 283 |
. . . . . . . 8
    ♯       ♯          ♯                            |
144 | 137, 13, 138, 141, 143 | fprodseq 11593 |
. . . . . . 7
 
 ♯       ♯                     ♯                   ♯     |
145 | | fveq2 5517 |
. . . . . . . . 9
                       |
146 | 21 | ffvelcdmda 5653 |
. . . . . . . . 9
    ♯       ♯                |
147 | | fvco3 5589 |
. . . . . . . . . 10
       ♯    
   ♯                        |
148 | 23, 147 | sylan 283 |
. . . . . . . . 9
    ♯       ♯          ♯                        |
149 | 145, 13, 138, 146, 148 | fprodseq 11593 |
. . . . . . . 8
 
 ♯       ♯                   ♯                 ♯     |
150 | | fveq2 5517 |
. . . . . . . . 9
                       |
151 | 51 | ffvelcdmda 5653 |
. . . . . . . . 9
    ♯       ♯                |
152 | | fvco3 5589 |
. . . . . . . . . 10
       ♯    
   ♯                        |
153 | 23, 152 | sylan 283 |
. . . . . . . . 9
    ♯       ♯          ♯                        |
154 | 150, 13, 138, 151, 153 | fprodseq 11593 |
. . . . . . . 8
 
 ♯       ♯                   ♯                 ♯     |
155 | 149, 154 | oveq12d 5895 |
. . . . . . 7
 
 ♯       ♯                             ♯                 ♯        ♯                 ♯      |
156 | 136, 144,
155 | 3eqtr4d 2220 |
. . . . . 6
 
 ♯       ♯                        
         |
157 | | prodfct 11597 |
. . . . . . . 8
 


         

   |
158 | 68, 157 | syl 14 |
. . . . . . 7
               |
159 | 158 | adantr 276 |
. . . . . 6
 
 ♯       ♯                
    |
160 | | prodfct 11597 |
. . . . . . . . 9
 
       
  |
161 | 79, 160 | syl 14 |
. . . . . . . 8
           |
162 | | prodfct 11597 |
. . . . . . . . 9
 
       
  |
163 | 90, 162 | syl 14 |
. . . . . . . 8
           |
164 | 161, 163 | oveq12d 5895 |
. . . . . . 7
                       |
165 | 164 | adantr 276 |
. . . . . 6
 
 ♯       ♯                             |
166 | 156, 159,
165 | 3eqtr3d 2218 |
. . . . 5
 
 ♯       ♯           
    |
167 | 166 | expr 375 |
. . . 4
 
♯         ♯         
     |
168 | 167 | exlimdv 1819 |
. . 3
 
♯          ♯    
    
     |
169 | 168 | expimpd 363 |
. 2
   ♯        ♯          
     |
170 | | fprodmul.1 |
. . 3
   |
171 | | fz1f1o 11385 |
. . 3
 
 ♯        ♯         |
172 | 170, 171 | syl 14 |
. 2
   ♯        ♯         |
173 | 12, 169, 172 | mpjaod 718 |
1
  
       |