| Step | Hyp | Ref | Expression | 
						
							| 1 |  | snnzg | ⊢ ( 𝐵  ∈  𝑉  →  { 𝐵 }  ≠  ∅ ) | 
						
							| 2 |  | fo1stres | ⊢ ( { 𝐵 }  ≠  ∅  →  ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) : ( 𝐴  ×  { 𝐵 } ) –onto→ 𝐴 ) | 
						
							| 3 | 1 2 | syl | ⊢ ( 𝐵  ∈  𝑉  →  ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) : ( 𝐴  ×  { 𝐵 } ) –onto→ 𝐴 ) | 
						
							| 4 |  | moeq | ⊢ ∃* 𝑥 𝑥  =  〈 𝑦 ,  𝐵 〉 | 
						
							| 5 | 4 | moani | ⊢ ∃* 𝑥 ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) | 
						
							| 6 |  | vex | ⊢ 𝑦  ∈  V | 
						
							| 7 | 6 | brresi | ⊢ ( 𝑥 ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) 𝑦  ↔  ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  𝑥 1st  𝑦 ) ) | 
						
							| 8 |  | fo1st | ⊢ 1st  : V –onto→ V | 
						
							| 9 |  | fofn | ⊢ ( 1st  : V –onto→ V  →  1st   Fn  V ) | 
						
							| 10 | 8 9 | ax-mp | ⊢ 1st   Fn  V | 
						
							| 11 |  | vex | ⊢ 𝑥  ∈  V | 
						
							| 12 |  | fnbrfvb | ⊢ ( ( 1st   Fn  V  ∧  𝑥  ∈  V )  →  ( ( 1st  ‘ 𝑥 )  =  𝑦  ↔  𝑥 1st  𝑦 ) ) | 
						
							| 13 | 10 11 12 | mp2an | ⊢ ( ( 1st  ‘ 𝑥 )  =  𝑦  ↔  𝑥 1st  𝑦 ) | 
						
							| 14 | 13 | anbi2i | ⊢ ( ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  ↔  ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  𝑥 1st  𝑦 ) ) | 
						
							| 15 |  | elxp7 | ⊢ ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ↔  ( 𝑥  ∈  ( V  ×  V )  ∧  ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ∧  ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 } ) ) ) | 
						
							| 16 |  | eleq1 | ⊢ ( ( 1st  ‘ 𝑥 )  =  𝑦  →  ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ↔  𝑦  ∈  𝐴 ) ) | 
						
							| 17 | 16 | biimpac | ⊢ ( ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  𝑦  ∈  𝐴 ) | 
						
							| 18 | 17 | adantlr | ⊢ ( ( ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ∧  ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  𝑦  ∈  𝐴 ) | 
						
							| 19 | 18 | adantll | ⊢ ( ( ( 𝑥  ∈  ( V  ×  V )  ∧  ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ∧  ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 } ) )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  𝑦  ∈  𝐴 ) | 
						
							| 20 |  | elsni | ⊢ ( ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 }  →  ( 2nd  ‘ 𝑥 )  =  𝐵 ) | 
						
							| 21 |  | eqopi | ⊢ ( ( 𝑥  ∈  ( V  ×  V )  ∧  ( ( 1st  ‘ 𝑥 )  =  𝑦  ∧  ( 2nd  ‘ 𝑥 )  =  𝐵 ) )  →  𝑥  =  〈 𝑦 ,  𝐵 〉 ) | 
						
							| 22 | 21 | anass1rs | ⊢ ( ( ( 𝑥  ∈  ( V  ×  V )  ∧  ( 2nd  ‘ 𝑥 )  =  𝐵 )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  𝑥  =  〈 𝑦 ,  𝐵 〉 ) | 
						
							| 23 | 20 22 | sylanl2 | ⊢ ( ( ( 𝑥  ∈  ( V  ×  V )  ∧  ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  𝑥  =  〈 𝑦 ,  𝐵 〉 ) | 
						
							| 24 | 23 | adantlrl | ⊢ ( ( ( 𝑥  ∈  ( V  ×  V )  ∧  ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ∧  ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 } ) )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  𝑥  =  〈 𝑦 ,  𝐵 〉 ) | 
						
							| 25 | 19 24 | jca | ⊢ ( ( ( 𝑥  ∈  ( V  ×  V )  ∧  ( ( 1st  ‘ 𝑥 )  ∈  𝐴  ∧  ( 2nd  ‘ 𝑥 )  ∈  { 𝐵 } ) )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) | 
						
							| 26 | 15 25 | sylanb | ⊢ ( ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  →  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) | 
						
							| 27 | 26 | adantl | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 ) )  →  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) | 
						
							| 28 |  | simprr | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  𝑥  =  〈 𝑦 ,  𝐵 〉 ) | 
						
							| 29 |  | simprl | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  𝑦  ∈  𝐴 ) | 
						
							| 30 |  | snidg | ⊢ ( 𝐵  ∈  𝑉  →  𝐵  ∈  { 𝐵 } ) | 
						
							| 31 | 30 | adantr | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  𝐵  ∈  { 𝐵 } ) | 
						
							| 32 | 29 31 | opelxpd | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  〈 𝑦 ,  𝐵 〉  ∈  ( 𝐴  ×  { 𝐵 } ) ) | 
						
							| 33 | 28 32 | eqeltrd | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  𝑥  ∈  ( 𝐴  ×  { 𝐵 } ) ) | 
						
							| 34 | 28 | fveq2d | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  ( 1st  ‘ 𝑥 )  =  ( 1st  ‘ 〈 𝑦 ,  𝐵 〉 ) ) | 
						
							| 35 |  | simpl | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  𝐵  ∈  𝑉 ) | 
						
							| 36 |  | op1stg | ⊢ ( ( 𝑦  ∈  𝐴  ∧  𝐵  ∈  𝑉 )  →  ( 1st  ‘ 〈 𝑦 ,  𝐵 〉 )  =  𝑦 ) | 
						
							| 37 | 29 35 36 | syl2anc | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  ( 1st  ‘ 〈 𝑦 ,  𝐵 〉 )  =  𝑦 ) | 
						
							| 38 | 34 37 | eqtrd | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  ( 1st  ‘ 𝑥 )  =  𝑦 ) | 
						
							| 39 | 33 38 | jca | ⊢ ( ( 𝐵  ∈  𝑉  ∧  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) )  →  ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 ) ) | 
						
							| 40 | 27 39 | impbida | ⊢ ( 𝐵  ∈  𝑉  →  ( ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  ( 1st  ‘ 𝑥 )  =  𝑦 )  ↔  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) ) | 
						
							| 41 | 14 40 | bitr3id | ⊢ ( 𝐵  ∈  𝑉  →  ( ( 𝑥  ∈  ( 𝐴  ×  { 𝐵 } )  ∧  𝑥 1st  𝑦 )  ↔  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) ) | 
						
							| 42 | 7 41 | bitrid | ⊢ ( 𝐵  ∈  𝑉  →  ( 𝑥 ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) 𝑦  ↔  ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) ) | 
						
							| 43 | 42 | mobidv | ⊢ ( 𝐵  ∈  𝑉  →  ( ∃* 𝑥 𝑥 ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) 𝑦  ↔  ∃* 𝑥 ( 𝑦  ∈  𝐴  ∧  𝑥  =  〈 𝑦 ,  𝐵 〉 ) ) ) | 
						
							| 44 | 5 43 | mpbiri | ⊢ ( 𝐵  ∈  𝑉  →  ∃* 𝑥 𝑥 ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) 𝑦 ) | 
						
							| 45 | 44 | alrimiv | ⊢ ( 𝐵  ∈  𝑉  →  ∀ 𝑦 ∃* 𝑥 𝑥 ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) 𝑦 ) | 
						
							| 46 |  | funcnv2 | ⊢ ( Fun  ◡ ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) )  ↔  ∀ 𝑦 ∃* 𝑥 𝑥 ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) 𝑦 ) | 
						
							| 47 | 45 46 | sylibr | ⊢ ( 𝐵  ∈  𝑉  →  Fun  ◡ ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) ) | 
						
							| 48 |  | dff1o3 | ⊢ ( ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) : ( 𝐴  ×  { 𝐵 } ) –1-1-onto→ 𝐴  ↔  ( ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) : ( 𝐴  ×  { 𝐵 } ) –onto→ 𝐴  ∧  Fun  ◡ ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) ) ) | 
						
							| 49 | 3 47 48 | sylanbrc | ⊢ ( 𝐵  ∈  𝑉  →  ( 1st   ↾  ( 𝐴  ×  { 𝐵 } ) ) : ( 𝐴  ×  { 𝐵 } ) –1-1-onto→ 𝐴 ) |