Step | Hyp | Ref
| Expression |
1 | | simpr 463 |
. . . 4
 
   |
2 | | fprod2d.7 |
. . . 4
   
       |
3 | 1, 2 | sylib 200 |
. . 3
 
   
       |
4 | | nfcv 2594 |
. . . . . 6
    |
5 | | nfcsb1v 3381 |
. . . . . . 7
  
 ![]_ ]_](_urbrack.gif)  |
6 | | nfcsb1v 3381 |
. . . . . . 7
  
 ![]_ ]_](_urbrack.gif)  |
7 | 5, 6 | nfcprod 13977 |
. . . . . 6
    ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)  |
8 | | csbeq1a 3374 |
. . . . . . 7
   ![]_ ]_](_urbrack.gif)   |
9 | | csbeq1a 3374 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)   |
10 | 9 | adantr 467 |
. . . . . . 7
 
   ![]_ ]_](_urbrack.gif)   |
11 | 8, 10 | prodeq12dv 13992 |
. . . . . 6
  
 ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   |
12 | 4, 7, 11 | cbvprodi 13983 |
. . . . 5
     
     ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)  |
13 | | fprod2d.6 |
. . . . . . . . 9
       |
14 | 13 | unssbd 3614 |
. . . . . . . 8
     |
15 | | vex 3050 |
. . . . . . . . 9
 |
16 | 15 | snss 4099 |
. . . . . . . 8

    |
17 | 14, 16 | sylibr 216 |
. . . . . . 7
   |
18 | | fprod2d.3 |
. . . . . . . . . 10
 
   |
19 | 18 | ralrimiva 2804 |
. . . . . . . . 9
 
  |
20 | | nfcsb1v 3381 |
. . . . . . . . . . 11
  
 ![]_ ]_](_urbrack.gif)  |
21 | 20 | nfel1 2608 |
. . . . . . . . . 10
    ![]_ ]_](_urbrack.gif)
 |
22 | | csbeq1a 3374 |
. . . . . . . . . . 11
   ![]_ ]_](_urbrack.gif)   |
23 | 22 | eleq1d 2515 |
. . . . . . . . . 10
 
  ![]_ ]_](_urbrack.gif)    |
24 | 21, 23 | rspc 3146 |
. . . . . . . . 9
  
  ![]_ ]_](_urbrack.gif)    |
25 | 17, 19, 24 | sylc 62 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)
  |
26 | | fprod2d.4 |
. . . . . . . . . . 11
 

 
  |
27 | 26 | ralrimivva 2811 |
. . . . . . . . . 10
  
  |
28 | | nfcsb1v 3381 |
. . . . . . . . . . . . 13
  
 ![]_ ]_](_urbrack.gif)  |
29 | 28 | nfel1 2608 |
. . . . . . . . . . . 12
    ![]_ ]_](_urbrack.gif)
 |
30 | 20, 29 | nfral 2776 |
. . . . . . . . . . 11
    ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
 |
31 | | csbeq1a 3374 |
. . . . . . . . . . . . 13
   ![]_ ]_](_urbrack.gif)   |
32 | 31 | eleq1d 2515 |
. . . . . . . . . . . 12
 
  ![]_ ]_](_urbrack.gif)    |
33 | 22, 32 | raleqbidv 3003 |
. . . . . . . . . . 11
  
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)    |
34 | 30, 33 | rspc 3146 |
. . . . . . . . . 10
  

  ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
   |
35 | 17, 27, 34 | sylc 62 |
. . . . . . . . 9
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  |
36 | 35 | r19.21bi 2759 |
. . . . . . . 8
 
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
37 | 25, 36 | fprodcl 14018 |
. . . . . . 7
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  |
38 | | csbeq1 3368 |
. . . . . . . . 9
   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
39 | | csbeq1 3368 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
40 | 39 | adantr 467 |
. . . . . . . . 9
 
  ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   |
41 | 38, 40 | prodeq12dv 13992 |
. . . . . . . 8
 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   |
42 | 41 | prodsn 14028 |
. . . . . . 7
    ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
       ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif) 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
43 | 17, 37, 42 | syl2anc 667 |
. . . . . 6
       ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif) 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   |
44 | | nfcv 2594 |
. . . . . . . 8
  
 ![]_ ]_](_urbrack.gif)  |
45 | | nfcsb1v 3381 |
. . . . . . . 8
  
 ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
46 | | csbeq1a 3374 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
47 | 44, 45, 46 | cbvprodi 13983 |
. . . . . . 7
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif) 
 ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
48 | | csbeq1 3368 |
. . . . . . . . 9
    
  ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
49 | | snfi 7655 |
. . . . . . . . . 10
   |
50 | | xpfi 7847 |
. . . . . . . . . 10
      ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)    |
51 | 49, 25, 50 | sylancr 670 |
. . . . . . . . 9
      ![]_ ]_](_urbrack.gif)    |
52 | | 2ndconst 6890 |
. . . . . . . . . 10
       ![]_ ]_](_urbrack.gif)          ![]_ ]_](_urbrack.gif)      ![]_ ]_](_urbrack.gif)   |
53 | 17, 52 | syl 17 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)          ![]_ ]_](_urbrack.gif)      ![]_ ]_](_urbrack.gif)   |
54 | | fvres 5884 |
. . . . . . . . . 10
      ![]_ ]_](_urbrack.gif) 
       ![]_ ]_](_urbrack.gif)            |
55 | 54 | adantl 468 |
. . . . . . . . 9
 
     ![]_ ]_](_urbrack.gif)          ![]_ ]_](_urbrack.gif)            |
56 | 45 | nfel1 2608 |
. . . . . . . . . . 11
    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
 |
57 | 46 | eleq1d 2515 |
. . . . . . . . . . 11
  
 ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
   |
58 | 56, 57 | rspc 3146 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
   |
59 | 35, 58 | mpan9 472 |
. . . . . . . . 9
 
  ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
60 | 48, 51, 53, 55, 59 | fprodf1o 14012 |
. . . . . . . 8
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
61 | | elxp 4854 |
. . . . . . . . . . . 12
      ![]_ ]_](_urbrack.gif)               ![]_ ]_](_urbrack.gif)     |
62 | | nfv 1763 |
. . . . . . . . . . . . . . 15
     |
63 | | nfv 1763 |
. . . . . . . . . . . . . . . 16
    |
64 | 20 | nfcri 2588 |
. . . . . . . . . . . . . . . 16
   ![]_ ]_](_urbrack.gif)  |
65 | 63, 64 | nfan 2013 |
. . . . . . . . . . . . . . 15
       ![]_ ]_](_urbrack.gif)   |
66 | 62, 65 | nfan 2013 |
. . . . . . . . . . . . . 14
           ![]_ ]_](_urbrack.gif)    |
67 | 66 | nfex 2033 |
. . . . . . . . . . . . 13
          
  ![]_ ]_](_urbrack.gif)    |
68 | | nfv 1763 |
. . . . . . . . . . . . 13
            |
69 | | opeq1 4169 |
. . . . . . . . . . . . . . . 16
         |
70 | 69 | eqeq2d 2463 |
. . . . . . . . . . . . . . 15
    
      |
71 | | eleq1 2519 |
. . . . . . . . . . . . . . . . . 18
         |
72 | | elsn 3984 |
. . . . . . . . . . . . . . . . . 18
     |
73 | 71, 72 | syl6bb 265 |
. . . . . . . . . . . . . . . . 17
       |
74 | 73 | anbi1d 712 |
. . . . . . . . . . . . . . . 16
       ![]_ ]_](_urbrack.gif) 

  ![]_ ]_](_urbrack.gif)     |
75 | 22 | eleq2d 2516 |
. . . . . . . . . . . . . . . . 17
 
  ![]_ ]_](_urbrack.gif)    |
76 | 75 | pm5.32i 643 |
. . . . . . . . . . . . . . . 16
 
 
  ![]_ ]_](_urbrack.gif)    |
77 | 74, 76 | syl6bbr 267 |
. . . . . . . . . . . . . . 15
       ![]_ ]_](_urbrack.gif) 

    |
78 | 70, 77 | anbi12d 718 |
. . . . . . . . . . . . . 14
           ![]_ ]_](_urbrack.gif)  
          |
79 | 78 | exbidv 1770 |
. . . . . . . . . . . . 13
             ![]_ ]_](_urbrack.gif)  
      
     |
80 | 67, 68, 79 | cbvex 2117 |
. . . . . . . . . . . 12
              ![]_ ]_](_urbrack.gif)  
             |
81 | 61, 80 | bitri 253 |
. . . . . . . . . . 11
      ![]_ ]_](_urbrack.gif)          
    |
82 | | nfv 1763 |
. . . . . . . . . . . 12
   |
83 | | nfcv 2594 |
. . . . . . . . . . . . . 14
       |
84 | 83, 28 | nfcsb 3383 |
. . . . . . . . . . . . 13
        ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
85 | 84 | nfeq2 2609 |
. . . . . . . . . . . 12
       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
86 | | nfv 1763 |
. . . . . . . . . . . . 13
   |
87 | | nfcsb1v 3381 |
. . . . . . . . . . . . . 14
        ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
88 | 87 | nfeq2 2609 |
. . . . . . . . . . . . 13
       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)  |
89 | | fprod2d.1 |
. . . . . . . . . . . . . . . 16
      |
90 | 89 | ad2antlr 734 |
. . . . . . . . . . . . . . 15
      

 
  |
91 | 31 | ad2antrl 735 |
. . . . . . . . . . . . . . 15
      

 
  ![]_ ]_](_urbrack.gif)   |
92 | | fveq2 5870 |
. . . . . . . . . . . . . . . . . 18
                 |
93 | | vex 3050 |
. . . . . . . . . . . . . . . . . . 19
 |
94 | | vex 3050 |
. . . . . . . . . . . . . . . . . . 19
 |
95 | 93, 94 | op2nd 6807 |
. . . . . . . . . . . . . . . . . 18
      
 |
96 | 92, 95 | syl6req 2504 |
. . . . . . . . . . . . . . . . 17
          |
97 | 96 | ad2antlr 734 |
. . . . . . . . . . . . . . . 16
      

 
      |
98 | | csbeq1a 3374 |
. . . . . . . . . . . . . . . 16
    
  ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
99 | 97, 98 | syl 17 |
. . . . . . . . . . . . . . 15
      

 
  ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
100 | 90, 91, 99 | 3eqtrd 2491 |
. . . . . . . . . . . . . 14
      

 
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
101 | 100 | expl 624 |
. . . . . . . . . . . . 13
               ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
102 | 86, 88, 101 | exlimd 1999 |
. . . . . . . . . . . 12
        
 
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
103 | 82, 85, 102 | exlimd 1999 |
. . . . . . . . . . 11
                   ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
104 | 81, 103 | syl5bi 221 |
. . . . . . . . . 10
       ![]_ ]_](_urbrack.gif)        ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)    |
105 | 104 | imp 431 |
. . . . . . . . 9
 
     ![]_ ]_](_urbrack.gif)  
      ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
106 | 105 | prodeq2dv 13989 |
. . . . . . . 8
       ![]_ ]_](_urbrack.gif)   
     ![]_ ]_](_urbrack.gif)         ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)   |
107 | 60, 106 | eqtr4d 2490 |
. . . . . . 7
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)   ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)     |
108 | 47, 107 | syl5eq 2499 |
. . . . . 6
   ![]_ ]_](_urbrack.gif)  
 ![]_ ]_](_urbrack.gif)
      ![]_ ]_](_urbrack.gif)     |
109 | 43, 108 | eqtrd 2487 |
. . . . 5
       ![]_ ]_](_urbrack.gif)    ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)     |
110 | 12, 109 | syl5eq 2499 |
. . . 4
     
      ![]_ ]_](_urbrack.gif)     |
111 | 110 | adantr 467 |
. . 3
 
     
      ![]_ ]_](_urbrack.gif)     |
112 | 3, 111 | oveq12d 6313 |
. 2
 
        
              ![]_ ]_](_urbrack.gif)      |
113 | | fprod2d.5 |
. . . . 5
   |
114 | | disjsn 4034 |
. . . . 5
    
  |
115 | 113, 114 | sylibr 216 |
. . . 4
       |
116 | | eqidd 2454 |
. . . 4
           |
117 | | fprod2d.2 |
. . . . 5
   |
118 | | ssfi 7797 |
. . . . 5
  
   
      |
119 | 117, 13, 118 | syl2anc 667 |
. . . 4
       |
120 | 13 | sselda 3434 |
. . . . 5
 

      |
121 | 26 | anassrs 654 |
. . . . . 6
       |
122 | 18, 121 | fprodcl 14018 |
. . . . 5
 
    |
123 | 120, 122 | syldan 473 |
. . . 4
 

       |
124 | 115, 116,
119, 123 | fprodsplit 14032 |
. . 3
       
       
   |
125 | 124 | adantr 467 |
. 2
 
       
       
   |
126 | | eliun 4286 |
. . . . . . . . . 10
      
      |
127 | | xp1st 6828 |
. . . . . . . . . . . . . 14
             |
128 | | elsni 3995 |
. . . . . . . . . . . . . 14
             |
129 | 127, 128 | syl 17 |
. . . . . . . . . . . . 13
           |
130 | 129 | eleq1d 2515 |
. . . . . . . . . . . 12
             |
131 | 130 | biimparc 490 |
. . . . . . . . . . 11
 
           |
132 | 131 | rexlimiva 2877 |
. . . . . . . . . 10
            |
133 | 126, 132 | sylbi 199 |
. . . . . . . . 9
            |
134 | | xp1st 6828 |
. . . . . . . . 9
      ![]_ ]_](_urbrack.gif) 
        |
135 | 133, 134 | anim12i 570 |
. . . . . . . 8
  
   
     ![]_ ]_](_urbrack.gif)                 |
136 | | elin 3619 |
. . . . . . . 8
  
   
     ![]_ ]_](_urbrack.gif)  
           ![]_ ]_](_urbrack.gif)     |
137 | | elin 3619 |
. . . . . . . 8
                       |
138 | 135, 136,
137 | 3imtr4i 270 |
. . . . . . 7
  
   
     ![]_ ]_](_urbrack.gif)             |
139 | 115 | eleq2d 2516 |
. . . . . . . 8
                 |
140 | | noel 3737 |
. . . . . . . . 9
     |
141 | 140 | pm2.21i 135 |
. . . . . . . 8
    
  |
142 | 139, 141 | syl6bi 232 |
. . . . . . 7
         
   |
143 | 138, 142 | syl5 33 |
. . . . . 6
             ![]_ ]_](_urbrack.gif)      |
144 | 143 | ssrdv 3440 |
. . . . 5
            ![]_ ]_](_urbrack.gif)     |
145 | | ss0 3767 |
. . . . 5
            ![]_ ]_](_urbrack.gif)              ![]_ ]_](_urbrack.gif)     |
146 | 144, 145 | syl 17 |
. . . 4
            ![]_ ]_](_urbrack.gif)     |
147 | | iunxun 4366 |
. . . . . 6
                
        |
148 | | nfcv 2594 |
. . . . . . . . 9
       |
149 | | nfcv 2594 |
. . . . . . . . . 10
     |
150 | 149, 5 | nfxp 4864 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)   |
151 | | sneq 3980 |
. . . . . . . . . 10
       |
152 | 151, 8 | xpeq12d 4862 |
. . . . . . . . 9
          ![]_ ]_](_urbrack.gif)    |
153 | 148, 150,
152 | cbviun 4318 |
. . . . . . . 8
       
       ![]_ ]_](_urbrack.gif)   |
154 | | sneq 3980 |
. . . . . . . . . 10
  
    |
155 | 154, 38 | xpeq12d 4862 |
. . . . . . . . 9
      ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)    |
156 | 15, 155 | iunxsn 4364 |
. . . . . . . 8
        ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
157 | 153, 156 | eqtri 2475 |
. . . . . . 7
            ![]_ ]_](_urbrack.gif)   |
158 | 157 | uneq2i 3587 |
. . . . . 6
 
    
        
         ![]_ ]_](_urbrack.gif)    |
159 | 147, 158 | eqtri 2475 |
. . . . 5
                     ![]_ ]_](_urbrack.gif)    |
160 | 159 | a1i 11 |
. . . 4
            
         ![]_ ]_](_urbrack.gif)     |
161 | | snfi 7655 |
. . . . . . 7
   |
162 | 120, 18 | syldan 473 |
. . . . . . 7
 

   
  |
163 | | xpfi 7847 |
. . . . . . 7
           |
164 | 161, 162,
163 | sylancr 670 |
. . . . . 6
 

          |
165 | 164 | ralrimiva 2804 |
. . . . 5
             |
166 | | iunfi 7867 |
. . . . 5
     
                       |
167 | 119, 165,
166 | syl2anc 667 |
. . . 4
             |
168 | | eliun 4286 |
. . . . . 6
          
            |
169 | | elxp 4854 |
. . . . . . . 8
                    |
170 | | simprl 765 |
. . . . . . . . . . . . 13
                       |
171 | | simprrl 775 |
. . . . . . . . . . . . . . 15
                      |
172 | | elsni 3995 |
. . . . . . . . . . . . . . 15
     |
173 | 171, 172 | syl 17 |
. . . . . . . . . . . . . 14
                    |
174 | 173 | opeq1d 4175 |
. . . . . . . . . . . . 13
                    
     |
175 | 170, 174 | eqtrd 2487 |
. . . . . . . . . . . 12
                       |
176 | 175, 89 | syl 17 |
. . . . . . . . . . 11
                    |
177 | | simpll 761 |
. . . . . . . . . . . 12
                    |
178 | 120 | adantr 467 |
. . . . . . . . . . . 12
                    |
179 | | simprrr 776 |
. . . . . . . . . . . 12
                    |
180 | 177, 178,
179, 26 | syl12anc 1267 |
. . . . . . . . . . 11
                    |
181 | 176, 180 | eqeltrd 2531 |
. . . . . . . . . 10
                    |
182 | 181 | ex 436 |
. . . . . . . . 9
 

             
   |
183 | 182 | exlimdvv 1782 |
. . . . . . . 8
 

                 
   |
184 | 169, 183 | syl5bi 221 |
. . . . . . 7
 

            |
185 | 184 | rexlimdva 2881 |
. . . . . 6
               |
186 | 168, 185 | syl5bi 221 |
. . . . 5
  
        
   |
187 | 186 | imp 431 |
. . . 4
 
          
  |
188 | 146, 160,
167, 187 | fprodsplit 14032 |
. . 3
 
                       ![]_ ]_](_urbrack.gif)      |
189 | 188 | adantr 467 |
. 2
 
 
                       ![]_ ]_](_urbrack.gif)      |
190 | 112, 125,
189 | 3eqtr4d 2497 |
1
 
       
             |