| Step | Hyp | Ref | Expression | 
						
							| 1 |  | ffvelcdm | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( 𝐹 ‘ 𝑥 )  ∈  ( 𝐶  ↑m  𝐵 ) ) | 
						
							| 2 |  | elmapi | ⊢ ( ( 𝐹 ‘ 𝑥 )  ∈  ( 𝐶  ↑m  𝐵 )  →  ( 𝐹 ‘ 𝑥 ) : 𝐵 ⟶ 𝐶 ) | 
						
							| 3 | 1 2 | syl | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( 𝐹 ‘ 𝑥 ) : 𝐵 ⟶ 𝐶 ) | 
						
							| 4 | 3 | ffvelcdmda | ⊢ ( ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  ∧  𝑦  ∈  𝐵 )  →  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  ∈  𝐶 ) | 
						
							| 5 | 4 | anasss | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 ) )  →  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  ∈  𝐶 ) | 
						
							| 6 | 5 | ralrimivva | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ∀ 𝑥  ∈  𝐴 ∀ 𝑦  ∈  𝐵 ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  ∈  𝐶 ) | 
						
							| 7 |  | df-unc | ⊢ uncurry  𝐹  =  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 } | 
						
							| 8 |  | df-br | ⊢ ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  〈 𝑦 ,  𝑧 〉  ∈  ( 𝐹 ‘ 𝑥 ) ) | 
						
							| 9 |  | elfvdm | ⊢ ( 〈 𝑦 ,  𝑧 〉  ∈  ( 𝐹 ‘ 𝑥 )  →  𝑥  ∈  dom  𝐹 ) | 
						
							| 10 | 8 9 | sylbi | ⊢ ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  →  𝑥  ∈  dom  𝐹 ) | 
						
							| 11 |  | fdm | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  dom  𝐹  =  𝐴 ) | 
						
							| 12 | 11 | eleq2d | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( 𝑥  ∈  dom  𝐹  ↔  𝑥  ∈  𝐴 ) ) | 
						
							| 13 | 10 12 | imbitrid | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  →  𝑥  ∈  𝐴 ) ) | 
						
							| 14 | 13 | pm4.71rd | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  ( 𝑥  ∈  𝐴  ∧  𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 ) ) ) | 
						
							| 15 |  | elmapfun | ⊢ ( ( 𝐹 ‘ 𝑥 )  ∈  ( 𝐶  ↑m  𝐵 )  →  Fun  ( 𝐹 ‘ 𝑥 ) ) | 
						
							| 16 |  | funbrfv2b | ⊢ ( Fun  ( 𝐹 ‘ 𝑥 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  ( 𝑦  ∈  dom  ( 𝐹 ‘ 𝑥 )  ∧  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  =  𝑧 ) ) ) | 
						
							| 17 | 1 15 16 | 3syl | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  ( 𝑦  ∈  dom  ( 𝐹 ‘ 𝑥 )  ∧  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  =  𝑧 ) ) ) | 
						
							| 18 |  | fdm | ⊢ ( ( 𝐹 ‘ 𝑥 ) : 𝐵 ⟶ 𝐶  →  dom  ( 𝐹 ‘ 𝑥 )  =  𝐵 ) | 
						
							| 19 | 1 2 18 | 3syl | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  dom  ( 𝐹 ‘ 𝑥 )  =  𝐵 ) | 
						
							| 20 | 19 | eleq2d | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( 𝑦  ∈  dom  ( 𝐹 ‘ 𝑥 )  ↔  𝑦  ∈  𝐵 ) ) | 
						
							| 21 |  | eqcom | ⊢ ( ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  =  𝑧  ↔  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) | 
						
							| 22 | 21 | a1i | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  =  𝑧  ↔  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) | 
						
							| 23 | 20 22 | anbi12d | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( ( 𝑦  ∈  dom  ( 𝐹 ‘ 𝑥 )  ∧  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  =  𝑧 )  ↔  ( 𝑦  ∈  𝐵  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) | 
						
							| 24 | 17 23 | bitrd | ⊢ ( ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  ∧  𝑥  ∈  𝐴 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  ( 𝑦  ∈  𝐵  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) | 
						
							| 25 | 24 | pm5.32da | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( ( 𝑥  ∈  𝐴  ∧  𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 )  ↔  ( 𝑥  ∈  𝐴  ∧  ( 𝑦  ∈  𝐵  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) ) | 
						
							| 26 | 14 25 | bitrd | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  ( 𝑥  ∈  𝐴  ∧  ( 𝑦  ∈  𝐵  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) ) | 
						
							| 27 |  | anass | ⊢ ( ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) )  ↔  ( 𝑥  ∈  𝐴  ∧  ( 𝑦  ∈  𝐵  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) | 
						
							| 28 | 26 27 | bitr4di | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( 𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧  ↔  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) ) ) | 
						
							| 29 | 28 | oprabbidv | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  𝑦 ( 𝐹 ‘ 𝑥 ) 𝑧 }  =  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } ) | 
						
							| 30 | 7 29 | eqtrid | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  uncurry  𝐹  =  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } ) | 
						
							| 31 | 30 | feq1d | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( uncurry  𝐹 : ( 𝐴  ×  𝐵 ) ⟶ 𝐶  ↔  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } : ( 𝐴  ×  𝐵 ) ⟶ 𝐶 ) ) | 
						
							| 32 |  | df-mpo | ⊢ ( 𝑥  ∈  𝐴 ,  𝑦  ∈  𝐵  ↦  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) )  =  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } | 
						
							| 33 | 32 | eqcomi | ⊢ { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) }  =  ( 𝑥  ∈  𝐴 ,  𝑦  ∈  𝐵  ↦  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) | 
						
							| 34 | 33 | fmpo | ⊢ ( ∀ 𝑥  ∈  𝐴 ∀ 𝑦  ∈  𝐵 ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  ∈  𝐶  ↔  { 〈 〈 𝑥 ,  𝑦 〉 ,  𝑧 〉  ∣  ( ( 𝑥  ∈  𝐴  ∧  𝑦  ∈  𝐵 )  ∧  𝑧  =  ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 ) ) } : ( 𝐴  ×  𝐵 ) ⟶ 𝐶 ) | 
						
							| 35 | 31 34 | bitr4di | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  ( uncurry  𝐹 : ( 𝐴  ×  𝐵 ) ⟶ 𝐶  ↔  ∀ 𝑥  ∈  𝐴 ∀ 𝑦  ∈  𝐵 ( ( 𝐹 ‘ 𝑥 ) ‘ 𝑦 )  ∈  𝐶 ) ) | 
						
							| 36 | 6 35 | mpbird | ⊢ ( 𝐹 : 𝐴 ⟶ ( 𝐶  ↑m  𝐵 )  →  uncurry  𝐹 : ( 𝐴  ×  𝐵 ) ⟶ 𝐶 ) |