| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							fprb.1 | 
							⊢ 𝐴  ∈  V  | 
						
						
							| 2 | 
							
								
							 | 
							fprb.2 | 
							⊢ 𝐵  ∈  V  | 
						
						
							| 3 | 
							
								1
							 | 
							prid1 | 
							⊢ 𝐴  ∈  { 𝐴 ,  𝐵 }  | 
						
						
							| 4 | 
							
								
							 | 
							ffvelcdm | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ∈  { 𝐴 ,  𝐵 } )  →  ( 𝐹 ‘ 𝐴 )  ∈  𝑅 )  | 
						
						
							| 5 | 
							
								3 4
							 | 
							mpan2 | 
							⊢ ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  →  ( 𝐹 ‘ 𝐴 )  ∈  𝑅 )  | 
						
						
							| 6 | 
							
								5
							 | 
							adantr | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ≠  𝐵 )  →  ( 𝐹 ‘ 𝐴 )  ∈  𝑅 )  | 
						
						
							| 7 | 
							
								2
							 | 
							prid2 | 
							⊢ 𝐵  ∈  { 𝐴 ,  𝐵 }  | 
						
						
							| 8 | 
							
								
							 | 
							ffvelcdm | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐵  ∈  { 𝐴 ,  𝐵 } )  →  ( 𝐹 ‘ 𝐵 )  ∈  𝑅 )  | 
						
						
							| 9 | 
							
								7 8
							 | 
							mpan2 | 
							⊢ ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  →  ( 𝐹 ‘ 𝐵 )  ∈  𝑅 )  | 
						
						
							| 10 | 
							
								9
							 | 
							adantr | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ≠  𝐵 )  →  ( 𝐹 ‘ 𝐵 )  ∈  𝑅 )  | 
						
						
							| 11 | 
							
								
							 | 
							fvex | 
							⊢ ( 𝐹 ‘ 𝐴 )  ∈  V  | 
						
						
							| 12 | 
							
								1 11
							 | 
							fvpr1 | 
							⊢ ( 𝐴  ≠  𝐵  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐴 ) )  | 
						
						
							| 13 | 
							
								
							 | 
							fvex | 
							⊢ ( 𝐹 ‘ 𝐵 )  ∈  V  | 
						
						
							| 14 | 
							
								2 13
							 | 
							fvpr2 | 
							⊢ ( 𝐴  ≠  𝐵  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  =  ( 𝐹 ‘ 𝐵 ) )  | 
						
						
							| 15 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  𝐴  →  ( 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝐴 ) )  | 
						
						
							| 16 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  𝐴  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 ) )  | 
						
						
							| 17 | 
							
								15 16
							 | 
							eqeq12d | 
							⊢ ( 𝑥  =  𝐴  →  ( ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( 𝐹 ‘ 𝐴 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 ) ) )  | 
						
						
							| 18 | 
							
								
							 | 
							eqcom | 
							⊢ ( ( 𝐹 ‘ 𝐴 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  ↔  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐴 ) )  | 
						
						
							| 19 | 
							
								17 18
							 | 
							bitrdi | 
							⊢ ( 𝑥  =  𝐴  →  ( ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐴 ) ) )  | 
						
						
							| 20 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  𝐵  →  ( 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝐵 ) )  | 
						
						
							| 21 | 
							
								
							 | 
							fveq2 | 
							⊢ ( 𝑥  =  𝐵  →  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 ) )  | 
						
						
							| 22 | 
							
								20 21
							 | 
							eqeq12d | 
							⊢ ( 𝑥  =  𝐵  →  ( ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( 𝐹 ‘ 𝐵 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 ) ) )  | 
						
						
							| 23 | 
							
								
							 | 
							eqcom | 
							⊢ ( ( 𝐹 ‘ 𝐵 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  ↔  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  =  ( 𝐹 ‘ 𝐵 ) )  | 
						
						
							| 24 | 
							
								22 23
							 | 
							bitrdi | 
							⊢ ( 𝑥  =  𝐵  →  ( ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  =  ( 𝐹 ‘ 𝐵 ) ) )  | 
						
						
							| 25 | 
							
								1 2 19 24
							 | 
							ralpr | 
							⊢ ( ∀ 𝑥  ∈  { 𝐴 ,  𝐵 } ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 )  ↔  ( ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐴 )  =  ( 𝐹 ‘ 𝐴 )  ∧  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝐵 )  =  ( 𝐹 ‘ 𝐵 ) ) )  | 
						
						
							| 26 | 
							
								12 14 25
							 | 
							sylanbrc | 
							⊢ ( 𝐴  ≠  𝐵  →  ∀ 𝑥  ∈  { 𝐴 ,  𝐵 } ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) )  | 
						
						
							| 27 | 
							
								26
							 | 
							adantl | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ≠  𝐵 )  →  ∀ 𝑥  ∈  { 𝐴 ,  𝐵 } ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) )  | 
						
						
							| 28 | 
							
								
							 | 
							ffn | 
							⊢ ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  →  𝐹  Fn  { 𝐴 ,  𝐵 } )  | 
						
						
							| 29 | 
							
								1 2 11 13
							 | 
							fpr | 
							⊢ ( 𝐴  ≠  𝐵  →  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } : { 𝐴 ,  𝐵 } ⟶ { ( 𝐹 ‘ 𝐴 ) ,  ( 𝐹 ‘ 𝐵 ) } )  | 
						
						
							| 30 | 
							
								29
							 | 
							ffnd | 
							⊢ ( 𝐴  ≠  𝐵  →  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  Fn  { 𝐴 ,  𝐵 } )  | 
						
						
							| 31 | 
							
								
							 | 
							eqfnfv | 
							⊢ ( ( 𝐹  Fn  { 𝐴 ,  𝐵 }  ∧  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  Fn  { 𝐴 ,  𝐵 } )  →  ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ↔  ∀ 𝑥  ∈  { 𝐴 ,  𝐵 } ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) )  | 
						
						
							| 32 | 
							
								28 30 31
							 | 
							syl2an | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ≠  𝐵 )  →  ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 }  ↔  ∀ 𝑥  ∈  { 𝐴 ,  𝐵 } ( 𝐹 ‘ 𝑥 )  =  ( { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ‘ 𝑥 ) ) )  | 
						
						
							| 33 | 
							
								27 32
							 | 
							mpbird | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ≠  𝐵 )  →  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } )  | 
						
						
							| 34 | 
							
								
							 | 
							opeq2 | 
							⊢ ( 𝑥  =  ( 𝐹 ‘ 𝐴 )  →  〈 𝐴 ,  𝑥 〉  =  〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 )  | 
						
						
							| 35 | 
							
								34
							 | 
							preq1d | 
							⊢ ( 𝑥  =  ( 𝐹 ‘ 𝐴 )  →  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 }  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  𝑦 〉 } )  | 
						
						
							| 36 | 
							
								35
							 | 
							eqeq2d | 
							⊢ ( 𝑥  =  ( 𝐹 ‘ 𝐴 )  →  ( 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  𝑦 〉 } ) )  | 
						
						
							| 37 | 
							
								
							 | 
							opeq2 | 
							⊢ ( 𝑦  =  ( 𝐹 ‘ 𝐵 )  →  〈 𝐵 ,  𝑦 〉  =  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 )  | 
						
						
							| 38 | 
							
								37
							 | 
							preq2d | 
							⊢ ( 𝑦  =  ( 𝐹 ‘ 𝐵 )  →  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  𝑦 〉 }  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } )  | 
						
						
							| 39 | 
							
								38
							 | 
							eqeq2d | 
							⊢ ( 𝑦  =  ( 𝐹 ‘ 𝐵 )  →  ( 𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  𝑦 〉 }  ↔  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } ) )  | 
						
						
							| 40 | 
							
								36 39
							 | 
							rspc2ev | 
							⊢ ( ( ( 𝐹 ‘ 𝐴 )  ∈  𝑅  ∧  ( 𝐹 ‘ 𝐵 )  ∈  𝑅  ∧  𝐹  =  { 〈 𝐴 ,  ( 𝐹 ‘ 𝐴 ) 〉 ,  〈 𝐵 ,  ( 𝐹 ‘ 𝐵 ) 〉 } )  →  ∃ 𝑥  ∈  𝑅 ∃ 𝑦  ∈  𝑅 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } )  | 
						
						
							| 41 | 
							
								6 10 33 40
							 | 
							syl3anc | 
							⊢ ( ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ∧  𝐴  ≠  𝐵 )  →  ∃ 𝑥  ∈  𝑅 ∃ 𝑦  ∈  𝑅 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } )  | 
						
						
							| 42 | 
							
								41
							 | 
							expcom | 
							⊢ ( 𝐴  ≠  𝐵  →  ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  →  ∃ 𝑥  ∈  𝑅 ∃ 𝑦  ∈  𝑅 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } ) )  | 
						
						
							| 43 | 
							
								
							 | 
							vex | 
							⊢ 𝑥  ∈  V  | 
						
						
							| 44 | 
							
								
							 | 
							vex | 
							⊢ 𝑦  ∈  V  | 
						
						
							| 45 | 
							
								1 2 43 44
							 | 
							fpr | 
							⊢ ( 𝐴  ≠  𝐵  →  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ { 𝑥 ,  𝑦 } )  | 
						
						
							| 46 | 
							
								
							 | 
							prssi | 
							⊢ ( ( 𝑥  ∈  𝑅  ∧  𝑦  ∈  𝑅 )  →  { 𝑥 ,  𝑦 }  ⊆  𝑅 )  | 
						
						
							| 47 | 
							
								
							 | 
							fss | 
							⊢ ( ( { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ { 𝑥 ,  𝑦 }  ∧  { 𝑥 ,  𝑦 }  ⊆  𝑅 )  →  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ 𝑅 )  | 
						
						
							| 48 | 
							
								45 46 47
							 | 
							syl2an | 
							⊢ ( ( 𝐴  ≠  𝐵  ∧  ( 𝑥  ∈  𝑅  ∧  𝑦  ∈  𝑅 ) )  →  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ 𝑅 )  | 
						
						
							| 49 | 
							
								48
							 | 
							ex | 
							⊢ ( 𝐴  ≠  𝐵  →  ( ( 𝑥  ∈  𝑅  ∧  𝑦  ∈  𝑅 )  →  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ 𝑅 ) )  | 
						
						
							| 50 | 
							
								
							 | 
							feq1 | 
							⊢ ( 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 }  →  ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ↔  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ 𝑅 ) )  | 
						
						
							| 51 | 
							
								50
							 | 
							biimprcd | 
							⊢ ( { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } : { 𝐴 ,  𝐵 } ⟶ 𝑅  →  ( 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 }  →  𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅 ) )  | 
						
						
							| 52 | 
							
								49 51
							 | 
							syl6 | 
							⊢ ( 𝐴  ≠  𝐵  →  ( ( 𝑥  ∈  𝑅  ∧  𝑦  ∈  𝑅 )  →  ( 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 }  →  𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅 ) ) )  | 
						
						
							| 53 | 
							
								52
							 | 
							rexlimdvv | 
							⊢ ( 𝐴  ≠  𝐵  →  ( ∃ 𝑥  ∈  𝑅 ∃ 𝑦  ∈  𝑅 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 }  →  𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅 ) )  | 
						
						
							| 54 | 
							
								42 53
							 | 
							impbid | 
							⊢ ( 𝐴  ≠  𝐵  →  ( 𝐹 : { 𝐴 ,  𝐵 } ⟶ 𝑅  ↔  ∃ 𝑥  ∈  𝑅 ∃ 𝑦  ∈  𝑅 𝐹  =  { 〈 𝐴 ,  𝑥 〉 ,  〈 𝐵 ,  𝑦 〉 } ) )  |