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

Theorem curfuncf 17358
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 714 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐷 ∈ Cat)
4 uncfval.d . . . . . . . . . . 11 (𝜑𝐸 ∈ Cat)
54ad2antrr 714 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐸 ∈ Cat)
6 uncfval.f . . . . . . . . . . 11 (𝜑𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
76ad2antrr 714 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
8 eqid 2771 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
9 eqid 2771 . . . . . . . . . 10 (Base‘𝐷) = (Base‘𝐷)
10 simplr 757 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝑥 ∈ (Base‘𝐶))
11 simpr 477 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝑦 ∈ (Base‘𝐷))
121, 3, 5, 7, 8, 9, 10, 11uncf1 17356 . . . . . . . . 9 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → (𝑥(1st𝐹)𝑦) = ((1st ‘((1st𝐺)‘𝑥))‘𝑦))
1312mpteq2dva 5018 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st𝐺)‘𝑥))‘𝑦)))
14 eqid 2771 . . . . . . . . . 10 (Base‘𝐸) = (Base‘𝐸)
15 relfunc 17002 . . . . . . . . . . 11 Rel (𝐷 Func 𝐸)
16 eqid 2771 . . . . . . . . . . . . . 14 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
1716fucbas 17100 . . . . . . . . . . . . 13 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
18 relfunc 17002 . . . . . . . . . . . . . 14 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
19 1st2ndbr 7551 . . . . . . . . . . . . . 14 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
2018, 6, 19sylancr 579 . . . . . . . . . . . . 13 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
218, 17, 20funcf1 17006 . . . . . . . . . . . 12 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(𝐷 Func 𝐸))
2221ffvelrnda 6674 . . . . . . . . . . 11 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
23 1st2ndbr 7551 . . . . . . . . . . 11 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
2415, 22, 23sylancr 579 . . . . . . . . . 10 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
259, 14, 24funcf1 17006 . . . . . . . . 9 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
2625feqmptd 6560 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st𝐺)‘𝑥))‘𝑦)))
2713, 26eqtr4d 2810 . . . . . . 7 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)) = (1st ‘((1st𝐺)‘𝑥)))
282ad3antrrr 718 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐷 ∈ Cat)
294ad3antrrr 718 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐸 ∈ Cat)
306ad3antrrr 718 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
31 simpllr 764 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑥 ∈ (Base‘𝐶))
32 simplrl 765 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑦 ∈ (Base‘𝐷))
33 eqid 2771 . . . . . . . . . . . . . 14 (Hom ‘𝐶) = (Hom ‘𝐶)
34 eqid 2771 . . . . . . . . . . . . . 14 (Hom ‘𝐷) = (Hom ‘𝐷)
35 simprr 761 . . . . . . . . . . . . . . 15 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑧 ∈ (Base‘𝐷))
3635adantr 473 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑧 ∈ (Base‘𝐷))
37 eqid 2771 . . . . . . . . . . . . . . 15 (Id‘𝐶) = (Id‘𝐶)
38 funcrcl 17003 . . . . . . . . . . . . . . . . . 18 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
396, 38syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
4039simpld 487 . . . . . . . . . . . . . . . 16 (𝜑𝐶 ∈ Cat)
4140ad3antrrr 718 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐶 ∈ Cat)
428, 33, 37, 41, 31catidcl 16823 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
43 simpr 477 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧))
441, 28, 29, 30, 8, 9, 31, 32, 33, 34, 31, 36, 42, 43uncf2 17357 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
45 eqid 2771 . . . . . . . . . . . . . . . . . 18 (Id‘(𝐷 FuncCat 𝐸)) = (Id‘(𝐷 FuncCat 𝐸))
4620ad3antrrr 718 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
478, 37, 45, 46, 31funcid 17010 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘(𝐷 FuncCat 𝐸))‘((1st𝐺)‘𝑥)))
48 eqid 2771 . . . . . . . . . . . . . . . . . 18 (Id‘𝐸) = (Id‘𝐸)
4922ad2antrr 714 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
5016, 45, 48, 49fucid 17111 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘(𝐷 FuncCat 𝐸))‘((1st𝐺)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥))))
5147, 50eqtrd 2807 . . . . . . . . . . . . . . . 16 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥))))
5251fveq1d 6498 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧))
5325ad2antrr 714 . . . . . . . . . . . . . . . 16 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
54 fvco3 6586 . . . . . . . . . . . . . . . 16 (((1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸) ∧ 𝑧 ∈ (Base‘𝐷)) → (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5553, 36, 54syl2anc 576 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5652, 55eqtrd 2807 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5756oveq1d 6989 . . . . . . . . . . . . 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 2771 . . . . . . . . . . . . . 14 (Hom ‘𝐸) = (Hom ‘𝐸)
5953, 32ffvelrnd 6675 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑦) ∈ (Base‘𝐸))
60 eqid 2771 . . . . . . . . . . . . . 14 (comp‘𝐸) = (comp‘𝐸)
6153, 36ffvelrnd 6675 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
6224adantr 473 . . . . . . . . . . . . . . . 16 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
63 simprl 759 . . . . . . . . . . . . . . . 16 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑦 ∈ (Base‘𝐷))
649, 34, 58, 62, 63, 35funcf2 17008 . . . . . . . . . . . . . . 15 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧):(𝑦(Hom ‘𝐷)𝑧)⟶(((1st ‘((1st𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
6564ffvelrnda 6674 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔) ∈ (((1st ‘((1st𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
6614, 58, 48, 29, 59, 60, 61, 65catlid 16824 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)) = ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔))
6744, 57, 663eqtrd 2811 . . . . . . . . . . . 12 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔))
6867mpteq2dva 5018 . . . . . . . . . . 11 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
6964feqmptd 6560 . . . . . . . . . . 11 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
7068, 69eqtr4d 2810 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧))
71703impb 1096 . . . . . . . . 9 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧))
7271mpoeq3dva 7047 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
739, 24funcfn2 17009 . . . . . . . . 9 ((𝜑𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)))
74 fnov 7096 . . . . . . . . 9 ((2nd ‘((1st𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)) ↔ (2nd ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
7573, 74sylib 210 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
7672, 75eqtr4d 2810 . . . . . . 7 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (2nd ‘((1st𝐺)‘𝑥)))
7727, 76opeq12d 4681 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
78 1st2nd 7548 . . . . . . 7 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → ((1st𝐺)‘𝑥) = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
7915, 22, 78sylancr 579 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
8077, 79eqtr4d 2810 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ((1st𝐺)‘𝑥))
8180mpteq2dva 5018 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st𝐺)‘𝑥)))
8221feqmptd 6560 . . . 4 (𝜑 → (1st𝐺) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st𝐺)‘𝑥)))
8381, 82eqtr4d 2810 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (1st𝐺))
842ad3antrrr 718 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐷 ∈ Cat)
854ad3antrrr 718 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐸 ∈ Cat)
866ad3antrrr 718 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
87 simprl 759 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
8887ad2antrr 714 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑥 ∈ (Base‘𝐶))
89 simpr 477 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑧 ∈ (Base‘𝐷))
90 simprr 761 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
9190ad2antrr 714 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑦 ∈ (Base‘𝐶))
92 simplr 757 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦))
93 eqid 2771 . . . . . . . . . . . . 13 (Id‘𝐷) = (Id‘𝐷)
949, 34, 93, 84, 89catidcl 16823 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((Id‘𝐷)‘𝑧) ∈ (𝑧(Hom ‘𝐷)𝑧))
951, 84, 85, 86, 8, 9, 88, 89, 33, 34, 91, 89, 92, 94uncf2 17357 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((𝑧(2nd ‘((1st𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧))))
9622adantrr 705 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
9796adantr 473 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
9815, 97, 23sylancr 579 . . . . . . . . . . . . . 14 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
9998adantr 473 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
1009, 93, 48, 99, 89funcid 17010 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑧(2nd ‘((1st𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧)) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
101100oveq2d 6990 . . . . . . . . . . 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 17006 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
103102ffvelrnda 6674 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
10421ffvelrnda 6674 . . . . . . . . . . . . . . . . 17 ((𝜑𝑦 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
105104adantrl 704 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
106105adantr 473 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
107 1st2ndbr 7551 . . . . . . . . . . . . . . 15 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st𝐺)‘𝑦))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑦)))
10815, 106, 107sylancr 579 . . . . . . . . . . . . . 14 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑦))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑦)))
1099, 14, 108funcf1 17006 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑦)):(Base‘𝐷)⟶(Base‘𝐸))
110109ffvelrnda 6674 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st𝐺)‘𝑦))‘𝑧) ∈ (Base‘𝐸))
111 eqid 2771 . . . . . . . . . . . . 13 (𝐷 Nat 𝐸) = (𝐷 Nat 𝐸)
11216, 111fuchom 17101 . . . . . . . . . . . . . . . 16 (𝐷 Nat 𝐸) = (Hom ‘(𝐷 FuncCat 𝐸))
11320ad3antrrr 718 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
1148, 33, 112, 113, 88, 91funcf2 17008 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑥(2nd𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
115114, 92ffvelrnd 6675 . . . . . . . . . . . . . 14 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
116111, 115nat1st2nd 17091 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st𝐺)‘𝑦)), (2nd ‘((1st𝐺)‘𝑦))⟩))
117111, 116, 9, 58, 89natcl 17093 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧) ∈ (((1st ‘((1st𝐺)‘𝑥))‘𝑧)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧)))
11814, 58, 48, 85, 103, 60, 110, 117catrid 16825 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))) = (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧))
11995, 101, 1183eqtrd 2811 . . . . . . . . . 10 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧))
120119mpteq2dva 5018 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
12120adantr 473 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
1228, 33, 112, 121, 87, 90funcf2 17008 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
123122ffvelrnda 6674 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
124111, 123nat1st2nd 17091 . . . . . . . . . . 11 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st𝐺)‘𝑦)), (2nd ‘((1st𝐺)‘𝑦))⟩))
125111, 124, 9natfn 17094 . . . . . . . . . 10 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) Fn (Base‘𝐷))
126 dffn5 6551 . . . . . . . . . 10 (((𝑥(2nd𝐺)𝑦)‘𝑔) Fn (Base‘𝐷) ↔ ((𝑥(2nd𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
127125, 126sylib 210 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
128120, 127eqtr4d 2810 . . . . . . . 8 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = ((𝑥(2nd𝐺)𝑦)‘𝑔))
129128mpteq2dva 5018 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd𝐺)𝑦)‘𝑔)))
130122feqmptd 6560 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐺)𝑦) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd𝐺)𝑦)‘𝑔)))
131129, 130eqtr4d 2810 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd𝐺)𝑦))
1321313impb 1096 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd𝐺)𝑦))
133132mpoeq3dva 7047 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
1348, 20funcfn2 17009 . . . . 5 (𝜑 → (2nd𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)))
135 fnov 7096 . . . . 5 ((2nd𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)) ↔ (2nd𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
136134, 135sylib 210 . . . 4 (𝜑 → (2nd𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
137133, 136eqtr4d 2810 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (2nd𝐺))
13883, 137opeq12d 4681 . 2 (𝜑 → ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩ = ⟨(1st𝐺), (2nd𝐺)⟩)
139 eqid 2771 . . 3 (⟨𝐶, 𝐷⟩ curryF 𝐹) = (⟨𝐶, 𝐷⟩ curryF 𝐹)
1401, 2, 4, 6uncfcl 17355 . . 3 (𝜑𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 17343 . 2 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩)
142 1st2nd 7548 . . 3 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → 𝐺 = ⟨(1st𝐺), (2nd𝐺)⟩)
14318, 6, 142sylancr 579 . 2 (𝜑𝐺 = ⟨(1st𝐺), (2nd𝐺)⟩)
144138, 141, 1433eqtr4d 2817 1 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 387   = wceq 1508  wcel 2051  cop 4441   class class class wbr 4925  cmpt 5004   × cxp 5401  ccom 5407  Rel wrel 5408   Fn wfn 6180  wf 6181  cfv 6185  (class class class)co 6974  cmpo 6976  1st c1st 7497  2nd c2nd 7498  ⟨“cs3 14064  Basecbs 16337  Hom chom 16430  compcco 16431  Catccat 16805  Idccid 16806   Func cfunc 16994   Nat cnat 17081   FuncCat cfuc 17082   curryF ccurf 17330   uncurryF cuncf 17331
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1759  ax-4 1773  ax-5 1870  ax-6 1929  ax-7 1966  ax-8 2053  ax-9 2060  ax-10 2080  ax-11 2094  ax-12 2107  ax-13 2302  ax-ext 2743  ax-rep 5045  ax-sep 5056  ax-nul 5063  ax-pow 5115  ax-pr 5182  ax-un 7277  ax-cnex 10389  ax-resscn 10390  ax-1cn 10391  ax-icn 10392  ax-addcl 10393  ax-addrcl 10394  ax-mulcl 10395  ax-mulrcl 10396  ax-mulcom 10397  ax-addass 10398  ax-mulass 10399  ax-distr 10400  ax-i2m1 10401  ax-1ne0 10402  ax-1rid 10403  ax-rnegex 10404  ax-rrecex 10405  ax-cnre 10406  ax-pre-lttri 10407  ax-pre-lttrn 10408  ax-pre-ltadd 10409  ax-pre-mulgt0 10410
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 835  df-3or 1070  df-3an 1071  df-tru 1511  df-fal 1521  df-ex 1744  df-nf 1748  df-sb 2017  df-mo 2548  df-eu 2585  df-clab 2752  df-cleq 2764  df-clel 2839  df-nfc 2911  df-ne 2961  df-nel 3067  df-ral 3086  df-rex 3087  df-reu 3088  df-rmo 3089  df-rab 3090  df-v 3410  df-sbc 3675  df-csb 3780  df-dif 3825  df-un 3827  df-in 3829  df-ss 3836  df-pss 3838  df-nul 4173  df-if 4345  df-pw 4418  df-sn 4436  df-pr 4438  df-tp 4440  df-op 4442  df-uni 4709  df-int 4746  df-iun 4790  df-br 4926  df-opab 4988  df-mpt 5005  df-tr 5027  df-id 5308  df-eprel 5313  df-po 5322  df-so 5323  df-fr 5362  df-we 5364  df-xp 5409  df-rel 5410  df-cnv 5411  df-co 5412  df-dm 5413  df-rn 5414  df-res 5415  df-ima 5416  df-pred 5983  df-ord 6029  df-on 6030  df-lim 6031  df-suc 6032  df-iota 6149  df-fun 6187  df-fn 6188  df-f 6189  df-f1 6190  df-fo 6191  df-f1o 6192  df-fv 6193  df-riota 6935  df-ov 6977  df-oprab 6978  df-mpo 6979  df-om 7395  df-1st 7499  df-2nd 7500  df-wrecs 7748  df-recs 7810  df-rdg 7848  df-1o 7903  df-oadd 7907  df-er 8087  df-map 8206  df-ixp 8258  df-en 8305  df-dom 8306  df-sdom 8307  df-fin 8308  df-card 9160  df-pnf 10474  df-mnf 10475  df-xr 10476  df-ltxr 10477  df-le 10478  df-sub 10670  df-neg 10671  df-nn 11438  df-2 11501  df-3 11502  df-4 11503  df-5 11504  df-6 11505  df-7 11506  df-8 11507  df-9 11508  df-n0 11706  df-z 11792  df-dec 11910  df-uz 12057  df-fz 12707  df-fzo 12848  df-hash 13504  df-word 13671  df-concat 13732  df-s1 13757  df-s2 14070  df-s3 14071  df-struct 16339  df-ndx 16340  df-slot 16341  df-base 16343  df-hom 16443  df-cco 16444  df-cat 16809  df-cid 16810  df-func 16998  df-cofu 17000  df-nat 17083  df-fuc 17084  df-xpc 17292  df-1stf 17293  df-2ndf 17294  df-prf 17295  df-evlf 17333  df-curf 17334  df-uncf 17335
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator