| Step | Hyp | Ref | Expression | 
						
							| 1 |  | fnprb.a | ⊢ 𝐴  ∈  V | 
						
							| 2 |  | fnprb.b | ⊢ 𝐵  ∈  V | 
						
							| 3 | 1 | fnsnb | ⊢ ( 𝐹  Fn  { 𝐴 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 } ) | 
						
							| 4 |  | dfsn2 | ⊢ { 𝐴 }  =  { 𝐴 ,  𝐴 } | 
						
							| 5 | 4 | fneq2i | ⊢ ( 𝐹  Fn  { 𝐴 }  ↔  𝐹  Fn  { 𝐴 ,  𝐴 } ) | 
						
							| 6 |  | dfsn2 | ⊢ { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 }  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 } | 
						
							| 7 | 6 | eqeq2i | ⊢ ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 } ) | 
						
							| 8 | 3 5 7 | 3bitr3i | ⊢ ( 𝐹  Fn  { 𝐴 ,  𝐴 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 } ) | 
						
							| 9 | 8 | a1i | ⊢ ( 𝐴  =  𝐵  →  ( 𝐹  Fn  { 𝐴 ,  𝐴 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 } ) ) | 
						
							| 10 |  | preq2 | ⊢ ( 𝐴  =  𝐵  →  { 𝐴 ,  𝐴 }  =  { 𝐴 ,  𝐵 } ) | 
						
							| 11 | 10 | fneq2d | ⊢ ( 𝐴  =  𝐵  →  ( 𝐹  Fn  { 𝐴 ,  𝐴 }  ↔  𝐹  Fn  { 𝐴 ,  𝐵 } ) ) | 
						
							| 12 |  | id | ⊢ ( 𝐴  =  𝐵  →  𝐴  =  𝐵 ) | 
						
							| 13 |  | fveq2 | ⊢ ( 𝐴  =  𝐵  →  ( 𝐹 ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐵 ) ) | 
						
							| 14 | 12 13 | opeq12d | ⊢ ( 𝐴  =  𝐵  →  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉  =  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 ) | 
						
							| 15 | 14 | preq2d | ⊢ ( 𝐴  =  𝐵  →  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 }  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) | 
						
							| 16 | 15 | eqeq2d | ⊢ ( 𝐴  =  𝐵  →  ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) ) | 
						
							| 17 | 9 11 16 | 3bitr3d | ⊢ ( 𝐴  =  𝐵  →  ( 𝐹  Fn  { 𝐴 ,  𝐵 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) ) | 
						
							| 18 |  | fndm | ⊢ ( 𝐹  Fn  { 𝐴 ,  𝐵 }  →  dom  𝐹  =  { 𝐴 ,  𝐵 } ) | 
						
							| 19 |  | fvex | ⊢ ( 𝐹 ‘ 𝐴 )  ∈  V | 
						
							| 20 |  | fvex | ⊢ ( 𝐹 ‘ 𝐵 )  ∈  V | 
						
							| 21 | 19 20 | dmprop | ⊢ dom  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  =  { 𝐴 ,  𝐵 } | 
						
							| 22 | 18 21 | eqtr4di | ⊢ ( 𝐹  Fn  { 𝐴 ,  𝐵 }  →  dom  𝐹  =  dom  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) | 
						
							| 23 | 22 | adantl | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  dom  𝐹  =  dom  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) | 
						
							| 24 | 18 | adantl | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  dom  𝐹  =  { 𝐴 ,  𝐵 } ) | 
						
							| 25 | 24 | eleq2d | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝑥  ∈  dom  𝐹  ↔  𝑥  ∈  { 𝐴 ,  𝐵 } ) ) | 
						
							| 26 |  | vex | ⊢ 𝑥  ∈  V | 
						
							| 27 | 26 | elpr | ⊢ ( 𝑥  ∈  { 𝐴 ,  𝐵 }  ↔  ( 𝑥  =  𝐴  ∨  𝑥  =  𝐵 ) ) | 
						
							| 28 | 1 19 | fvpr1 | ⊢ ( 𝐴  ≠  𝐵  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐴 ) ) | 
						
							| 29 | 28 | adantr | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐴 ) ) | 
						
							| 30 | 29 | eqcomd | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝐹 ‘ 𝐴 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 ) ) | 
						
							| 31 |  | fveq2 | ⊢ ( 𝑥  =  𝐴  →  ( 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝐴 ) ) | 
						
							| 32 |  | fveq2 | ⊢ ( 𝑥  =  𝐴  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 ) ) | 
						
							| 33 | 31 32 | eqeq12d | ⊢ ( 𝑥  =  𝐴  →  ( ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( 𝐹 ‘ 𝐴 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 ) ) ) | 
						
							| 34 | 30 33 | syl5ibrcom | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝑥  =  𝐴  →  ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) | 
						
							| 35 | 2 20 | fvpr2 | ⊢ ( 𝐴  ≠  𝐵  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  =  ( 𝐹 ‘ 𝐵 ) ) | 
						
							| 36 | 35 | adantr | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  =  ( 𝐹 ‘ 𝐵 ) ) | 
						
							| 37 | 36 | eqcomd | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝐹 ‘ 𝐵 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 ) ) | 
						
							| 38 |  | fveq2 | ⊢ ( 𝑥  =  𝐵  →  ( 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝐵 ) ) | 
						
							| 39 |  | fveq2 | ⊢ ( 𝑥  =  𝐵  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 ) ) | 
						
							| 40 | 38 39 | eqeq12d | ⊢ ( 𝑥  =  𝐵  →  ( ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( 𝐹 ‘ 𝐵 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 ) ) ) | 
						
							| 41 | 37 40 | syl5ibrcom | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝑥  =  𝐵  →  ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) | 
						
							| 42 | 34 41 | jaod | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( ( 𝑥  =  𝐴  ∨  𝑥  =  𝐵 )  →  ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) | 
						
							| 43 | 27 42 | biimtrid | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝑥  ∈  { 𝐴 ,  𝐵 }  →  ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) | 
						
							| 44 | 25 43 | sylbid | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝑥  ∈  dom  𝐹  →  ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) | 
						
							| 45 | 44 | ralrimiv | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ∀ 𝑥  ∈  dom  𝐹 ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) | 
						
							| 46 |  | fnfun | ⊢ ( 𝐹  Fn  { 𝐴 ,  𝐵 }  →  Fun  𝐹 ) | 
						
							| 47 | 1 2 19 20 | funpr | ⊢ ( 𝐴  ≠  𝐵  →  Fun  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) | 
						
							| 48 |  | eqfunfv | ⊢ ( ( Fun  𝐹  ∧  Fun  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } )  →  ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ↔  ( dom  𝐹  =  dom  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ∧  ∀ 𝑥  ∈  dom  𝐹 ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) ) | 
						
							| 49 | 46 47 48 | syl2anr | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ↔  ( dom  𝐹  =  dom  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ∧  ∀ 𝑥  ∈  dom  𝐹 ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) ) ) | 
						
							| 50 | 23 45 49 | mpbir2and | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  Fn  { 𝐴 ,  𝐵 } )  →  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) | 
						
							| 51 |  | df-fn | ⊢ ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  Fn  { 𝐴 ,  𝐵 }  ↔  ( Fun  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ∧  dom  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  =  { 𝐴 ,  𝐵 } ) ) | 
						
							| 52 | 47 21 51 | sylanblrc | ⊢ ( 𝐴  ≠  𝐵  →  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  Fn  { 𝐴 ,  𝐵 } ) | 
						
							| 53 |  | fneq1 | ⊢ ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  →  ( 𝐹  Fn  { 𝐴 ,  𝐵 }  ↔  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  Fn  { 𝐴 ,  𝐵 } ) ) | 
						
							| 54 | 53 | biimprd | ⊢ ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  Fn  { 𝐴 ,  𝐵 }  →  𝐹  Fn  { 𝐴 ,  𝐵 } ) ) | 
						
							| 55 | 52 54 | mpan9 | ⊢ ( ( 𝐴  ≠  𝐵  ∧  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } )  →  𝐹  Fn  { 𝐴 ,  𝐵 } ) | 
						
							| 56 | 50 55 | impbida | ⊢ ( 𝐴  ≠  𝐵  →  ( 𝐹  Fn  { 𝐴 ,  𝐵 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) ) | 
						
							| 57 | 17 56 | pm2.61ine | ⊢ ( 𝐹  Fn  { 𝐴 ,  𝐵 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) |