| Step | Hyp | Ref
| Expression |
| 1 | | relco 4839 |
. 2

  |
| 2 | | funmpt 4958 |
. . 3
   |
| 3 | | funrel 4939 |
. . 3
   
   |
| 4 | 2, 3 | ax-mp 7 |
. 2
   |
| 5 | | fmptco.1 |
. . . . . . . . . . . . 13
 
   |
| 6 | | eqid 2081 |
. . . . . . . . . . . . 13
     |
| 7 | 5, 6 | fmptd 5343 |
. . . . . . . . . . . 12
         |
| 8 | | fmptco.2 |
. . . . . . . . . . . . 13
     |
| 9 | 8 | feq1d 5054 |
. . . . . . . . . . . 12
               |
| 10 | 7, 9 | mpbird 165 |
. . . . . . . . . . 11
       |
| 11 | | ffun 5068 |
. . . . . . . . . . 11
       |
| 12 | 10, 11 | syl 14 |
. . . . . . . . . 10
   |
| 13 | | funbrfv 5233 |
. . . . . . . . . . 11

  
       |
| 14 | 13 | imp 122 |
. . . . . . . . . 10
           |
| 15 | 12, 14 | sylan 277 |
. . . . . . . . 9
 
         |
| 16 | 15 | eqcomd 2086 |
. . . . . . . 8
 
         |
| 17 | 16 | a1d 22 |
. . . . . . 7
 
     
       |
| 18 | 17 | expimpd 355 |
. . . . . 6
               |
| 19 | 18 | pm4.71rd 386 |
. . . . 5
       
               |
| 20 | 19 | exbidv 1746 |
. . . 4
         
                 |
| 21 | | exsimpl 1548 |
. . . . . . 7
       
  
           |
| 22 | | isset 2605 |
. . . . . . 7
    

      |
| 23 | 21, 22 | sylibr 132 |
. . . . . 6
       
  
          |
| 24 | 23 | a1i 9 |
. . . . 5
                       |
| 25 | 12 | adantr 270 |
. . . . . . . 8
 
   |
| 26 | | fdm 5070 |
. . . . . . . . . . 11
       |
| 27 | 10, 26 | syl 14 |
. . . . . . . . . 10
   |
| 28 | 27 | eleq2d 2148 |
. . . . . . . . 9
     |
| 29 | 28 | biimpar 291 |
. . . . . . . 8
 
   |
| 30 | | funfvex 5212 |
. . . . . . . 8
         |
| 31 | 25, 29, 30 | syl2anc 403 |
. . . . . . 7
 
       |
| 32 | 31 | adantrr 462 |
. . . . . 6
 

  ![]_ ]_](_urbrack.gif)         |
| 33 | 32 | ex 113 |
. . . . 5
     ![]_ ]_](_urbrack.gif)         |
| 34 | | breq2 3789 |
. . . . . . . . 9
       
         |
| 35 | | breq1 3788 |
. . . . . . . . 9
       
         |
| 36 | 34, 35 | anbi12d 456 |
. . . . . . . 8
                  
          |
| 37 | 36 | ceqsexgv 2724 |
. . . . . . 7
            
  
                     |
| 38 | | funfvbrb 5301 |
. . . . . . . . . . 11


         |
| 39 | 12, 38 | syl 14 |
. . . . . . . . . 10
           |
| 40 | 39, 28 | bitr3d 188 |
. . . . . . . . 9
           |
| 41 | 8 | fveq1d 5200 |
. . . . . . . . . 10
             |
| 42 | | fmptco.3 |
. . . . . . . . . 10
     |
| 43 | | eqidd 2082 |
. . . . . . . . . 10
   |
| 44 | 41, 42, 43 | breq123d 3799 |
. . . . . . . . 9
                     |
| 45 | 40, 44 | anbi12d 456 |
. . . . . . . 8
        
                      |
| 46 | | nfcv 2219 |
. . . . . . . . . . 11
   |
| 47 | | nfv 1461 |
. . . . . . . . . . . 12
   |
| 48 | | nffvmpt1 5206 |
. . . . . . . . . . . . . 14
         |
| 49 | | nfcv 2219 |
. . . . . . . . . . . . . 14
     |
| 50 | | nfcv 2219 |
. . . . . . . . . . . . . 14
   |
| 51 | 48, 49, 50 | nfbr 3829 |
. . . . . . . . . . . . 13
             |
| 52 | | nfcsb1v 2938 |
. . . . . . . . . . . . . 14
  
 ![]_ ]_](_urbrack.gif)  |
| 53 | 52 | nfeq2 2230 |
. . . . . . . . . . . . 13

  ![]_ ]_](_urbrack.gif)  |
| 54 | 51, 53 | nfbi 1521 |
. . . . . . . . . . . 12
            
  ![]_ ]_](_urbrack.gif)   |
| 55 | 47, 54 | nfim 1504 |
. . . . . . . . . . 11
  
             ![]_ ]_](_urbrack.gif)    |
| 56 | | fveq2 5198 |
. . . . . . . . . . . . . 14
               |
| 57 | 56 | breq1d 3795 |
. . . . . . . . . . . . 13
                         |
| 58 | | csbeq1a 2916 |
. . . . . . . . . . . . . 14
   ![]_ ]_](_urbrack.gif)   |
| 59 | 58 | eqeq2d 2092 |
. . . . . . . . . . . . 13
 
  ![]_ ]_](_urbrack.gif)    |
| 60 | 57, 59 | bibi12d 233 |
. . . . . . . . . . . 12
            

             ![]_ ]_](_urbrack.gif)     |
| 61 | 60 | imbi2d 228 |
. . . . . . . . . . 11
  
                        
  ![]_ ]_](_urbrack.gif)      |
| 62 | | vex 2604 |
. . . . . . . . . . . . . 14
 |
| 63 | | simpl 107 |
. . . . . . . . . . . . . . . . 17
 
   |
| 64 | 63 | eleq1d 2147 |
. . . . . . . . . . . . . . . 16
 
     |
| 65 | | simpr 108 |
. . . . . . . . . . . . . . . . 17
 
   |
| 66 | | fmptco.4 |
. . . . . . . . . . . . . . . . . 18
   |
| 67 | 66 | adantr 270 |
. . . . . . . . . . . . . . . . 17
 
   |
| 68 | 65, 67 | eqeq12d 2095 |
. . . . . . . . . . . . . . . 16
 
     |
| 69 | 64, 68 | anbi12d 456 |
. . . . . . . . . . . . . . 15
 
   

    |
| 70 | | df-mpt 3841 |
. . . . . . . . . . . . . . 15
     

   |
| 71 | 69, 70 | brabga 4019 |
. . . . . . . . . . . . . 14
 
           |
| 72 | 5, 62, 71 | sylancl 404 |
. . . . . . . . . . . . 13
 
      
    |
| 73 | | simpr 108 |
. . . . . . . . . . . . . . 15
 
   |
| 74 | 6 | fvmpt2 5275 |
. . . . . . . . . . . . . . 15
 
         |
| 75 | 73, 5, 74 | syl2anc 403 |
. . . . . . . . . . . . . 14
 
         |
| 76 | 75 | breq1d 3795 |
. . . . . . . . . . . . 13
 
                   |
| 77 | 5 | biantrurd 299 |
. . . . . . . . . . . . 13
 
 

    |
| 78 | 72, 76, 77 | 3bitr4d 218 |
. . . . . . . . . . . 12
 
           
   |
| 79 | 78 | expcom 114 |
. . . . . . . . . . 11
            
    |
| 80 | 46, 55, 61, 79 | vtoclgaf 2663 |
. . . . . . . . . 10
            
  ![]_ ]_](_urbrack.gif)     |
| 81 | 80 | impcom 123 |
. . . . . . . . 9
 
           
  ![]_ ]_](_urbrack.gif)    |
| 82 | 81 | pm5.32da 439 |
. . . . . . . 8
              
  ![]_ ]_](_urbrack.gif)     |
| 83 | 45, 82 | bitrd 186 |
. . . . . . 7
        
          ![]_ ]_](_urbrack.gif)     |
| 84 | 37, 83 | sylan9bbr 450 |
. . . . . 6
 
                   

  ![]_ ]_](_urbrack.gif)     |
| 85 | 84 | ex 113 |
. . . . 5
                    

  ![]_ ]_](_urbrack.gif)      |
| 86 | 24, 33, 85 | pm5.21ndd 653 |
. . . 4
               

  ![]_ ]_](_urbrack.gif)     |
| 87 | 20, 86 | bitrd 186 |
. . 3
         

  ![]_ ]_](_urbrack.gif)     |
| 88 | | vex 2604 |
. . . 4
 |
| 89 | 88, 62 | opelco 4525 |
. . 3
                |
| 90 | | df-mpt 3841 |
. . . . 5
      
   |
| 91 | 90 | eleq2i 2145 |
. . . 4
     
  
    
    |
| 92 | | nfv 1461 |
. . . . . 6

 |
| 93 | 52 | nfeq2 2230 |
. . . . . 6

  ![]_ ]_](_urbrack.gif)  |
| 94 | 92, 93 | nfan 1497 |
. . . . 5
  
  ![]_ ]_](_urbrack.gif)   |
| 95 | | nfv 1461 |
. . . . 5
  
  ![]_ ]_](_urbrack.gif)   |
| 96 | | eleq1 2141 |
. . . . . 6
 
   |
| 97 | 58 | eqeq2d 2092 |
. . . . . 6
 
  ![]_ ]_](_urbrack.gif)    |
| 98 | 96, 97 | anbi12d 456 |
. . . . 5
  
    ![]_ ]_](_urbrack.gif)     |
| 99 | | eqeq1 2087 |
. . . . . 6
    ![]_ ]_](_urbrack.gif)
  ![]_ ]_](_urbrack.gif)    |
| 100 | 99 | anbi2d 451 |
. . . . 5
  
  ![]_ ]_](_urbrack.gif)  
  ![]_ ]_](_urbrack.gif)     |
| 101 | 94, 95, 88, 62, 98, 100 | opelopabf 4029 |
. . . 4
       

 

  ![]_ ]_](_urbrack.gif)    |
| 102 | 91, 101 | bitri 182 |
. . 3
     

  ![]_ ]_](_urbrack.gif)    |
| 103 | 87, 89, 102 | 3bitr4g 221 |
. 2
      
  
     |
| 104 | 1, 4, 103 | eqrelrdv 4454 |
1
       |