| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							fucof21.o | 
							 |-  ( ph -> ( <. C , D >. o.F E ) = <. O , P >. )  | 
						
						
							| 2 | 
							
								
							 | 
							fucof21.t | 
							 |-  T = ( ( D FuncCat E ) Xc. ( C FuncCat D ) )  | 
						
						
							| 3 | 
							
								
							 | 
							fucof21.j | 
							 |-  J = ( Hom ` T )  | 
						
						
							| 4 | 
							
								
							 | 
							fucof21.w | 
							 |-  ( ph -> W = ( ( D Func E ) X. ( C Func D ) ) )  | 
						
						
							| 5 | 
							
								
							 | 
							fucof21.u | 
							 |-  ( ph -> U e. W )  | 
						
						
							| 6 | 
							
								
							 | 
							fucof21.v | 
							 |-  ( ph -> V e. W )  | 
						
						
							| 7 | 
							
								
							 | 
							relfunc | 
							 |-  Rel ( D Func E )  | 
						
						
							| 8 | 
							
								
							 | 
							relfunc | 
							 |-  Rel ( C Func D )  | 
						
						
							| 9 | 
							
								4 5 7 8
							 | 
							fuco2eld3 | 
							 |-  ( ph -> ( ( 1st ` ( 1st ` U ) ) ( D Func E ) ( 2nd ` ( 1st ` U ) ) /\ ( 1st ` ( 2nd ` U ) ) ( C Func D ) ( 2nd ` ( 2nd ` U ) ) ) )  | 
						
						
							| 10 | 
							
								9
							 | 
							simprd | 
							 |-  ( ph -> ( 1st ` ( 2nd ` U ) ) ( C Func D ) ( 2nd ` ( 2nd ` U ) ) )  | 
						
						
							| 11 | 
							
								9
							 | 
							simpld | 
							 |-  ( ph -> ( 1st ` ( 1st ` U ) ) ( D Func E ) ( 2nd ` ( 1st ` U ) ) )  | 
						
						
							| 12 | 
							
								4 5 7 8
							 | 
							fuco2eld2 | 
							 |-  ( ph -> U = <. <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. , <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. >. )  | 
						
						
							| 13 | 
							
								4 6 7 8
							 | 
							fuco2eld3 | 
							 |-  ( ph -> ( ( 1st ` ( 1st ` V ) ) ( D Func E ) ( 2nd ` ( 1st ` V ) ) /\ ( 1st ` ( 2nd ` V ) ) ( C Func D ) ( 2nd ` ( 2nd ` V ) ) ) )  | 
						
						
							| 14 | 
							
								13
							 | 
							simprd | 
							 |-  ( ph -> ( 1st ` ( 2nd ` V ) ) ( C Func D ) ( 2nd ` ( 2nd ` V ) ) )  | 
						
						
							| 15 | 
							
								13
							 | 
							simpld | 
							 |-  ( ph -> ( 1st ` ( 1st ` V ) ) ( D Func E ) ( 2nd ` ( 1st ` V ) ) )  | 
						
						
							| 16 | 
							
								4 6 7 8
							 | 
							fuco2eld2 | 
							 |-  ( ph -> V = <. <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. , <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. >. )  | 
						
						
							| 17 | 
							
								1 10 11 12 14 15 16
							 | 
							fuco21 | 
							 |-  ( ph -> ( U P V ) = ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) , a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) |-> ( x e. ( Base ` C ) |-> ( ( b ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ( <. ( ( 1st ` ( 1st ` U ) ) ` ( ( 1st ` ( 2nd ` U ) ) ` x ) ) , ( ( 1st ` ( 1st ` U ) ) ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) >. ( comp ` E ) ( ( 1st ` ( 1st ` V ) ) ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ) ( ( ( ( 1st ` ( 2nd ` U ) ) ` x ) ( 2nd ` ( 1st ` U ) ) ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ` ( a ` x ) ) ) ) ) )  | 
						
						
							| 18 | 
							
								1
							 | 
							adantr | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> ( <. C , D >. o.F E ) = <. O , P >. )  | 
						
						
							| 19 | 
							
								12
							 | 
							adantr | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> U = <. <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. , <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. >. )  | 
						
						
							| 20 | 
							
								16
							 | 
							adantr | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> V = <. <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. , <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. >. )  | 
						
						
							| 21 | 
							
								
							 | 
							simprr | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) )  | 
						
						
							| 22 | 
							
								
							 | 
							simprl | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) )  | 
						
						
							| 23 | 
							
								18 19 20 21 22
							 | 
							fuco22 | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> ( b ( U P V ) a ) = ( x e. ( Base ` C ) |-> ( ( b ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ( <. ( ( 1st ` ( 1st ` U ) ) ` ( ( 1st ` ( 2nd ` U ) ) ` x ) ) , ( ( 1st ` ( 1st ` U ) ) ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) >. ( comp ` E ) ( ( 1st ` ( 1st ` V ) ) ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ) ( ( ( ( 1st ` ( 2nd ` U ) ) ` x ) ( 2nd ` ( 1st ` U ) ) ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ` ( a ` x ) ) ) ) )  | 
						
						
							| 24 | 
							
								18 21 22 19 20
							 | 
							fuco22nat | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> ( b ( U P V ) a ) e. ( ( O ` U ) ( C Nat E ) ( O ` V ) ) )  | 
						
						
							| 25 | 
							
								23 24
							 | 
							eqeltrrd | 
							 |-  ( ( ph /\ ( b e. ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) /\ a e. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) ) -> ( x e. ( Base ` C ) |-> ( ( b ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ( <. ( ( 1st ` ( 1st ` U ) ) ` ( ( 1st ` ( 2nd ` U ) ) ` x ) ) , ( ( 1st ` ( 1st ` U ) ) ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) >. ( comp ` E ) ( ( 1st ` ( 1st ` V ) ) ` ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ) ( ( ( ( 1st ` ( 2nd ` U ) ) ` x ) ( 2nd ` ( 1st ` U ) ) ( ( 1st ` ( 2nd ` V ) ) ` x ) ) ` ( a ` x ) ) ) ) e. ( ( O ` U ) ( C Nat E ) ( O ` V ) ) )  | 
						
						
							| 26 | 
							
								2
							 | 
							xpcfucbas | 
							 |-  ( ( D Func E ) X. ( C Func D ) ) = ( Base ` T )  | 
						
						
							| 27 | 
							
								5 4
							 | 
							eleqtrd | 
							 |-  ( ph -> U e. ( ( D Func E ) X. ( C Func D ) ) )  | 
						
						
							| 28 | 
							
								6 4
							 | 
							eleqtrd | 
							 |-  ( ph -> V e. ( ( D Func E ) X. ( C Func D ) ) )  | 
						
						
							| 29 | 
							
								2 26 3 27 28
							 | 
							xpcfuchom | 
							 |-  ( ph -> ( U J V ) = ( ( ( 1st ` U ) ( D Nat E ) ( 1st ` V ) ) X. ( ( 2nd ` U ) ( C Nat D ) ( 2nd ` V ) ) ) )  | 
						
						
							| 30 | 
							
								12
							 | 
							fveq2d | 
							 |-  ( ph -> ( 1st ` U ) = ( 1st ` <. <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. , <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. >. ) )  | 
						
						
							| 31 | 
							
								
							 | 
							opex | 
							 |-  <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. e. _V  | 
						
						
							| 32 | 
							
								
							 | 
							opex | 
							 |-  <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. e. _V  | 
						
						
							| 33 | 
							
								31 32
							 | 
							op1st | 
							 |-  ( 1st ` <. <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. , <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. >. ) = <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >.  | 
						
						
							| 34 | 
							
								30 33
							 | 
							eqtrdi | 
							 |-  ( ph -> ( 1st ` U ) = <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. )  | 
						
						
							| 35 | 
							
								16
							 | 
							fveq2d | 
							 |-  ( ph -> ( 1st ` V ) = ( 1st ` <. <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. , <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. >. ) )  | 
						
						
							| 36 | 
							
								
							 | 
							opex | 
							 |-  <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. e. _V  | 
						
						
							| 37 | 
							
								
							 | 
							opex | 
							 |-  <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. e. _V  | 
						
						
							| 38 | 
							
								36 37
							 | 
							op1st | 
							 |-  ( 1st ` <. <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. , <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. >. ) = <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >.  | 
						
						
							| 39 | 
							
								35 38
							 | 
							eqtrdi | 
							 |-  ( ph -> ( 1st ` V ) = <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. )  | 
						
						
							| 40 | 
							
								34 39
							 | 
							oveq12d | 
							 |-  ( ph -> ( ( 1st ` U ) ( D Nat E ) ( 1st ` V ) ) = ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) )  | 
						
						
							| 41 | 
							
								12
							 | 
							fveq2d | 
							 |-  ( ph -> ( 2nd ` U ) = ( 2nd ` <. <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. , <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. >. ) )  | 
						
						
							| 42 | 
							
								31 32
							 | 
							op2nd | 
							 |-  ( 2nd ` <. <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. , <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. >. ) = <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >.  | 
						
						
							| 43 | 
							
								41 42
							 | 
							eqtrdi | 
							 |-  ( ph -> ( 2nd ` U ) = <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. )  | 
						
						
							| 44 | 
							
								16
							 | 
							fveq2d | 
							 |-  ( ph -> ( 2nd ` V ) = ( 2nd ` <. <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. , <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. >. ) )  | 
						
						
							| 45 | 
							
								36 37
							 | 
							op2nd | 
							 |-  ( 2nd ` <. <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. , <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. >. ) = <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >.  | 
						
						
							| 46 | 
							
								44 45
							 | 
							eqtrdi | 
							 |-  ( ph -> ( 2nd ` V ) = <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. )  | 
						
						
							| 47 | 
							
								43 46
							 | 
							oveq12d | 
							 |-  ( ph -> ( ( 2nd ` U ) ( C Nat D ) ( 2nd ` V ) ) = ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) )  | 
						
						
							| 48 | 
							
								40 47
							 | 
							xpeq12d | 
							 |-  ( ph -> ( ( ( 1st ` U ) ( D Nat E ) ( 1st ` V ) ) X. ( ( 2nd ` U ) ( C Nat D ) ( 2nd ` V ) ) ) = ( ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) X. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) )  | 
						
						
							| 49 | 
							
								29 48
							 | 
							eqtrd | 
							 |-  ( ph -> ( U J V ) = ( ( <. ( 1st ` ( 1st ` U ) ) , ( 2nd ` ( 1st ` U ) ) >. ( D Nat E ) <. ( 1st ` ( 1st ` V ) ) , ( 2nd ` ( 1st ` V ) ) >. ) X. ( <. ( 1st ` ( 2nd ` U ) ) , ( 2nd ` ( 2nd ` U ) ) >. ( C Nat D ) <. ( 1st ` ( 2nd ` V ) ) , ( 2nd ` ( 2nd ` V ) ) >. ) ) )  | 
						
						
							| 50 | 
							
								17 25 49
							 | 
							fmpodg | 
							 |-  ( ph -> ( U P V ) : ( U J V ) --> ( ( O ` U ) ( C Nat E ) ( O ` V ) ) )  |