MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  curfuncf Structured version   Visualization version   GIF version

Theorem curfuncf 18462
Description: Cancellation of curry with uncurry. (Contributed by Mario Carneiro, 13-Jan-2017.)
Hypotheses
Ref Expression
uncfval.g 𝐹 = (⟨“𝐶𝐷𝐸”⟩ uncurryF 𝐺)
uncfval.c (𝜑 → 𝐷 ∈ Cat)
uncfval.d (𝜑 → 𝐸 ∈ Cat)
uncfval.f (𝜑 → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
Assertion
Ref Expression
curfuncf (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)

Proof of Theorem curfuncf
Dummy variables 𝑔 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 uncfval.g . . . . . . . . . 10 𝐹 = (⟨“𝐶𝐷𝐸”⟩ uncurryF 𝐺)
2 uncfval.c . . . . . . . . . . 11 (𝜑 → 𝐷 ∈ Cat)
32ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐷 ∈ Cat)
4 uncfval.d . . . . . . . . . . 11 (𝜑 → 𝐸 ∈ Cat)
54ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐸 ∈ Cat)
6 uncfval.f . . . . . . . . . . 11 (𝜑 → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
76ad2antrr 739 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
8 eqid 2763 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
9 eqid 2763 . . . . . . . . . 10 (Base‘𝐷) = (Base‘𝐷)
10 simplr 781 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝑥 ∈ (Base‘𝐶))
11 simpr 490 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝑦 ∈ (Base‘𝐷))
121, 3, 5, 7, 8, 9, 10, 11uncf1 18460 . . . . . . . . 9 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → (𝑥(1st ‘𝐹)𝑦) = ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦))
1312mpteq2dva 5204 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)))
14 eqid 2763 . . . . . . . . . 10 (Base‘𝐸) = (Base‘𝐸)
15 relfunc 18087 . . . . . . . . . . 11 Rel (𝐷 Func 𝐸)
16 eqid 2763 . . . . . . . . . . . . . 14 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
1716fucbas 18188 . . . . . . . . . . . . 13 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
18 relfunc 18087 . . . . . . . . . . . . . 14 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
19 1st2ndbr 8087 . . . . . . . . . . . . . 14 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
2018, 6, 19sylancr 599 . . . . . . . . . . . . 13 (𝜑 → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
218, 17, 20funcf1 18091 . . . . . . . . . . . 12 (𝜑 → (1st ‘𝐺):(Base‘𝐶)⟶(𝐷 Func 𝐸))
2221ffvelcdmda 7116 . . . . . . . . . . 11 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
23 1st2ndbr 8087 . . . . . . . . . . 11 ((Rel (𝐷 Func 𝐸) ∧ ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
2415, 22, 23sylancr 599 . . . . . . . . . 10 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
259, 14, 24funcf1 18091 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
2625feqmptd 6984 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st ‘𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)))
2713, 26eqtr4d 2801 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)) = (1st ‘((1st ‘𝐺)‘𝑥)))
282ad3antrrr 743 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐷 ∈ Cat)
294ad3antrrr 743 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐸 ∈ Cat)
306ad3antrrr 743 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
31 simpllr 788 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑥 ∈ (Base‘𝐶))
32 simplrl 789 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑦 ∈ (Base‘𝐷))
33 eqid 2763 . . . . . . . . . . . . . 14 (Hom ‘𝐶) = (Hom ‘𝐶)
34 eqid 2763 . . . . . . . . . . . . . 14 (Hom ‘𝐷) = (Hom ‘𝐷)
35 simprr 785 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑧 ∈ (Base‘𝐷))
3635adantr 486 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑧 ∈ (Base‘𝐷))
37 eqid 2763 . . . . . . . . . . . . . . 15 (Id‘𝐶) = (Id‘𝐶)
38 funcrcl 18088 . . . . . . . . . . . . . . . . . 18 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
396, 38syl 18 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
4039simpld 500 . . . . . . . . . . . . . . . 16 (𝜑 → 𝐶 ∈ Cat)
4140ad3antrrr 743 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐶 ∈ Cat)
428, 33, 37, 41, 31catidcl 17906 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
43 simpr 490 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧))
441, 28, 29, 30, 8, 9, 31, 32, 33, 34, 31, 36, 42, 43uncf2 18461 . . . . . . . . . . . . 13 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
45 eqid 2763 . . . . . . . . . . . . . . . . . 18 (Id‘(𝐷 FuncCat 𝐸)) = (Id‘(𝐷 FuncCat 𝐸))
4620ad3antrrr 743 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
478, 37, 45, 46, 31funcid 18095 . . . . . . . . . . . . . . . . 17 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘(𝐷 FuncCat 𝐸))‘((1st ‘𝐺)‘𝑥)))
48 eqid 2763 . . . . . . . . . . . . . . . . . 18 (Id‘𝐸) = (Id‘𝐸)
4922ad2antrr 739 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
5016, 45, 48, 49fucid 18199 . . . . . . . . . . . . . . . . 17 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘(𝐷 FuncCat 𝐸))‘((1st ‘𝐺)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥))))
5147, 50eqtrd 2798 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥))))
5251fveq1d 6918 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = (((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥)))‘𝑧))
5325ad2antrr 739 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
54 fvco3 7016 . . . . . . . . . . . . . . . 16 (((1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸) ∧ 𝑧 ∈ (Base‘𝐷)) → (((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥)))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
5553, 36, 54syl2anc 596 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥)))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
5652, 55eqtrd 2798 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
5756oveq1d 7466 . . . . . . . . . . . . 13 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)) = (((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
58 eqid 2763 . . . . . . . . . . . . . 14 (Hom ‘𝐸) = (Hom ‘𝐸)
5953, 32ffvelcdmd 7117 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦) ∈ (Base‘𝐸))
60 eqid 2763 . . . . . . . . . . . . . 14 (comp‘𝐸) = (comp‘𝐸)
6153, 36ffvelcdmd 7117 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
6224adantr 486 . . . . . . . . . . . . . . . 16 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
63 simprl 783 . . . . . . . . . . . . . . . 16 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑦 ∈ (Base‘𝐷))
649, 34, 58, 62, 63, 35funcf2 18093 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧):(𝑦(Hom ‘𝐷)𝑧)⟶(((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
6564ffvelcdmda 7116 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔) ∈ (((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
6614, 58, 48, 29, 59, 60, 61, 65catlid 17907 . . . . . . . . . . . . 13 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)) = ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔))
6744, 57, 663eqtrd 2802 . . . . . . . . . . . 12 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔))
6867mpteq2dva 5204 . . . . . . . . . . 11 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
6964feqmptd 6984 . . . . . . . . . . 11 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
7068, 69eqtr4d 2801 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧))
71703impb 1132 . . . . . . . . 9 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧))
7271mpoeq3dva 7528 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)))
739, 24funcfn2 18094 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st ‘𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)))
74 fnov 7582 . . . . . . . . 9 ((2nd ‘((1st ‘𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)) ↔ (2nd ‘((1st ‘𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)))
7573, 74sylib 221 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st ‘𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)))
7672, 75eqtr4d 2801 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (2nd ‘((1st ‘𝐺)‘𝑥)))
7727, 76opeq12d 4853 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩)
78 1st2nd 8084 . . . . . . 7 ((Rel (𝐷 Func 𝐸) ∧ ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → ((1st ‘𝐺)‘𝑥) = ⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩)
7915, 22, 78sylancr 599 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑥) = ⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩)
8077, 79eqtr4d 2801 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ((1st ‘𝐺)‘𝑥))
8180mpteq2dva 5204 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st ‘𝐺)‘𝑥)))
8221feqmptd 6984 . . . 4 (𝜑 → (1st ‘𝐺) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st ‘𝐺)‘𝑥)))
8381, 82eqtr4d 2801 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (1st ‘𝐺))
842ad3antrrr 743 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐷 ∈ Cat)
854ad3antrrr 743 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐸 ∈ Cat)
866ad3antrrr 743 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
87 simprl 783 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
8887ad2antrr 739 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑥 ∈ (Base‘𝐶))
89 simpr 490 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑧 ∈ (Base‘𝐷))
90 simprr 785 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
9190ad2antrr 739 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑦 ∈ (Base‘𝐶))
92 simplr 781 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦))
93 eqid 2763 . . . . . . . . . . . . 13 (Id‘𝐷) = (Id‘𝐷)
949, 34, 93, 84, 89catidcl 17906 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((Id‘𝐷)‘𝑧) ∈ (𝑧(Hom ‘𝐷)𝑧))
951, 84, 85, 86, 8, 9, 88, 89, 33, 34, 91, 89, 92, 94uncf2 18461 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = ((((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧))((𝑧(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧))))
9622adantrr 730 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
9796adantr 486 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
9815, 97, 23sylancr 599 . . . . . . . . . . . . . 14 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
9998adantr 486 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
1009, 93, 48, 99, 89funcid 18095 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑧(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧)) = ((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
101100oveq2d 7467 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧))((𝑧(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧))) = ((((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))))
1029, 14, 98funcf1 18091 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
103102ffvelcdmda 7116 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
10421ffvelcdmda 7116 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ 𝑦 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
105104adantrl 729 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
106105adantr 486 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
107 1st2ndbr 8087 . . . . . . . . . . . . . . 15 ((Rel (𝐷 Func 𝐸) ∧ ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st ‘𝐺)‘𝑦))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑦)))
10815, 106, 107sylancr 599 . . . . . . . . . . . . . 14 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st ‘𝐺)‘𝑦))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑦)))
1099, 14, 108funcf1 18091 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st ‘𝐺)‘𝑦)):(Base‘𝐷)⟶(Base‘𝐸))
110109ffvelcdmda 7116 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧) ∈ (Base‘𝐸))
111 eqid 2763 . . . . . . . . . . . . 13 (𝐷 Nat 𝐸) = (𝐷 Nat 𝐸)
11216, 111fuchom 18189 . . . . . . . . . . . . . . . 16 (𝐷 Nat 𝐸) = (Hom ‘(𝐷 FuncCat 𝐸))
11320ad3antrrr 743 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
1148, 33, 112, 113, 88, 91funcf2 18093 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑥(2nd ‘𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
115114, 92ffvelcdmd 7117 . . . . . . . . . . . . . 14 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
116111, 115nat1st2nd 18179 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st ‘𝐺)‘𝑦)), (2nd ‘((1st ‘𝐺)‘𝑦))⟩))
117111, 116, 9, 58, 89natcl 18181 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧) ∈ (((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)(Hom ‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧)))
11814, 58, 48, 85, 103, 60, 110, 117catrid 17908 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))) = (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧))
11995, 101, 1183eqtrd 2802 . . . . . . . . . 10 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧))
120119mpteq2dva 5204 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)))
12120adantr 486 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
1228, 33, 112, 121, 87, 90funcf2 18093 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
123122ffvelcdmda 7116 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
124111, 123nat1st2nd 18179 . . . . . . . . . . 11 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st ‘𝐺)‘𝑦)), (2nd ‘((1st ‘𝐺)‘𝑦))⟩))
125111, 124, 9natfn 18182 . . . . . . . . . 10 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) Fn (Base‘𝐷))
126 dffn5 6974 . . . . . . . . . 10 (((𝑥(2nd ‘𝐺)𝑦)‘𝑔) Fn (Base‘𝐷) ↔ ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)))
127125, 126sylib 221 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)))
128120, 127eqtr4d 2801 . . . . . . . 8 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = ((𝑥(2nd ‘𝐺)𝑦)‘𝑔))
129128mpteq2dva 5204 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd ‘𝐺)𝑦)‘𝑔)))
130122feqmptd 6984 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘𝐺)𝑦) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd ‘𝐺)𝑦)‘𝑔)))
131129, 130eqtr4d 2801 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd ‘𝐺)𝑦))
1321313impb 1132 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd ‘𝐺)𝑦))
133132mpoeq3dva 7528 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐺)𝑦)))
1348, 20funcfn2 18094 . . . . 5 (𝜑 → (2nd ‘𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)))
135 fnov 7582 . . . . 5 ((2nd ‘𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)) ↔ (2nd ‘𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐺)𝑦)))
136134, 135sylib 221 . . . 4 (𝜑 → (2nd ‘𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐺)𝑦)))
137133, 136eqtr4d 2801 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (2nd ‘𝐺))
13883, 137opeq12d 4853 . 2 (𝜑 → ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩ = ⟨(1st ‘𝐺), (2nd ‘𝐺)⟩)
139 eqid 2763 . . 3 (⟨𝐶, 𝐷⟩ curryF 𝐹) = (⟨𝐶, 𝐷⟩ curryF 𝐹)
1401, 2, 4, 6uncfcl 18459 . . 3 (𝜑 → 𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 18447 . 2 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩)
142 1st2nd 8084 . . 3 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → 𝐺 = ⟨(1st ‘𝐺), (2nd ‘𝐺)⟩)
14318, 6, 142sylancr 599 . 2 (𝜑 → 𝐺 = ⟨(1st ‘𝐺), (2nd ‘𝐺)⟩)
144138, 141, 1433eqtr4d 2808 1 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1570   ∈ wcel 2147  ⟨cop 4840   class class class wbr 5108   ↦ cmpt 5192   × cxp 5656   ∘ ccom 5662  Rel wrel 5663   Fn wfn 6561  ⟶wf 6562  ‘cfv 6566  (class class class)co 7451   ∈ cmpo 7453  1st c1st 8033  2nd c2nd 8034  ⟨“cs3 15035  Basecbs 17431  Hom chom 17483  compcco 17484  Catccat 17888  Idccid 17889   Func cfunc 18079   Nat cnat 18169   FuncCat cfuc 18170   curryF ccurf 18434   uncurryF cuncf 18435
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5238  ax-sep 5255  ax-nul 5266  ax-pow 5334  ax-pr 5398  ax-un 7783  ax-cnex 11295  ax-resscn 11296  ax-1cn 11297  ax-icn 11298  ax-addcl 11299  ax-addrcl 11300  ax-mulcl 11301  ax-mulrcl 11302  ax-mulcom 11303  ax-addass 11304  ax-mulass 11305  ax-distr 11306  ax-i2m1 11307  ax-1ne0 11308  ax-1rid 11309  ax-rnegex 11310  ax-rrecex 11311  ax-cnre 11312  ax-pre-lttri 11313  ax-pre-lttrn 11314  ax-pre-ltadd 11315  ax-pre-mulgt0 11316
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4841  df-uni 4873  df-int 4913  df-iun 4958  df-br 5109  df-opab 5174  df-mpt 5193  df-tr 5219  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-res 5670  df-ima 5671  df-pred 6330  df-ord 6391  df-on 6392  df-lim 6393  df-suc 6394  df-iota 6520  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-riota 7408  df-ov 7454  df-oprab 7455  df-mpo 7456  df-om 7912  df-1st 8035  df-2nd 8036  df-frecs 8337  df-wrecs 8368  df-recs 8417  df-rdg 8456  df-1o 8514  df-er 8755  df-map 8887  df-ixp 8964  df-en 9012  df-dom 9013  df-sdom 9014  df-fin 9015  df-card 10057  df-pnf 11384  df-mnf 11385  df-xr 11386  df-ltxr 11387  df-le 11388  df-sub 11582  df-neg 11583  df-nn 12376  df-2 12445  df-3 12446  df-4 12447  df-5 12448  df-6 12449  df-7 12450  df-8 12451  df-9 12452  df-n0 12647  df-z 12734  df-dec 12855  df-uz 13006  df-fz 13680  df-fzo 13829  df-hash 14516  df-word 14700  df-concat 14757  df-s1 14784  df-s2 15041  df-s3 15042  df-struct 17369  df-slot 17404  df-ndx 17416  df-base 17432  df-hom 17497  df-cco 17498  df-cat 17892  df-cid 17893  df-func 18083  df-cofu 18085  df-nat 18171  df-fuc 18172  df-xpc 18396  df-1stf 18397  df-2ndf 18398  df-prf 18399  df-evlf 18437  df-curf 18438  df-uncf 18439
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator