| Step | Hyp | Ref | Expression | 
						
							| 1 |  | opelxpi |  |-  ( ( x e. A /\ y e. B ) -> <. x , y >. e. ( A X. B ) ) | 
						
							| 2 |  | ffvelcdm |  |-  ( ( F : ( A X. B ) --> C /\ <. x , y >. e. ( A X. B ) ) -> ( F ` <. x , y >. ) e. C ) | 
						
							| 3 | 1 2 | sylan2 |  |-  ( ( F : ( A X. B ) --> C /\ ( x e. A /\ y e. B ) ) -> ( F ` <. x , y >. ) e. C ) | 
						
							| 4 | 3 | anassrs |  |-  ( ( ( F : ( A X. B ) --> C /\ x e. A ) /\ y e. B ) -> ( F ` <. x , y >. ) e. C ) | 
						
							| 5 | 4 | fmpttd |  |-  ( ( F : ( A X. B ) --> C /\ x e. A ) -> ( y e. B |-> ( F ` <. x , y >. ) ) : B --> C ) | 
						
							| 6 | 5 | 3ad2antl1 |  |-  ( ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) /\ x e. A ) -> ( y e. B |-> ( F ` <. x , y >. ) ) : B --> C ) | 
						
							| 7 |  | elmapg |  |-  ( ( C e. W /\ B e. ( V \ { (/) } ) ) -> ( ( y e. B |-> ( F ` <. x , y >. ) ) e. ( C ^m B ) <-> ( y e. B |-> ( F ` <. x , y >. ) ) : B --> C ) ) | 
						
							| 8 | 7 | ancoms |  |-  ( ( B e. ( V \ { (/) } ) /\ C e. W ) -> ( ( y e. B |-> ( F ` <. x , y >. ) ) e. ( C ^m B ) <-> ( y e. B |-> ( F ` <. x , y >. ) ) : B --> C ) ) | 
						
							| 9 | 8 | 3adant1 |  |-  ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) -> ( ( y e. B |-> ( F ` <. x , y >. ) ) e. ( C ^m B ) <-> ( y e. B |-> ( F ` <. x , y >. ) ) : B --> C ) ) | 
						
							| 10 | 9 | adantr |  |-  ( ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) /\ x e. A ) -> ( ( y e. B |-> ( F ` <. x , y >. ) ) e. ( C ^m B ) <-> ( y e. B |-> ( F ` <. x , y >. ) ) : B --> C ) ) | 
						
							| 11 | 6 10 | mpbird |  |-  ( ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) /\ x e. A ) -> ( y e. B |-> ( F ` <. x , y >. ) ) e. ( C ^m B ) ) | 
						
							| 12 | 11 | fmpttd |  |-  ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) -> ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) : A --> ( C ^m B ) ) | 
						
							| 13 |  | eldifsni |  |-  ( B e. ( V \ { (/) } ) -> B =/= (/) ) | 
						
							| 14 |  | df-cur |  |-  curry F = ( x e. dom dom F |-> { <. y , z >. | <. x , y >. F z } ) | 
						
							| 15 |  | fdm |  |-  ( F : ( A X. B ) --> C -> dom F = ( A X. B ) ) | 
						
							| 16 | 15 | dmeqd |  |-  ( F : ( A X. B ) --> C -> dom dom F = dom ( A X. B ) ) | 
						
							| 17 |  | dmxp |  |-  ( B =/= (/) -> dom ( A X. B ) = A ) | 
						
							| 18 | 16 17 | sylan9eq |  |-  ( ( F : ( A X. B ) --> C /\ B =/= (/) ) -> dom dom F = A ) | 
						
							| 19 | 18 | mpteq1d |  |-  ( ( F : ( A X. B ) --> C /\ B =/= (/) ) -> ( x e. dom dom F |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. A |-> { <. y , z >. | <. x , y >. F z } ) ) | 
						
							| 20 |  | ffun |  |-  ( F : ( A X. B ) --> C -> Fun F ) | 
						
							| 21 |  | funbrfv2b |  |-  ( Fun F -> ( <. x , y >. F z <-> ( <. x , y >. e. dom F /\ ( F ` <. x , y >. ) = z ) ) ) | 
						
							| 22 | 20 21 | syl |  |-  ( F : ( A X. B ) --> C -> ( <. x , y >. F z <-> ( <. x , y >. e. dom F /\ ( F ` <. x , y >. ) = z ) ) ) | 
						
							| 23 | 15 | eleq2d |  |-  ( F : ( A X. B ) --> C -> ( <. x , y >. e. dom F <-> <. x , y >. e. ( A X. B ) ) ) | 
						
							| 24 |  | opelxp |  |-  ( <. x , y >. e. ( A X. B ) <-> ( x e. A /\ y e. B ) ) | 
						
							| 25 | 23 24 | bitrdi |  |-  ( F : ( A X. B ) --> C -> ( <. x , y >. e. dom F <-> ( x e. A /\ y e. B ) ) ) | 
						
							| 26 | 25 | anbi1d |  |-  ( F : ( A X. B ) --> C -> ( ( <. x , y >. e. dom F /\ ( F ` <. x , y >. ) = z ) <-> ( ( x e. A /\ y e. B ) /\ ( F ` <. x , y >. ) = z ) ) ) | 
						
							| 27 | 22 26 | bitrd |  |-  ( F : ( A X. B ) --> C -> ( <. x , y >. F z <-> ( ( x e. A /\ y e. B ) /\ ( F ` <. x , y >. ) = z ) ) ) | 
						
							| 28 |  | ibar |  |-  ( x e. A -> ( ( y e. B /\ z = ( F ` <. x , y >. ) ) <-> ( x e. A /\ ( y e. B /\ z = ( F ` <. x , y >. ) ) ) ) ) | 
						
							| 29 |  | anass |  |-  ( ( ( x e. A /\ y e. B ) /\ z = ( F ` <. x , y >. ) ) <-> ( x e. A /\ ( y e. B /\ z = ( F ` <. x , y >. ) ) ) ) | 
						
							| 30 |  | eqcom |  |-  ( z = ( F ` <. x , y >. ) <-> ( F ` <. x , y >. ) = z ) | 
						
							| 31 | 30 | anbi2i |  |-  ( ( ( x e. A /\ y e. B ) /\ z = ( F ` <. x , y >. ) ) <-> ( ( x e. A /\ y e. B ) /\ ( F ` <. x , y >. ) = z ) ) | 
						
							| 32 | 29 31 | bitr3i |  |-  ( ( x e. A /\ ( y e. B /\ z = ( F ` <. x , y >. ) ) ) <-> ( ( x e. A /\ y e. B ) /\ ( F ` <. x , y >. ) = z ) ) | 
						
							| 33 | 28 32 | bitr2di |  |-  ( x e. A -> ( ( ( x e. A /\ y e. B ) /\ ( F ` <. x , y >. ) = z ) <-> ( y e. B /\ z = ( F ` <. x , y >. ) ) ) ) | 
						
							| 34 | 27 33 | sylan9bb |  |-  ( ( F : ( A X. B ) --> C /\ x e. A ) -> ( <. x , y >. F z <-> ( y e. B /\ z = ( F ` <. x , y >. ) ) ) ) | 
						
							| 35 | 34 | opabbidv |  |-  ( ( F : ( A X. B ) --> C /\ x e. A ) -> { <. y , z >. | <. x , y >. F z } = { <. y , z >. | ( y e. B /\ z = ( F ` <. x , y >. ) ) } ) | 
						
							| 36 |  | df-mpt |  |-  ( y e. B |-> ( F ` <. x , y >. ) ) = { <. y , z >. | ( y e. B /\ z = ( F ` <. x , y >. ) ) } | 
						
							| 37 | 35 36 | eqtr4di |  |-  ( ( F : ( A X. B ) --> C /\ x e. A ) -> { <. y , z >. | <. x , y >. F z } = ( y e. B |-> ( F ` <. x , y >. ) ) ) | 
						
							| 38 | 37 | mpteq2dva |  |-  ( F : ( A X. B ) --> C -> ( x e. A |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) ) | 
						
							| 39 | 38 | adantr |  |-  ( ( F : ( A X. B ) --> C /\ B =/= (/) ) -> ( x e. A |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) ) | 
						
							| 40 | 19 39 | eqtrd |  |-  ( ( F : ( A X. B ) --> C /\ B =/= (/) ) -> ( x e. dom dom F |-> { <. y , z >. | <. x , y >. F z } ) = ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) ) | 
						
							| 41 | 14 40 | eqtrid |  |-  ( ( F : ( A X. B ) --> C /\ B =/= (/) ) -> curry F = ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) ) | 
						
							| 42 | 41 | feq1d |  |-  ( ( F : ( A X. B ) --> C /\ B =/= (/) ) -> ( curry F : A --> ( C ^m B ) <-> ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) : A --> ( C ^m B ) ) ) | 
						
							| 43 | 13 42 | sylan2 |  |-  ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) ) -> ( curry F : A --> ( C ^m B ) <-> ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) : A --> ( C ^m B ) ) ) | 
						
							| 44 | 43 | 3adant3 |  |-  ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) -> ( curry F : A --> ( C ^m B ) <-> ( x e. A |-> ( y e. B |-> ( F ` <. x , y >. ) ) ) : A --> ( C ^m B ) ) ) | 
						
							| 45 | 12 44 | mpbird |  |-  ( ( F : ( A X. B ) --> C /\ B e. ( V \ { (/) } ) /\ C e. W ) -> curry F : A --> ( C ^m B ) ) |