| Step | Hyp | Ref
 | Expression | 
| 1 |   | dffun2 5120 | 
. . . 4
      Swap              Swap       Swap
        
    | 
| 2 |   | opeq 4620 | 
. . . . . . . 8
        Proj1     Proj2    | 
| 3 | 2 | breq2i 4648 | 
. . . . . . 7
     Swap       Swap
  Proj1     Proj2     | 
| 4 |   | vex 2863 | 
. . . . . . . . 9
        | 
| 5 | 4 | proj1ex 4594 | 
. . . . . . . 8
   Proj1       | 
| 6 | 4 | proj2ex 4595 | 
. . . . . . . 8
   Proj2       | 
| 7 | 5, 6 | brswap2 4861 | 
. . . . . . 7
     Swap   Proj1     Proj2            Proj2     Proj1     | 
| 8 | 3, 7 | bitri 240 | 
. . . . . 6
     Swap           Proj2     Proj1     | 
| 9 |   | opeq 4620 | 
. . . . . . . 8
        Proj1     Proj2    | 
| 10 | 9 | breq2i 4648 | 
. . . . . . 7
     Swap       Swap
  Proj1     Proj2     | 
| 11 |   | vex 2863 | 
. . . . . . . . 9
        | 
| 12 | 11 | proj1ex 4594 | 
. . . . . . . 8
   Proj1       | 
| 13 | 11 | proj2ex 4595 | 
. . . . . . . 8
   Proj2       | 
| 14 | 12, 13 | brswap2 4861 | 
. . . . . . 7
     Swap   Proj1     Proj2            Proj2     Proj1     | 
| 15 | 10, 14 | bitri 240 | 
. . . . . 6
     Swap           Proj2     Proj1     | 
| 16 |   | eqtr2 2371 | 
. . . . . . 7
          Proj2     Proj1            Proj2     Proj1         Proj2     Proj1        Proj2
   
Proj1     | 
| 17 |   | ancom 437 | 
. . . . . . . 8
     Proj2      Proj2      Proj1
    
Proj1        Proj1
    
Proj1     
Proj2     
Proj2     | 
| 18 |   | opth 4603 | 
. . . . . . . 8
     Proj2
   
Proj1        Proj2     Proj1        Proj2      Proj2      Proj1      Proj1     | 
| 19 | 2, 9 | eqeq12i 2366 | 
. . . . . . . . 9
             Proj1     Proj2        Proj1
   
Proj2     | 
| 20 |   | opth 4603 | 
. . . . . . . . 9
     Proj1
   
Proj2        Proj1     Proj2        Proj1      Proj1      Proj2      Proj2     | 
| 21 | 19, 20 | bitri 240 | 
. . . . . . . 8
             Proj1
    
Proj1     
Proj2     
Proj2     | 
| 22 | 17, 18, 21 | 3bitr4i 268 | 
. . . . . . 7
     Proj2
   
Proj1        Proj2     Proj1             | 
| 23 | 16, 22 | sylib 188 | 
. . . . . 6
          Proj2     Proj1            Proj2     Proj1              | 
| 24 | 8, 15, 23 | syl2anb 465 | 
. . . . 5
      Swap       Swap             | 
| 25 | 24 | gen2 1547 | 
. . . 4
          Swap       Swap             | 
| 26 | 1, 25 | mpgbir 1550 | 
. . 3
    
Swap  | 
| 27 |   | eqv 3566 | 
. . . 4
      Swap          
       Swap   | 
| 28 |   | opeq 4620 | 
. . . . 5
        Proj1     Proj2    | 
| 29 |   | eqid 2353 | 
. . . . . . 7
    Proj1     Proj2        Proj1
   
Proj2    | 
| 30 |   | vex 2863 | 
. . . . . . . . 9
        | 
| 31 | 30 | proj2ex 4595 | 
. . . . . . . 8
   Proj2       | 
| 32 | 30 | proj1ex 4594 | 
. . . . . . . 8
   Proj1       | 
| 33 | 31, 32 | brswap2 4861 | 
. . . . . . 7
     Proj1
   
Proj2    Swap   Proj2     Proj1        Proj1     Proj2        Proj1     Proj2     | 
| 34 | 29, 33 | mpbir 200 | 
. . . . . 6
    Proj1     Proj2    Swap   Proj2     Proj1    | 
| 35 |   | breldm 4912 | 
. . . . . 6
     Proj1
   
Proj2    Swap   Proj2     Proj1        Proj1     Proj2         Swap   | 
| 36 | 34, 35 | ax-mp 5 | 
. . . . 5
    Proj1     Proj2         Swap
 | 
| 37 | 28, 36 | eqeltri 2423 | 
. . . 4
         Swap  | 
| 38 | 27, 37 | mpgbir 1550 | 
. . 3
    
Swap      | 
| 39 |   | df-fn 4791 | 
. . 3
    Swap
           Swap       Swap 
      | 
| 40 | 26, 38, 39 | mpbir2an 886 | 
. 2
   Swap      | 
| 41 |   | cnvswap 5511 | 
. . . 4
   
Swap     Swap  | 
| 42 | 41 | fneq1i 5179 | 
. . 3
     Swap         Swap       | 
| 43 | 40, 42 | mpbir 200 | 
. 2
   
Swap      | 
| 44 |   | dff1o4 5295 | 
. 2
    Swap
         Swap
         Swap        | 
| 45 | 40, 43, 44 | mpbir2an 886 | 
1
   Swap      |