Step | Hyp | Ref
| Expression |
1 | | simpr 110 |
. . . 4
 
   |
2 | | fprod2d.7 |
. . . 4
   
       |
3 | 1, 2 | sylib 122 |
. . 3
 
   
       |
4 | | nfcv 2319 |
. . . . . 6
    |
5 | | nfcsb1v 3090 |
. . . . . . 7
  
 ![]_ ]_](_urbrack.gif)  |
6 | | nfcsb1v 3090 |
. . . . . . 7
  
 ![]_ ]_](_urbrack.gif)  |
7 | 5, 6 | nfcprod 11544 |
. . . . . 6
    ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)  |
8 | | csbeq1a 3066 |
. . . . . . 7
   ![]_ ]_](_urbrack.gif)   |
9 | | csbeq1a 3066 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)   |
10 | 9 | adantr 276 |
. . . . . . 7
 
   ![]_ ]_](_urbrack.gif)   |
11 | 8, 10 | prodeq12dv 11558 |
. . . . . 6
  
 ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   |
12 | 4, 7, 11 | cbvprodi 11549 |
. . . . 5
     
     ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)  |
13 | | fprod2d.6 |
. . . . . . . . 9
       |
14 | 13 | unssbd 3313 |
. . . . . . . 8
     |
15 | | vex 2740 |
. . . . . . . . 9
 |
16 | 15 | snss 3726 |
. . . . . . . 8

    |
17 | 14, 16 | sylibr 134 |
. . . . . . 7
   |
18 | | fprod2d.3 |
. . . . . . . . . 10
 
   |
19 | 18 | ralrimiva 2550 |
. . . . . . . . 9
 
  |
20 | | nfcsb1v 3090 |
. . . . . . . . . . 11
  
 ![]_ ]_](_urbrack.gif)  |
21 | 20 | nfel1 2330 |
. . . . . . . . . 10
    ![]_ ]_](_urbrack.gif)
 |
22 | | csbeq1a 3066 |
. . . . . . . . . . 11
   ![]_ ]_](_urbrack.gif)   |
23 | 22 | eleq1d 2246 |
. . . . . . . . . 10
 
  ![]_ ]_](_urbrack.gif)    |
24 | 21, 23 | rspc 2835 |
. . . . . . . . 9
  
  ![]_ ]_](_urbrack.gif)    |
25 | 17, 19, 24 | sylc 62 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)
  |
26 | | fprod2d.4 |
. . . . . . . . . . 11
 

 
  |
27 | 26 | ralrimivva 2559 |
. . . . . . . . . 10
  
  |
28 | | nfcsb1v 3090 |
. . . . . . . . . . . . 13
  
 ![]_ ]_](_urbrack.gif)  |
29 | 28 | nfel1 2330 |
. . . . . . . . . . . 12
    ![]_ ]_](_urbrack.gif)
 |
30 | 20, 29 | nfralw 2514 |
. . . . . . . . . . 11
    ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
 |
31 | | csbeq1a 3066 |
. . . . . . . . . . . . 13
   ![]_ ]_](_urbrack.gif)   |
32 | 31 | eleq1d 2246 |
. . . . . . . . . . . 12
 
  ![]_ ]_](_urbrack.gif)    |
33 | 22, 32 | raleqbidv 2684 |
. . . . . . . . . . 11
  
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)    |
34 | 30, 33 | rspc 2835 |
. . . . . . . . . 10
  

  ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
   |
35 | 17, 27, 34 | sylc 62 |
. . . . . . . . 9
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  |
36 | 35 | r19.21bi 2565 |
. . . . . . . 8
 
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
37 | 25, 36 | fprodcl 11596 |
. . . . . . 7
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  |
38 | | csbeq1 3060 |
. . . . . . . . 9
   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
39 | | csbeq1 3060 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
40 | 39 | adantr 276 |
. . . . . . . . 9
 
  ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   |
41 | 38, 40 | prodeq12dv 11558 |
. . . . . . . 8
 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   |
42 | 41 | prodsn 11582 |
. . . . . . 7
    ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
       ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif) 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
43 | 17, 37, 42 | syl2anc 411 |
. . . . . 6
       ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif) 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
44 | | nfcv 2319 |
. . . . . . . 8
  
 ![]_ ]_](_urbrack.gif)  |
45 | | nfcsb1v 3090 |
. . . . . . . 8
  
 ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
46 | | csbeq1a 3066 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
47 | 44, 45, 46 | cbvprodi 11549 |
. . . . . . 7
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif) 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
48 | | csbeq1 3060 |
. . . . . . . . 9
    
  ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
49 | | snfig 6808 |
. . . . . . . . . . 11
     |
50 | 49 | elv 2741 |
. . . . . . . . . 10
   |
51 | | xpfi 6923 |
. . . . . . . . . 10
      ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)    |
52 | 50, 25, 51 | sylancr 414 |
. . . . . . . . 9
      ![]_ ]_](_urbrack.gif)    |
53 | | 2ndconst 6217 |
. . . . . . . . . 10
       ![]_ ]_](_urbrack.gif)          ![]_ ]_](_urbrack.gif)      ![]_ ]_](_urbrack.gif)   |
54 | 17, 53 | syl 14 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)          ![]_ ]_](_urbrack.gif)      ![]_ ]_](_urbrack.gif)   |
55 | | fvres 5535 |
. . . . . . . . . 10
      ![]_ ]_](_urbrack.gif) 
       ![]_ ]_](_urbrack.gif)            |
56 | 55 | adantl 277 |
. . . . . . . . 9
 
     ![]_ ]_](_urbrack.gif)          ![]_ ]_](_urbrack.gif)            |
57 | 45 | nfel1 2330 |
. . . . . . . . . . 11
    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
 |
58 | 46 | eleq1d 2246 |
. . . . . . . . . . 11
  
 ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
   |
59 | 57, 58 | rspc 2835 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
   |
60 | 35, 59 | mpan9 281 |
. . . . . . . . 9
 
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
61 | 48, 52, 54, 56, 60 | fprodf1o 11577 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
62 | | elxp 4640 |
. . . . . . . . . . . 12
      ![]_ ]_](_urbrack.gif)               ![]_ ]_](_urbrack.gif)     |
63 | | nfv 1528 |
. . . . . . . . . . . . . . 15
     |
64 | | nfv 1528 |
. . . . . . . . . . . . . . . 16
    |
65 | 20 | nfcri 2313 |
. . . . . . . . . . . . . . . 16
   ![]_ ]_](_urbrack.gif)  |
66 | 64, 65 | nfan 1565 |
. . . . . . . . . . . . . . 15
       ![]_ ]_](_urbrack.gif)   |
67 | 63, 66 | nfan 1565 |
. . . . . . . . . . . . . 14
           ![]_ ]_](_urbrack.gif)    |
68 | 67 | nfex 1637 |
. . . . . . . . . . . . 13
          
  ![]_ ]_](_urbrack.gif)    |
69 | | nfv 1528 |
. . . . . . . . . . . . 13
            |
70 | | opeq1 3776 |
. . . . . . . . . . . . . . . 16
         |
71 | 70 | eqeq2d 2189 |
. . . . . . . . . . . . . . 15
    
      |
72 | | eleq1w 2238 |
. . . . . . . . . . . . . . . . . 18
         |
73 | | velsn 3608 |
. . . . . . . . . . . . . . . . . 18
     |
74 | 72, 73 | bitrdi 196 |
. . . . . . . . . . . . . . . . 17
       |
75 | 74 | anbi1d 465 |
. . . . . . . . . . . . . . . 16
       ![]_ ]_](_urbrack.gif) 

  ![]_ ]_](_urbrack.gif)     |
76 | 22 | eleq2d 2247 |
. . . . . . . . . . . . . . . . 17
 
  ![]_ ]_](_urbrack.gif)    |
77 | 76 | pm5.32i 454 |
. . . . . . . . . . . . . . . 16
 
 
  ![]_ ]_](_urbrack.gif)    |
78 | 75, 77 | bitr4di 198 |
. . . . . . . . . . . . . . 15
       ![]_ ]_](_urbrack.gif) 

    |
79 | 71, 78 | anbi12d 473 |
. . . . . . . . . . . . . 14
           ![]_ ]_](_urbrack.gif)  
          |
80 | 79 | exbidv 1825 |
. . . . . . . . . . . . 13
             ![]_ ]_](_urbrack.gif)  
      
     |
81 | 68, 69, 80 | cbvexv1 1752 |
. . . . . . . . . . . 12
              ![]_ ]_](_urbrack.gif)  
             |
82 | 62, 81 | bitri 184 |
. . . . . . . . . . 11
      ![]_ ]_](_urbrack.gif)          
    |
83 | | nfv 1528 |
. . . . . . . . . . . 12
   |
84 | | nfcv 2319 |
. . . . . . . . . . . . . 14
       |
85 | 84, 28 | nfcsbw 3093 |
. . . . . . . . . . . . 13
        ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
86 | 85 | nfeq2 2331 |
. . . . . . . . . . . 12
       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
87 | | nfv 1528 |
. . . . . . . . . . . . 13
   |
88 | | nfcsb1v 3090 |
. . . . . . . . . . . . . 14
        ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
89 | 88 | nfeq2 2331 |
. . . . . . . . . . . . 13
       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
90 | | fprod2d.1 |
. . . . . . . . . . . . . . . 16
      |
91 | 90 | ad2antlr 489 |
. . . . . . . . . . . . . . 15
      

 
  |
92 | 31 | ad2antrl 490 |
. . . . . . . . . . . . . . 15
      

 
  ![]_ ]_](_urbrack.gif)   |
93 | | fveq2 5511 |
. . . . . . . . . . . . . . . . . 18
                 |
94 | | vex 2740 |
. . . . . . . . . . . . . . . . . . 19
 |
95 | | vex 2740 |
. . . . . . . . . . . . . . . . . . 19
 |
96 | 94, 95 | op2nd 6142 |
. . . . . . . . . . . . . . . . . 18
      
 |
97 | 93, 96 | eqtr2di 2227 |
. . . . . . . . . . . . . . . . 17
          |
98 | 97 | ad2antlr 489 |
. . . . . . . . . . . . . . . 16
      

 
      |
99 | | csbeq1a 3066 |
. . . . . . . . . . . . . . . 16
    
  ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
100 | 98, 99 | syl 14 |
. . . . . . . . . . . . . . 15
      

 
  ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
101 | 91, 92, 100 | 3eqtrd 2214 |
. . . . . . . . . . . . . 14
      

 
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
102 | 101 | expl 378 |
. . . . . . . . . . . . 13
               ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
103 | 87, 89, 102 | exlimd 1597 |
. . . . . . . . . . . 12
        
 
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
104 | 83, 86, 103 | exlimd 1597 |
. . . . . . . . . . 11
                   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
105 | 82, 104 | biimtrid 152 |
. . . . . . . . . 10
       ![]_ ]_](_urbrack.gif)        ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
106 | 105 | imp 124 |
. . . . . . . . 9
 
     ![]_ ]_](_urbrack.gif)  
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
107 | 106 | prodeq2dv 11555 |
. . . . . . . 8
       ![]_ ]_](_urbrack.gif)   
     ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
108 | 61, 107 | eqtr4d 2213 |
. . . . . . 7
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)     |
109 | 47, 108 | eqtrid 2222 |
. . . . . 6
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)     |
110 | 43, 109 | eqtrd 2210 |
. . . . 5
       ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)     |
111 | 12, 110 | eqtrid 2222 |
. . . 4
     
      ![]_ ]_](_urbrack.gif)     |
112 | 111 | adantr 276 |
. . 3
 
     
      ![]_ ]_](_urbrack.gif)     |
113 | 3, 112 | oveq12d 5887 |
. 2
 
        
              ![]_ ]_](_urbrack.gif)      |
114 | | fprod2d.5 |
. . . . 5
   |
115 | | disjsn 3653 |
. . . . 5
    
  |
116 | 114, 115 | sylibr 134 |
. . . 4
       |
117 | | eqidd 2178 |
. . . 4
           |
118 | | fprod2dlemstep.x |
. . . . 5
   |
119 | 15 | a1i 9 |
. . . . 5
   |
120 | | unsnfi 6912 |
. . . . 5
 
       |
121 | 118, 119,
114, 120 | syl3anc 1238 |
. . . 4
       |
122 | 13 | sselda 3155 |
. . . . 5
 

      |
123 | 26 | anassrs 400 |
. . . . . 6
       |
124 | 18, 123 | fprodcl 11596 |
. . . . 5
 
    |
125 | 122, 124 | syldan 282 |
. . . 4
 

       |
126 | 116, 117,
121, 125 | fprodsplit 11586 |
. . 3
       
       
   |
127 | 126 | adantr 276 |
. 2
 
       
       
   |
128 | | eliun 3888 |
. . . . . . . . . 10
      
      |
129 | | xp1st 6160 |
. . . . . . . . . . . . . 14
             |
130 | | elsni 3609 |
. . . . . . . . . . . . . 14
             |
131 | 129, 130 | syl 14 |
. . . . . . . . . . . . 13
           |
132 | 131 | eleq1d 2246 |
. . . . . . . . . . . 12
             |
133 | 132 | biimparc 299 |
. . . . . . . . . . 11
 
           |
134 | 133 | rexlimiva 2589 |
. . . . . . . . . 10
            |
135 | 128, 134 | sylbi 121 |
. . . . . . . . 9
            |
136 | | xp1st 6160 |
. . . . . . . . 9
      ![]_ ]_](_urbrack.gif) 
        |
137 | 135, 136 | anim12i 338 |
. . . . . . . 8
  
   
     ![]_ ]_](_urbrack.gif)                 |
138 | | elin 3318 |
. . . . . . . 8
  
   
     ![]_ ]_](_urbrack.gif)  
           ![]_ ]_](_urbrack.gif)     |
139 | | elin 3318 |
. . . . . . . 8
                       |
140 | 137, 138,
139 | 3imtr4i 201 |
. . . . . . 7
  
   
     ![]_ ]_](_urbrack.gif)             |
141 | 116 | eleq2d 2247 |
. . . . . . . 8
                 |
142 | | noel 3426 |
. . . . . . . . 9
     |
143 | 142 | pm2.21i 646 |
. . . . . . . 8
    
  |
144 | 141, 143 | syl6bi 163 |
. . . . . . 7
         
   |
145 | 140, 144 | syl5 32 |
. . . . . 6
             ![]_ ]_](_urbrack.gif)      |
146 | 145 | ssrdv 3161 |
. . . . 5
            ![]_ ]_](_urbrack.gif)     |
147 | | ss0 3463 |
. . . . 5
            ![]_ ]_](_urbrack.gif)              ![]_ ]_](_urbrack.gif)     |
148 | 146, 147 | syl 14 |
. . . 4
            ![]_ ]_](_urbrack.gif)     |
149 | | iunxun 3963 |
. . . . . 6
                
        |
150 | | nfcv 2319 |
. . . . . . . . 9
       |
151 | | nfcv 2319 |
. . . . . . . . . 10
     |
152 | 151, 5 | nfxp 4650 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)   |
153 | | sneq 3602 |
. . . . . . . . . 10
       |
154 | 153, 8 | xpeq12d 4648 |
. . . . . . . . 9
          ![]_ ]_](_urbrack.gif)    |
155 | 150, 152,
154 | cbviun 3921 |
. . . . . . . 8
       
       ![]_ ]_](_urbrack.gif)   |
156 | | sneq 3602 |
. . . . . . . . . 10
  
    |
157 | 156, 38 | xpeq12d 4648 |
. . . . . . . . 9
      ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)    |
158 | 15, 157 | iunxsn 3960 |
. . . . . . . 8
        ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
159 | 155, 158 | eqtri 2198 |
. . . . . . 7
            ![]_ ]_](_urbrack.gif)   |
160 | 159 | uneq2i 3286 |
. . . . . 6
 
    
        
         ![]_ ]_](_urbrack.gif)    |
161 | 149, 160 | eqtri 2198 |
. . . . 5
                     ![]_ ]_](_urbrack.gif)    |
162 | 161 | a1i 9 |
. . . 4
            
         ![]_ ]_](_urbrack.gif)     |
163 | | snfig 6808 |
. . . . . . . 8
     |
164 | 163 | elv 2741 |
. . . . . . 7
   |
165 | 122, 18 | syldan 282 |
. . . . . . 7
 

   
  |
166 | | xpfi 6923 |
. . . . . . 7
           |
167 | 164, 165,
166 | sylancr 414 |
. . . . . 6
 

          |
168 | 167 | ralrimiva 2550 |
. . . . 5
             |
169 | | disjsnxp 6232 |
. . . . . 6
Disj           |
170 | 169 | a1i 9 |
. . . . 5
 Disj
           |
171 | | iunfidisj 6939 |
. . . . 5
     
          Disj
                      |
172 | 121, 168,
170, 171 | syl3anc 1238 |
. . . 4
             |
173 | | eliun 3888 |
. . . . . 6
          
            |
174 | | elxp 4640 |
. . . . . . . 8
                    |
175 | | simprl 529 |
. . . . . . . . . . . . 13
                       |
176 | | simprrl 539 |
. . . . . . . . . . . . . . 15
                      |
177 | | elsni 3609 |
. . . . . . . . . . . . . . 15
     |
178 | 176, 177 | syl 14 |
. . . . . . . . . . . . . 14
                    |
179 | 178 | opeq1d 3782 |
. . . . . . . . . . . . 13
                    
     |
180 | 175, 179 | eqtrd 2210 |
. . . . . . . . . . . 12
                       |
181 | 180, 90 | syl 14 |
. . . . . . . . . . 11
                    |
182 | | simpll 527 |
. . . . . . . . . . . 12
                    |
183 | 122 | adantr 276 |
. . . . . . . . . . . 12
                    |
184 | | simprrr 540 |
. . . . . . . . . . . 12
                    |
185 | 182, 183,
184, 26 | syl12anc 1236 |
. . . . . . . . . . 11
                    |
186 | 181, 185 | eqeltrd 2254 |
. . . . . . . . . 10
                    |
187 | 186 | ex 115 |
. . . . . . . . 9
 

             
   |
188 | 187 | exlimdvv 1897 |
. . . . . . . 8
 

                 
   |
189 | 174, 188 | biimtrid 152 |
. . . . . . 7
 

            |
190 | 189 | rexlimdva 2594 |
. . . . . 6
               |
191 | 173, 190 | biimtrid 152 |
. . . . 5
  
        
   |
192 | 191 | imp 124 |
. . . 4
 
          
  |
193 | 148, 162,
172, 192 | fprodsplit 11586 |
. . 3
 
                       ![]_ ]_](_urbrack.gif)      |
194 | 193 | adantr 276 |
. 2
 
 
                       ![]_ ]_](_urbrack.gif)      |
195 | 113, 127,
194 | 3eqtr4d 2220 |
1
 
       
             |