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

Theorem curfuncf 18312
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 2765 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
9 eqid 2765 . . . . . . . . . 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 18310 . . . . . . . . 9 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → (𝑥(1st𝐹)𝑦) = ((1st ‘((1st𝐺)‘𝑥))‘𝑦))
1312mpteq2dva 5206 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st𝐺)‘𝑥))‘𝑦)))
14 eqid 2765 . . . . . . . . . 10 (Base‘𝐸) = (Base‘𝐸)
15 relfunc 17937 . . . . . . . . . . 11 Rel (𝐷 Func 𝐸)
16 eqid 2765 . . . . . . . . . . . . . 14 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
1716fucbas 18038 . . . . . . . . . . . . 13 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
18 relfunc 17937 . . . . . . . . . . . . . 14 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
19 1st2ndbr 8041 . . . . . . . . . . . . . 14 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
2018, 6, 19sylancr 599 . . . . . . . . . . . . 13 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
218, 17, 20funcf1 17941 . . . . . . . . . . . 12 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(𝐷 Func 𝐸))
2221ffvelcdmda 7083 . . . . . . . . . . 11 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
23 1st2ndbr 8041 . . . . . . . . . . 11 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
2415, 22, 23sylancr 599 . . . . . . . . . 10 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
259, 14, 24funcf1 17941 . . . . . . . . 9 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
2625feqmptd 6953 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st𝐺)‘𝑥))‘𝑦)))
2713, 26eqtr4d 2803 . . . . . . 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 2765 . . . . . . . . . . . . . 14 (Hom ‘𝐶) = (Hom ‘𝐶)
34 eqid 2765 . . . . . . . . . . . . . 14 (Hom ‘𝐷) = (Hom ‘𝐷)
35 simprr 785 . . . . . . . . . . . . . . 15 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑧 ∈ (Base‘𝐷))
3635adantr 486 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑧 ∈ (Base‘𝐷))
37 eqid 2765 . . . . . . . . . . . . . . 15 (Id‘𝐶) = (Id‘𝐶)
38 funcrcl 17938 . . . . . . . . . . . . . . . . . 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 17756 . . . . . . . . . . . . . 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 18311 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
45 eqid 2765 . . . . . . . . . . . . . . . . . 18 (Id‘(𝐷 FuncCat 𝐸)) = (Id‘(𝐷 FuncCat 𝐸))
4620ad3antrrr 743 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
478, 37, 45, 46, 31funcid 17945 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘(𝐷 FuncCat 𝐸))‘((1st𝐺)‘𝑥)))
48 eqid 2765 . . . . . . . . . . . . . . . . . 18 (Id‘𝐸) = (Id‘𝐸)
4922ad2antrr 739 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
5016, 45, 48, 49fucid 18049 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘(𝐷 FuncCat 𝐸))‘((1st𝐺)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥))))
5147, 50eqtrd 2800 . . . . . . . . . . . . . . . 16 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥))))
5251fveq1d 6887 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧))
5325ad2antrr 739 . . . . . . . . . . . . . . . 16 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
54 fvco3 6985 . . . . . . . . . . . . . . . 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 2800 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5756oveq1d 7431 . . . . . . . . . . . . 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 2765 . . . . . . . . . . . . . 14 (Hom ‘𝐸) = (Hom ‘𝐸)
5953, 32ffvelcdmd 7084 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑦) ∈ (Base‘𝐸))
60 eqid 2765 . . . . . . . . . . . . . 14 (comp‘𝐸) = (comp‘𝐸)
6153, 36ffvelcdmd 7084 . . . . . . . . . . . . . 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 17943 . . . . . . . . . . . . . . 15 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧):(𝑦(Hom ‘𝐷)𝑧)⟶(((1st ‘((1st𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
6564ffvelcdmda 7083 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔) ∈ (((1st ‘((1st𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
6614, 58, 48, 29, 59, 60, 61, 65catlid 17757 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)) = ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔))
6744, 57, 663eqtrd 2804 . . . . . . . . . . . 12 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔))
6867mpteq2dva 5206 . . . . . . . . . . 11 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
6964feqmptd 6953 . . . . . . . . . . 11 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
7068, 69eqtr4d 2803 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧))
71703impb 1132 . . . . . . . . 9 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧))
7271mpoeq3dva 7493 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
739, 24funcfn2 17944 . . . . . . . . 9 ((𝜑𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)))
74 fnov 7547 . . . . . . . . 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 2803 . . . . . . 7 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (2nd ‘((1st𝐺)‘𝑥)))
7727, 76opeq12d 4848 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
78 1st2nd 8038 . . . . . . 7 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → ((1st𝐺)‘𝑥) = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
7915, 22, 78sylancr 599 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
8077, 79eqtr4d 2803 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ((1st𝐺)‘𝑥))
8180mpteq2dva 5206 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st𝐺)‘𝑥)))
8221feqmptd 6953 . . . 4 (𝜑 → (1st𝐺) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st𝐺)‘𝑥)))
8381, 82eqtr4d 2803 . . 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 2765 . . . . . . . . . . . . 13 (Id‘𝐷) = (Id‘𝐷)
949, 34, 93, 84, 89catidcl 17756 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((Id‘𝐷)‘𝑧) ∈ (𝑧(Hom ‘𝐷)𝑧))
951, 84, 85, 86, 8, 9, 88, 89, 33, 34, 91, 89, 92, 94uncf2 18311 . . . . . . . . . . 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 17945 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑧(2nd ‘((1st𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧)) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
101100oveq2d 7432 . . . . . . . . . . 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 17941 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
103102ffvelcdmda 7083 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
10421ffvelcdmda 7083 . . . . . . . . . . . . . . . . 17 ((𝜑𝑦 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
105104adantrl 729 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
106105adantr 486 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
107 1st2ndbr 8041 . . . . . . . . . . . . . . 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 17941 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑦)):(Base‘𝐷)⟶(Base‘𝐸))
110109ffvelcdmda 7083 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st𝐺)‘𝑦))‘𝑧) ∈ (Base‘𝐸))
111 eqid 2765 . . . . . . . . . . . . 13 (𝐷 Nat 𝐸) = (𝐷 Nat 𝐸)
11216, 111fuchom 18039 . . . . . . . . . . . . . . . 16 (𝐷 Nat 𝐸) = (Hom ‘(𝐷 FuncCat 𝐸))
11320ad3antrrr 743 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
1148, 33, 112, 113, 88, 91funcf2 17943 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑥(2nd𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
115114, 92ffvelcdmd 7084 . . . . . . . . . . . . . 14 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
116111, 115nat1st2nd 18029 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st𝐺)‘𝑦)), (2nd ‘((1st𝐺)‘𝑦))⟩))
117111, 116, 9, 58, 89natcl 18031 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧) ∈ (((1st ‘((1st𝐺)‘𝑥))‘𝑧)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧)))
11814, 58, 48, 85, 103, 60, 110, 117catrid 17758 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))) = (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧))
11995, 101, 1183eqtrd 2804 . . . . . . . . . 10 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧))
120119mpteq2dva 5206 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
12120adantr 486 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
1228, 33, 112, 121, 87, 90funcf2 17943 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
123122ffvelcdmda 7083 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
124111, 123nat1st2nd 18029 . . . . . . . . . . 11 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st𝐺)‘𝑦)), (2nd ‘((1st𝐺)‘𝑦))⟩))
125111, 124, 9natfn 18032 . . . . . . . . . 10 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) Fn (Base‘𝐷))
126 dffn5 6943 . . . . . . . . . 10 (((𝑥(2nd𝐺)𝑦)‘𝑔) Fn (Base‘𝐷) ↔ ((𝑥(2nd𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
127125, 126sylib 221 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
128120, 127eqtr4d 2803 . . . . . . . 8 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = ((𝑥(2nd𝐺)𝑦)‘𝑔))
129128mpteq2dva 5206 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd𝐺)𝑦)‘𝑔)))
130122feqmptd 6953 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐺)𝑦) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd𝐺)𝑦)‘𝑔)))
131129, 130eqtr4d 2803 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd𝐺)𝑦))
1321313impb 1132 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd𝐺)𝑦))
133132mpoeq3dva 7493 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
1348, 20funcfn2 17944 . . . . 5 (𝜑 → (2nd𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)))
135 fnov 7547 . . . . 5 ((2nd𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)) ↔ (2nd𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
136134, 135sylib 221 . . . 4 (𝜑 → (2nd𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
137133, 136eqtr4d 2803 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (2nd𝐺))
13883, 137opeq12d 4848 . 2 (𝜑 → ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩ = ⟨(1st𝐺), (2nd𝐺)⟩)
139 eqid 2765 . . 3 (⟨𝐶, 𝐷⟩ curryF 𝐹) = (⟨𝐶, 𝐷⟩ curryF 𝐹)
1401, 2, 4, 6uncfcl 18309 . . 3 (𝜑𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 18297 . 2 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩)
142 1st2nd 8038 . . 3 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → 𝐺 = ⟨(1st𝐺), (2nd𝐺)⟩)
14318, 6, 142sylancr 599 . 2 (𝜑𝐺 = ⟨(1st𝐺), (2nd𝐺)⟩)
144138, 141, 1433eqtr4d 2810 1 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2146  cop 4597   class class class wbr 5111  cmpt 5194   × cxp 5661  ccom 5667  Rel wrel 5668   Fn wfn 6535  wf 6536  cfv 6540  (class class class)co 7416  cmpo 7418  1st c1st 7986  2nd c2nd 7987  ⟨“cs3 14899  Basecbs 17287  Hom chom 17339  compcco 17340  Catccat 17738  Idccid 17739   Func cfunc 17929   Nat cnat 18019   FuncCat cfuc 18020   curryF ccurf 18284   uncurryF cuncf 18285
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 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7738  ax-cnex 11167  ax-resscn 11168  ax-1cn 11169  ax-icn 11170  ax-addcl 11171  ax-addrcl 11172  ax-mulcl 11173  ax-mulrcl 11174  ax-mulcom 11175  ax-addass 11176  ax-mulass 11177  ax-distr 11178  ax-i2m1 11179  ax-1ne0 11180  ax-1rid 11181  ax-rnegex 11182  ax-rrecex 11183  ax-cnre 11184  ax-pre-lttri 11185  ax-pre-lttrn 11186  ax-pre-ltadd 11187  ax-pre-mulgt0 11188
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 2100  df-mo 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-nel 3067  df-ral 3082  df-rex 3092  df-rmo 3371  df-reu 3372  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-tp 4596  df-op 4598  df-uni 4875  df-int 4915  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-tr 5221  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-om 7865  df-1st 7988  df-2nd 7989  df-frecs 8280  df-wrecs 8311  df-recs 8360  df-rdg 8399  df-1o 8455  df-er 8696  df-map 8828  df-ixp 8898  df-en 8946  df-dom 8947  df-sdom 8948  df-fin 8949  df-card 9937  df-pnf 11256  df-mnf 11257  df-xr 11258  df-ltxr 11259  df-le 11260  df-sub 11454  df-neg 11455  df-nn 12245  df-2 12314  df-3 12315  df-4 12316  df-5 12317  df-6 12318  df-7 12319  df-8 12320  df-9 12321  df-n0 12516  df-z 12603  df-dec 12724  df-uz 12875  df-fz 13548  df-fzo 13696  df-hash 14381  df-word 14565  df-concat 14622  df-s1 14649  df-s2 14905  df-s3 14906  df-struct 17225  df-slot 17260  df-ndx 17272  df-base 17288  df-hom 17352  df-cco 17353  df-cat 17742  df-cid 17743  df-func 17933  df-cofu 17935  df-nat 18021  df-fuc 18022  df-xpc 18246  df-1stf 18247  df-2ndf 18248  df-prf 18249  df-evlf 18287  df-curf 18288  df-uncf 18289
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator