This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: As shown in diagval , the currying of the first projection is the diagonal functor. On the other hand, the currying of the second projection is x e. C |-> ( y e. D |-> y ) , which is a constant functor of the identity functor at D . (Contributed by Mario Carneiro, 15-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | curf2ndf.q | ⊢ 𝑄 = ( 𝐷 FuncCat 𝐷 ) | |
| curf2ndf.c | ⊢ ( 𝜑 → 𝐶 ∈ Cat ) | ||
| curf2ndf.d | ⊢ ( 𝜑 → 𝐷 ∈ Cat ) | ||
| Assertion | curf2ndf | ⊢ ( 𝜑 → ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) = ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | curf2ndf.q | ⊢ 𝑄 = ( 𝐷 FuncCat 𝐷 ) | |
| 2 | curf2ndf.c | ⊢ ( 𝜑 → 𝐶 ∈ Cat ) | |
| 3 | curf2ndf.d | ⊢ ( 𝜑 → 𝐷 ∈ Cat ) | |
| 4 | df-ov | ⊢ ( 𝑥 ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) 𝑦 ) = ( ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) | |
| 5 | eqid | ⊢ ( 𝐶 ×c 𝐷 ) = ( 𝐶 ×c 𝐷 ) | |
| 6 | eqid | ⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 ) | |
| 7 | eqid | ⊢ ( Base ‘ 𝐷 ) = ( Base ‘ 𝐷 ) | |
| 8 | 5 6 7 | xpcbas | ⊢ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) = ( Base ‘ ( 𝐶 ×c 𝐷 ) ) |
| 9 | eqid | ⊢ ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) = ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) | |
| 10 | 2 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → 𝐶 ∈ Cat ) |
| 11 | 3 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → 𝐷 ∈ Cat ) |
| 12 | eqid | ⊢ ( 𝐶 2ndF 𝐷 ) = ( 𝐶 2ndF 𝐷 ) | |
| 13 | opelxpi | ⊢ ( ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑥 , 𝑦 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) | |
| 14 | 13 | adantll | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑥 , 𝑦 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) |
| 15 | 5 8 9 10 11 12 14 | 2ndf1 | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → ( ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) = ( 2nd ‘ 〈 𝑥 , 𝑦 〉 ) ) |
| 16 | vex | ⊢ 𝑥 ∈ V | |
| 17 | vex | ⊢ 𝑦 ∈ V | |
| 18 | 16 17 | op2nd | ⊢ ( 2nd ‘ 〈 𝑥 , 𝑦 〉 ) = 𝑦 |
| 19 | 15 18 | eqtrdi | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → ( ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) ‘ 〈 𝑥 , 𝑦 〉 ) = 𝑦 ) |
| 20 | 4 19 | eqtrid | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑥 ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) 𝑦 ) = 𝑦 ) |
| 21 | 20 | mpteq2dva | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( 𝑦 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑥 ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) 𝑦 ) ) = ( 𝑦 ∈ ( Base ‘ 𝐷 ) ↦ 𝑦 ) ) |
| 22 | mptresid | ⊢ ( I ↾ ( Base ‘ 𝐷 ) ) = ( 𝑦 ∈ ( Base ‘ 𝐷 ) ↦ 𝑦 ) | |
| 23 | 21 22 | eqtr4di | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( 𝑦 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑥 ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) 𝑦 ) ) = ( I ↾ ( Base ‘ 𝐷 ) ) ) |
| 24 | df-ov | ⊢ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) = ( ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) | |
| 25 | 10 | ad2antrr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 𝐶 ∈ Cat ) |
| 26 | 11 | ad2antrr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 𝐷 ∈ Cat ) |
| 27 | 14 | ad2antrr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 〈 𝑥 , 𝑦 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) |
| 28 | simp-4r | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) ) | |
| 29 | simplr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 𝑧 ∈ ( Base ‘ 𝐷 ) ) | |
| 30 | 28 29 | opelxpd | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 〈 𝑥 , 𝑧 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) |
| 31 | 5 8 9 25 26 12 27 30 | 2ndf2 | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) = ( 2nd ↾ ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ) ) |
| 32 | 31 | fveq1d | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) = ( ( 2nd ↾ ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ) ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) ) |
| 33 | 24 32 | eqtrid | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) = ( ( 2nd ↾ ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ) ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) ) |
| 34 | eqid | ⊢ ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 ) | |
| 35 | eqid | ⊢ ( Id ‘ 𝐶 ) = ( Id ‘ 𝐶 ) | |
| 36 | 2 | adantr | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → 𝐶 ∈ Cat ) |
| 37 | simpr | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) ) | |
| 38 | 6 34 35 36 37 | catidcl | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑥 ) ) |
| 39 | 38 | ad3antrrr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑥 ) ) |
| 40 | simpr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) | |
| 41 | 39 40 | opelxpd | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ∈ ( ( 𝑥 ( Hom ‘ 𝐶 ) 𝑥 ) × ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 42 | eqid | ⊢ ( Hom ‘ 𝐷 ) = ( Hom ‘ 𝐷 ) | |
| 43 | simpllr | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 𝑦 ∈ ( Base ‘ 𝐷 ) ) | |
| 44 | 5 6 7 34 42 28 43 28 29 9 | xpchom2 | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) = ( ( 𝑥 ( Hom ‘ 𝐶 ) 𝑥 ) × ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 45 | 41 44 | eleqtrrd | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ∈ ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ) |
| 46 | 45 | fvresd | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( ( 2nd ↾ ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ) ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) = ( 2nd ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) ) |
| 47 | fvex | ⊢ ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ∈ V | |
| 48 | vex | ⊢ 𝑓 ∈ V | |
| 49 | 47 48 | op2nd | ⊢ ( 2nd ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) = 𝑓 |
| 50 | 46 49 | eqtrdi | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( ( 2nd ↾ ( 〈 𝑥 , 𝑦 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) ) ‘ 〈 ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) , 𝑓 〉 ) = 𝑓 ) |
| 51 | 33 50 | eqtrd | ⊢ ( ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) → ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) = 𝑓 ) |
| 52 | 51 | mpteq2dva | ⊢ ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) = ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ 𝑓 ) ) |
| 53 | mptresid | ⊢ ( I ↾ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) = ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ 𝑓 ) | |
| 54 | 52 53 | eqtr4di | ⊢ ( ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) = ( I ↾ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 55 | 54 | 3impa | ⊢ ( ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝐷 ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) = ( I ↾ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 56 | 55 | mpoeq3dva | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( 𝑦 ∈ ( Base ‘ 𝐷 ) , 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) ) = ( 𝑦 ∈ ( Base ‘ 𝐷 ) , 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( I ↾ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) ) |
| 57 | fveq2 | ⊢ ( 𝑢 = 〈 𝑦 , 𝑧 〉 → ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) = ( ( Hom ‘ 𝐷 ) ‘ 〈 𝑦 , 𝑧 〉 ) ) | |
| 58 | df-ov | ⊢ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) = ( ( Hom ‘ 𝐷 ) ‘ 〈 𝑦 , 𝑧 〉 ) | |
| 59 | 57 58 | eqtr4di | ⊢ ( 𝑢 = 〈 𝑦 , 𝑧 〉 → ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) = ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) |
| 60 | 59 | reseq2d | ⊢ ( 𝑢 = 〈 𝑦 , 𝑧 〉 → ( I ↾ ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) ) = ( I ↾ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 61 | 60 | mpompt | ⊢ ( 𝑢 ∈ ( ( Base ‘ 𝐷 ) × ( Base ‘ 𝐷 ) ) ↦ ( I ↾ ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) ) ) = ( 𝑦 ∈ ( Base ‘ 𝐷 ) , 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( I ↾ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 62 | 56 61 | eqtr4di | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( 𝑦 ∈ ( Base ‘ 𝐷 ) , 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) ) = ( 𝑢 ∈ ( ( Base ‘ 𝐷 ) × ( Base ‘ 𝐷 ) ) ↦ ( I ↾ ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) ) ) ) |
| 63 | 23 62 | opeq12d | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → 〈 ( 𝑦 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑥 ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) 𝑦 ) ) , ( 𝑦 ∈ ( Base ‘ 𝐷 ) , 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) ) 〉 = 〈 ( I ↾ ( Base ‘ 𝐷 ) ) , ( 𝑢 ∈ ( ( Base ‘ 𝐷 ) × ( Base ‘ 𝐷 ) ) ↦ ( I ↾ ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) ) ) 〉 ) |
| 64 | eqid | ⊢ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) = ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) | |
| 65 | 3 | adantr | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → 𝐷 ∈ Cat ) |
| 66 | 5 2 3 12 | 2ndfcl | ⊢ ( 𝜑 → ( 𝐶 2ndF 𝐷 ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐷 ) ) |
| 67 | 66 | adantr | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( 𝐶 2ndF 𝐷 ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐷 ) ) |
| 68 | eqid | ⊢ ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) = ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) | |
| 69 | 64 6 36 65 67 7 37 68 42 35 | curf1 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) = 〈 ( 𝑦 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑥 ( 1st ‘ ( 𝐶 2ndF 𝐷 ) ) 𝑦 ) ) , ( 𝑦 ∈ ( Base ‘ 𝐷 ) , 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ∈ ( 𝑦 ( Hom ‘ 𝐷 ) 𝑧 ) ↦ ( ( ( Id ‘ 𝐶 ) ‘ 𝑥 ) ( 〈 𝑥 , 𝑦 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑥 , 𝑧 〉 ) 𝑓 ) ) ) 〉 ) |
| 70 | eqid | ⊢ ( idfunc ‘ 𝐷 ) = ( idfunc ‘ 𝐷 ) | |
| 71 | 70 7 65 42 | idfuval | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( idfunc ‘ 𝐷 ) = 〈 ( I ↾ ( Base ‘ 𝐷 ) ) , ( 𝑢 ∈ ( ( Base ‘ 𝐷 ) × ( Base ‘ 𝐷 ) ) ↦ ( I ↾ ( ( Hom ‘ 𝐷 ) ‘ 𝑢 ) ) ) 〉 ) |
| 72 | 63 69 71 | 3eqtr4d | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) = ( idfunc ‘ 𝐷 ) ) |
| 73 | eqid | ⊢ ( 𝑄 Δfunc 𝐶 ) = ( 𝑄 Δfunc 𝐶 ) | |
| 74 | 1 3 3 | fuccat | ⊢ ( 𝜑 → 𝑄 ∈ Cat ) |
| 75 | 74 | adantr | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → 𝑄 ∈ Cat ) |
| 76 | 1 | fucbas | ⊢ ( 𝐷 Func 𝐷 ) = ( Base ‘ 𝑄 ) |
| 77 | 70 | idfucl | ⊢ ( 𝐷 ∈ Cat → ( idfunc ‘ 𝐷 ) ∈ ( 𝐷 Func 𝐷 ) ) |
| 78 | 3 77 | syl | ⊢ ( 𝜑 → ( idfunc ‘ 𝐷 ) ∈ ( 𝐷 Func 𝐷 ) ) |
| 79 | 78 | adantr | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( idfunc ‘ 𝐷 ) ∈ ( 𝐷 Func 𝐷 ) ) |
| 80 | eqid | ⊢ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) = ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) | |
| 81 | 73 75 36 76 79 80 6 37 | diag11 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ‘ 𝑥 ) = ( idfunc ‘ 𝐷 ) ) |
| 82 | 72 81 | eqtr4d | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ) → ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) = ( ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ‘ 𝑥 ) ) |
| 83 | 82 | mpteq2dva | ⊢ ( 𝜑 → ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ‘ 𝑥 ) ) ) |
| 84 | relfunc | ⊢ Rel ( 𝐶 Func 𝑄 ) | |
| 85 | 64 1 2 3 66 | curfcl | ⊢ ( 𝜑 → ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ∈ ( 𝐶 Func 𝑄 ) ) |
| 86 | 1st2ndbr | ⊢ ( ( Rel ( 𝐶 Func 𝑄 ) ∧ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ∈ ( 𝐶 Func 𝑄 ) ) → ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ( 𝐶 Func 𝑄 ) ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ) | |
| 87 | 84 85 86 | sylancr | ⊢ ( 𝜑 → ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ( 𝐶 Func 𝑄 ) ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ) |
| 88 | 6 76 87 | funcf1 | ⊢ ( 𝜑 → ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) : ( Base ‘ 𝐶 ) ⟶ ( 𝐷 Func 𝐷 ) ) |
| 89 | 88 | feqmptd | ⊢ ( 𝜑 → ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) ) ) |
| 90 | 73 74 2 76 78 80 | diag1cl | ⊢ ( 𝜑 → ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ∈ ( 𝐶 Func 𝑄 ) ) |
| 91 | 1st2ndbr | ⊢ ( ( Rel ( 𝐶 Func 𝑄 ) ∧ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ∈ ( 𝐶 Func 𝑄 ) ) → ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ( 𝐶 Func 𝑄 ) ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ) | |
| 92 | 84 90 91 | sylancr | ⊢ ( 𝜑 → ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ( 𝐶 Func 𝑄 ) ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ) |
| 93 | 6 76 92 | funcf1 | ⊢ ( 𝜑 → ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) : ( Base ‘ 𝐶 ) ⟶ ( 𝐷 Func 𝐷 ) ) |
| 94 | 93 | feqmptd | ⊢ ( 𝜑 → ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) ↦ ( ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ‘ 𝑥 ) ) ) |
| 95 | 83 89 94 | 3eqtr4d | ⊢ ( 𝜑 → ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) = ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ) |
| 96 | 3 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → 𝐷 ∈ Cat ) |
| 97 | 70 7 96 | idfu1st | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( 1st ‘ ( idfunc ‘ 𝐷 ) ) = ( I ↾ ( Base ‘ 𝐷 ) ) ) |
| 98 | 97 | coeq2d | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( ( Id ‘ 𝐷 ) ∘ ( 1st ‘ ( idfunc ‘ 𝐷 ) ) ) = ( ( Id ‘ 𝐷 ) ∘ ( I ↾ ( Base ‘ 𝐷 ) ) ) ) |
| 99 | eqid | ⊢ ( Id ‘ 𝑄 ) = ( Id ‘ 𝑄 ) | |
| 100 | eqid | ⊢ ( Id ‘ 𝐷 ) = ( Id ‘ 𝐷 ) | |
| 101 | 78 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( idfunc ‘ 𝐷 ) ∈ ( 𝐷 Func 𝐷 ) ) |
| 102 | 1 99 100 101 | fucid | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( ( Id ‘ 𝑄 ) ‘ ( idfunc ‘ 𝐷 ) ) = ( ( Id ‘ 𝐷 ) ∘ ( 1st ‘ ( idfunc ‘ 𝐷 ) ) ) ) |
| 103 | 7 100 | cidfn | ⊢ ( 𝐷 ∈ Cat → ( Id ‘ 𝐷 ) Fn ( Base ‘ 𝐷 ) ) |
| 104 | 96 103 | syl | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( Id ‘ 𝐷 ) Fn ( Base ‘ 𝐷 ) ) |
| 105 | dffn2 | ⊢ ( ( Id ‘ 𝐷 ) Fn ( Base ‘ 𝐷 ) ↔ ( Id ‘ 𝐷 ) : ( Base ‘ 𝐷 ) ⟶ V ) | |
| 106 | 104 105 | sylib | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( Id ‘ 𝐷 ) : ( Base ‘ 𝐷 ) ⟶ V ) |
| 107 | 106 | feqmptd | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( Id ‘ 𝐷 ) = ( 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) |
| 108 | fcoi1 | ⊢ ( ( Id ‘ 𝐷 ) : ( Base ‘ 𝐷 ) ⟶ V → ( ( Id ‘ 𝐷 ) ∘ ( I ↾ ( Base ‘ 𝐷 ) ) ) = ( Id ‘ 𝐷 ) ) | |
| 109 | 106 108 | syl | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( ( Id ‘ 𝐷 ) ∘ ( I ↾ ( Base ‘ 𝐷 ) ) ) = ( Id ‘ 𝐷 ) ) |
| 110 | 2 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → 𝐶 ∈ Cat ) |
| 111 | 110 | adantr | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 𝐶 ∈ Cat ) |
| 112 | 96 | adantr | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 𝐷 ∈ Cat ) |
| 113 | simplrl | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) ) | |
| 114 | opelxpi | ⊢ ( ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑥 , 𝑧 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) | |
| 115 | 113 114 | sylan | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑥 , 𝑧 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) |
| 116 | simplrr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → 𝑦 ∈ ( Base ‘ 𝐶 ) ) | |
| 117 | opelxpi | ⊢ ( ( 𝑦 ∈ ( Base ‘ 𝐶 ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑦 , 𝑧 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) | |
| 118 | 116 117 | sylan | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑦 , 𝑧 〉 ∈ ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐷 ) ) ) |
| 119 | 5 8 9 111 112 12 115 118 | 2ndf2 | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) = ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ) |
| 120 | 119 | oveqd | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) = ( 𝑓 ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) |
| 121 | df-ov | ⊢ ( 𝑓 ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) = ( ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ‘ 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ) | |
| 122 | simplr | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) | |
| 123 | simpr | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 𝑧 ∈ ( Base ‘ 𝐷 ) ) | |
| 124 | 7 42 100 112 123 | catidcl | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ∈ ( 𝑧 ( Hom ‘ 𝐷 ) 𝑧 ) ) |
| 125 | 122 124 | opelxpd | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ∈ ( ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) × ( 𝑧 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 126 | 113 | adantr | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) ) |
| 127 | 116 | adantr | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 𝑦 ∈ ( Base ‘ 𝐶 ) ) |
| 128 | 5 6 7 34 42 126 123 127 123 9 | xpchom2 | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) = ( ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) × ( 𝑧 ( Hom ‘ 𝐷 ) 𝑧 ) ) ) |
| 129 | 125 128 | eleqtrrd | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ∈ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) |
| 130 | 129 | fvresd | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ‘ 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ) = ( 2nd ‘ 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ) ) |
| 131 | 121 130 | eqtrid | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) = ( 2nd ‘ 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ) ) |
| 132 | fvex | ⊢ ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ∈ V | |
| 133 | 48 132 | op2nd | ⊢ ( 2nd ‘ 〈 𝑓 , ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) 〉 ) = ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) |
| 134 | 131 133 | eqtrdi | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ( 2nd ↾ ( 〈 𝑥 , 𝑧 〉 ( Hom ‘ ( 𝐶 ×c 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) = ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) |
| 135 | 120 134 | eqtrd | ⊢ ( ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐷 ) ) → ( 𝑓 ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) = ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) |
| 136 | 135 | mpteq2dva | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) = ( 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) |
| 137 | 107 109 136 | 3eqtr4rd | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) = ( ( Id ‘ 𝐷 ) ∘ ( I ↾ ( Base ‘ 𝐷 ) ) ) ) |
| 138 | 98 102 137 | 3eqtr4rd | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) = ( ( Id ‘ 𝑄 ) ‘ ( idfunc ‘ 𝐷 ) ) ) |
| 139 | 66 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( 𝐶 2ndF 𝐷 ) ∈ ( ( 𝐶 ×c 𝐷 ) Func 𝐷 ) ) |
| 140 | simpr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) | |
| 141 | eqid | ⊢ ( ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) = ( ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) | |
| 142 | 64 6 110 96 139 7 34 100 113 116 140 141 | curf2 | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) = ( 𝑧 ∈ ( Base ‘ 𝐷 ) ↦ ( 𝑓 ( 〈 𝑥 , 𝑧 〉 ( 2nd ‘ ( 𝐶 2ndF 𝐷 ) ) 〈 𝑦 , 𝑧 〉 ) ( ( Id ‘ 𝐷 ) ‘ 𝑧 ) ) ) ) |
| 143 | 74 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → 𝑄 ∈ Cat ) |
| 144 | 73 143 110 76 101 80 6 113 34 99 116 140 | diag12 | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) = ( ( Id ‘ 𝑄 ) ‘ ( idfunc ‘ 𝐷 ) ) ) |
| 145 | 138 142 144 | 3eqtr4d | ⊢ ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) ∧ 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ) → ( ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) = ( ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) ) |
| 146 | 145 | mpteq2dva | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ↦ ( ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) ) = ( 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ↦ ( ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) ) ) |
| 147 | eqid | ⊢ ( 𝐷 Nat 𝐷 ) = ( 𝐷 Nat 𝐷 ) | |
| 148 | 1 147 | fuchom | ⊢ ( 𝐷 Nat 𝐷 ) = ( Hom ‘ 𝑄 ) |
| 149 | 87 | adantr | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ( 𝐶 Func 𝑄 ) ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ) |
| 150 | simprl | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑥 ∈ ( Base ‘ 𝐶 ) ) | |
| 151 | simprr | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → 𝑦 ∈ ( Base ‘ 𝐶 ) ) | |
| 152 | 6 34 148 149 150 151 | funcf2 | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ⟶ ( ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑥 ) ( 𝐷 Nat 𝐷 ) ( ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) ‘ 𝑦 ) ) ) |
| 153 | 152 | feqmptd | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) = ( 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ↦ ( ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) ) ) |
| 154 | 92 | adantr | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ( 𝐶 Func 𝑄 ) ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ) |
| 155 | 6 34 148 154 150 151 | funcf2 | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) : ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ⟶ ( ( ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ‘ 𝑥 ) ( 𝐷 Nat 𝐷 ) ( ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ‘ 𝑦 ) ) ) |
| 156 | 155 | feqmptd | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) = ( 𝑓 ∈ ( 𝑥 ( Hom ‘ 𝐶 ) 𝑦 ) ↦ ( ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ‘ 𝑓 ) ) ) |
| 157 | 146 153 156 | 3eqtr4d | ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) ) → ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) = ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ) |
| 158 | 157 | 3impb | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ ( Base ‘ 𝐶 ) ∧ 𝑦 ∈ ( Base ‘ 𝐶 ) ) → ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) = ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ) |
| 159 | 158 | mpoeq3dva | ⊢ ( 𝜑 → ( 𝑥 ∈ ( Base ‘ 𝐶 ) , 𝑦 ∈ ( Base ‘ 𝐶 ) ↦ ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) , 𝑦 ∈ ( Base ‘ 𝐶 ) ↦ ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ) ) |
| 160 | 6 87 | funcfn2 | ⊢ ( 𝜑 → ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) Fn ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐶 ) ) ) |
| 161 | fnov | ⊢ ( ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) Fn ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐶 ) ) ↔ ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) , 𝑦 ∈ ( Base ‘ 𝐶 ) ↦ ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ) ) | |
| 162 | 160 161 | sylib | ⊢ ( 𝜑 → ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) , 𝑦 ∈ ( Base ‘ 𝐶 ) ↦ ( 𝑥 ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 𝑦 ) ) ) |
| 163 | 6 92 | funcfn2 | ⊢ ( 𝜑 → ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) Fn ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐶 ) ) ) |
| 164 | fnov | ⊢ ( ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) Fn ( ( Base ‘ 𝐶 ) × ( Base ‘ 𝐶 ) ) ↔ ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) , 𝑦 ∈ ( Base ‘ 𝐶 ) ↦ ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ) ) | |
| 165 | 163 164 | sylib | ⊢ ( 𝜑 → ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) = ( 𝑥 ∈ ( Base ‘ 𝐶 ) , 𝑦 ∈ ( Base ‘ 𝐶 ) ↦ ( 𝑥 ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 𝑦 ) ) ) |
| 166 | 159 162 165 | 3eqtr4d | ⊢ ( 𝜑 → ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) = ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) ) |
| 167 | 95 166 | opeq12d | ⊢ ( 𝜑 → 〈 ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) , ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 〉 = 〈 ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) , ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 〉 ) |
| 168 | 1st2nd | ⊢ ( ( Rel ( 𝐶 Func 𝑄 ) ∧ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ∈ ( 𝐶 Func 𝑄 ) ) → ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) = 〈 ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) , ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 〉 ) | |
| 169 | 84 85 168 | sylancr | ⊢ ( 𝜑 → ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) = 〈 ( 1st ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) , ( 2nd ‘ ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) ) 〉 ) |
| 170 | 1st2nd | ⊢ ( ( Rel ( 𝐶 Func 𝑄 ) ∧ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ∈ ( 𝐶 Func 𝑄 ) ) → ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) = 〈 ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) , ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 〉 ) | |
| 171 | 84 90 170 | sylancr | ⊢ ( 𝜑 → ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) = 〈 ( 1st ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) , ( 2nd ‘ ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) 〉 ) |
| 172 | 167 169 171 | 3eqtr4d | ⊢ ( 𝜑 → ( 〈 𝐶 , 𝐷 〉 curryF ( 𝐶 2ndF 𝐷 ) ) = ( ( 1st ‘ ( 𝑄 Δfunc 𝐶 ) ) ‘ ( idfunc ‘ 𝐷 ) ) ) |