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

Theorem curfuncf 18405
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 2761 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
9 eqid 2761 . . . . . . . . . 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 18403 . . . . . . . . 9 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → (𝑥(1st ‘𝐹)𝑦) = ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦))
1312mpteq2dva 5198 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)))
14 eqid 2761 . . . . . . . . . 10 (Base‘𝐸) = (Base‘𝐸)
15 relfunc 18030 . . . . . . . . . . 11 Rel (𝐷 Func 𝐸)
16 eqid 2761 . . . . . . . . . . . . . 14 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
1716fucbas 18131 . . . . . . . . . . . . 13 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
18 relfunc 18030 . . . . . . . . . . . . . 14 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
19 1st2ndbr 8051 . . . . . . . . . . . . . 14 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
2018, 6, 19sylancr 599 . . . . . . . . . . . . 13 (𝜑 → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
218, 17, 20funcf1 18034 . . . . . . . . . . . 12 (𝜑 → (1st ‘𝐺):(Base‘𝐶)⟶(𝐷 Func 𝐸))
2221ffvelcdmda 7082 . . . . . . . . . . 11 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
23 1st2ndbr 8051 . . . . . . . . . . 11 ((Rel (𝐷 Func 𝐸) ∧ ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
2415, 22, 23sylancr 599 . . . . . . . . . 10 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st ‘𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st ‘𝐺)‘𝑥)))
259, 14, 24funcf1 18034 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
2625feqmptd 6951 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st ‘𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)))
2713, 26eqtr4d 2799 . . . . . . 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 2761 . . . . . . . . . . . . . 14 (Hom ‘𝐶) = (Hom ‘𝐶)
34 eqid 2761 . . . . . . . . . . . . . 14 (Hom ‘𝐷) = (Hom ‘𝐷)
35 simprr 785 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑧 ∈ (Base‘𝐷))
3635adantr 486 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑧 ∈ (Base‘𝐷))
37 eqid 2761 . . . . . . . . . . . . . . 15 (Id‘𝐶) = (Id‘𝐶)
38 funcrcl 18031 . . . . . . . . . . . . . . . . . 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 17849 . . . . . . . . . . . . . 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 18404 . . . . . . . . . . . . 13 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
45 eqid 2761 . . . . . . . . . . . . . . . . . 18 (Id‘(𝐷 FuncCat 𝐸)) = (Id‘(𝐷 FuncCat 𝐸))
4620ad3antrrr 743 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
478, 37, 45, 46, 31funcid 18038 . . . . . . . . . . . . . . . . 17 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘(𝐷 FuncCat 𝐸))‘((1st ‘𝐺)‘𝑥)))
48 eqid 2761 . . . . . . . . . . . . . . . . . 18 (Id‘𝐸) = (Id‘𝐸)
4922ad2antrr 739 . . . . . . . . . . . . . . . . . 18 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
5016, 45, 48, 49fucid 18142 . . . . . . . . . . . . . . . . 17 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘(𝐷 FuncCat 𝐸))‘((1st ‘𝐺)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥))))
5147, 50eqtrd 2796 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥))))
5251fveq1d 6885 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = (((Id‘𝐸) ∘ (1st ‘((1st ‘𝐺)‘𝑥)))‘𝑧))
5325ad2antrr 739 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
54 fvco3 6983 . . . . . . . . . . . . . . . 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 2796 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd ‘𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
5756oveq1d 7433 . . . . . . . . . . . . 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 2761 . . . . . . . . . . . . . 14 (Hom ‘𝐸) = (Hom ‘𝐸)
5953, 32ffvelcdmd 7083 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦) ∈ (Base‘𝐸))
60 eqid 2761 . . . . . . . . . . . . . 14 (comp‘𝐸) = (comp‘𝐸)
6153, 36ffvelcdmd 7083 . . . . . . . . . . . . . 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 18036 . . . . . . . . . . . . . . 15 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧):(𝑦(Hom ‘𝐷)𝑧)⟶(((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
6564ffvelcdmda 7082 . . . . . . . . . . . . . 14 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔) ∈ (((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
6614, 58, 48, 29, 59, 60, 61, 65catlid 17850 . . . . . . . . . . . . 13 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑦), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)) = ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔))
6744, 57, 663eqtrd 2800 . . . . . . . . . . . 12 ((((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔))
6867mpteq2dva 5198 . . . . . . . . . . 11 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
6964feqmptd 6951 . . . . . . . . . . 11 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘𝑔)))
7068, 69eqtr4d 2799 . . . . . . . . . 10 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧))
71703impb 1132 . . . . . . . . 9 (((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧))
7271mpoeq3dva 7495 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)))
739, 24funcfn2 18037 . . . . . . . . 9 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st ‘𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)))
74 fnov 7549 . . . . . . . . 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 2799 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (2nd ‘((1st ‘𝐺)‘𝑥)))
7727, 76opeq12d 4841 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩)
78 1st2nd 8048 . . . . . . 7 ((Rel (𝐷 Func 𝐸) ∧ ((1st ‘𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → ((1st ‘𝐺)‘𝑥) = ⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩)
7915, 22, 78sylancr 599 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑥) = ⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩)
8077, 79eqtr4d 2799 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ((1st ‘𝐺)‘𝑥))
8180mpteq2dva 5198 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st ‘𝐺)‘𝑥)))
8221feqmptd 6951 . . . 4 (𝜑 → (1st ‘𝐺) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st ‘𝐺)‘𝑥)))
8381, 82eqtr4d 2799 . . 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 2761 . . . . . . . . . . . . 13 (Id‘𝐷) = (Id‘𝐷)
949, 34, 93, 84, 89catidcl 17849 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((Id‘𝐷)‘𝑧) ∈ (𝑧(Hom ‘𝐷)𝑧))
951, 84, 85, 86, 8, 9, 88, 89, 33, 34, 91, 89, 92, 94uncf2 18404 . . . . . . . . . . 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 18038 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑧(2nd ‘((1st ‘𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧)) = ((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)))
101100oveq2d 7434 . . . . . . . . . . 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 18034 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st ‘𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
103102ffvelcdmda 7082 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
10421ffvelcdmda 7082 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ 𝑦 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
105104adantrl 729 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
106105adantr 486 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st ‘𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
107 1st2ndbr 8051 . . . . . . . . . . . . . . 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 18034 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st ‘𝐺)‘𝑦)):(Base‘𝐷)⟶(Base‘𝐸))
110109ffvelcdmda 7082 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧) ∈ (Base‘𝐸))
111 eqid 2761 . . . . . . . . . . . . 13 (𝐷 Nat 𝐸) = (𝐷 Nat 𝐸)
11216, 111fuchom 18132 . . . . . . . . . . . . . . . 16 (𝐷 Nat 𝐸) = (Hom ‘(𝐷 FuncCat 𝐸))
11320ad3antrrr 743 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
1148, 33, 112, 113, 88, 91funcf2 18036 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑥(2nd ‘𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
115114, 92ffvelcdmd 7083 . . . . . . . . . . . . . 14 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
116111, 115nat1st2nd 18122 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st ‘𝐺)‘𝑦)), (2nd ‘((1st ‘𝐺)‘𝑦))⟩))
117111, 116, 9, 58, 89natcl 18124 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧) ∈ (((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)(Hom ‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧)))
11814, 58, 48, 85, 103, 60, 110, 117catrid 17851 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧), ((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st ‘𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st ‘𝐺)‘𝑥))‘𝑧))) = (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧))
11995, 101, 1183eqtrd 2800 . . . . . . . . . 10 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧))
120119mpteq2dva 5198 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)))
12120adantr 486 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st ‘𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd ‘𝐺))
1228, 33, 112, 121, 87, 90funcf2 18036 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
123122ffvelcdmda 7082 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (((1st ‘𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st ‘𝐺)‘𝑦)))
124111, 123nat1st2nd 18122 . . . . . . . . . . 11 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st ‘𝐺)‘𝑥)), (2nd ‘((1st ‘𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st ‘𝐺)‘𝑦)), (2nd ‘((1st ‘𝐺)‘𝑦))⟩))
125111, 124, 9natfn 18125 . . . . . . . . . 10 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) Fn (Base‘𝐷))
126 dffn5 6941 . . . . . . . . . 10 (((𝑥(2nd ‘𝐺)𝑦)‘𝑔) Fn (Base‘𝐷) ↔ ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)))
127125, 126sylib 221 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd ‘𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd ‘𝐺)𝑦)‘𝑔)‘𝑧)))
128120, 127eqtr4d 2799 . . . . . . . 8 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = ((𝑥(2nd ‘𝐺)𝑦)‘𝑔))
129128mpteq2dva 5198 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd ‘𝐺)𝑦)‘𝑔)))
130122feqmptd 6951 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘𝐺)𝑦) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd ‘𝐺)𝑦)‘𝑔)))
131129, 130eqtr4d 2799 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd ‘𝐺)𝑦))
1321313impb 1132 . . . . 5 ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd ‘𝐺)𝑦))
133132mpoeq3dva 7495 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐺)𝑦)))
1348, 20funcfn2 18037 . . . . 5 (𝜑 → (2nd ‘𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)))
135 fnov 7549 . . . . 5 ((2nd ‘𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)) ↔ (2nd ‘𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐺)𝑦)))
136134, 135sylib 221 . . . 4 (𝜑 → (2nd ‘𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd ‘𝐺)𝑦)))
137133, 136eqtr4d 2799 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (2nd ‘𝐺))
13883, 137opeq12d 4841 . 2 (𝜑 → ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩ = ⟨(1st ‘𝐺), (2nd ‘𝐺)⟩)
139 eqid 2761 . . 3 (⟨𝐶, 𝐷⟩ curryF 𝐹) = (⟨𝐶, 𝐷⟩ curryF 𝐹)
1401, 2, 4, 6uncfcl 18402 . . 3 (𝜑 → 𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 18390 . 2 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st ‘𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd ‘𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd ‘𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩)
142 1st2nd 8048 . . 3 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → 𝐺 = ⟨(1st ‘𝐺), (2nd ‘𝐺)⟩)
14318, 6, 142sylancr 599 . 2 (𝜑 → 𝐺 = ⟨(1st ‘𝐺), (2nd ‘𝐺)⟩)
144138, 141, 1433eqtr4d 2806 1 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   = wceq 1570   ∈ wcel 2145  ⟨cop 4590   class class class wbr 5103   ↦ cmpt 5186   × cxp 5649   ∘ ccom 5655  Rel wrel 5656   Fn wfn 6532  ⟶wf 6533  ‘cfv 6537  (class class class)co 7418   ∈ cmpo 7420  1st c1st 7997  2nd c2nd 7998  ⟨“cs3 14986  Basecbs 17380  Hom chom 17432  compcco 17433  Catccat 17831  Idccid 17832   Func cfunc 18022   Nat cnat 18112   FuncCat cfuc 18113   curryF ccurf 18377   uncurryF cuncf 18378
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 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7749  ax-cnex 11249  ax-resscn 11250  ax-1cn 11251  ax-icn 11252  ax-addcl 11253  ax-addrcl 11254  ax-mulcl 11255  ax-mulrcl 11256  ax-mulcom 11257  ax-addass 11258  ax-mulass 11259  ax-distr 11260  ax-i2m1 11261  ax-1ne0 11262  ax-1rid 11263  ax-rnegex 11264  ax-rrecex 11265  ax-cnre 11266  ax-pre-lttri 11267  ax-pre-lttrn 11268  ax-pre-ltadd 11269  ax-pre-mulgt0 11270
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 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7375  df-ov 7421  df-oprab 7422  df-mpo 7423  df-om 7876  df-1st 7999  df-2nd 8000  df-frecs 8292  df-wrecs 8323  df-recs 8372  df-rdg 8411  df-1o 8469  df-er 8710  df-map 8842  df-ixp 8919  df-en 8967  df-dom 8968  df-sdom 8969  df-fin 8970  df-card 10013  df-pnf 11338  df-mnf 11339  df-xr 11340  df-ltxr 11341  df-le 11342  df-sub 11536  df-neg 11537  df-nn 12329  df-2 12398  df-3 12399  df-4 12400  df-5 12401  df-6 12402  df-7 12403  df-8 12404  df-9 12405  df-n0 12600  df-z 12687  df-dec 12808  df-uz 12959  df-fz 13633  df-fzo 13782  df-hash 14468  df-word 14652  df-concat 14709  df-s1 14736  df-s2 14992  df-s3 14993  df-struct 17318  df-slot 17353  df-ndx 17365  df-base 17381  df-hom 17445  df-cco 17446  df-cat 17835  df-cid 17836  df-func 18026  df-cofu 18028  df-nat 18114  df-fuc 18115  df-xpc 18339  df-1stf 18340  df-2ndf 18341  df-prf 18342  df-evlf 18380  df-curf 18381  df-uncf 18382
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator