| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | eqid 2736 | . . . . . . 7
⊢
(Base‘𝐶) =
(Base‘𝐶) | 
| 2 |  | eqid 2736 | . . . . . . 7
⊢
(Base‘𝐷) =
(Base‘𝐷) | 
| 3 |  | relfunc 17908 | . . . . . . . 8
⊢ Rel
(𝐶 Func 𝐷) | 
| 4 |  | fuclid.r | . . . . . . . . . 10
⊢ (𝜑 → 𝑅 ∈ (𝐹𝑁𝐺)) | 
| 5 |  | fuclid.n | . . . . . . . . . . 11
⊢ 𝑁 = (𝐶 Nat 𝐷) | 
| 6 | 5 | natrcl 17999 | . . . . . . . . . 10
⊢ (𝑅 ∈ (𝐹𝑁𝐺) → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷))) | 
| 7 | 4, 6 | syl 17 | . . . . . . . . 9
⊢ (𝜑 → (𝐹 ∈ (𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷))) | 
| 8 | 7 | simprd 495 | . . . . . . . 8
⊢ (𝜑 → 𝐺 ∈ (𝐶 Func 𝐷)) | 
| 9 |  | 1st2ndbr 8068 | . . . . . . . 8
⊢ ((Rel
(𝐶 Func 𝐷) ∧ 𝐺 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺)) | 
| 10 | 3, 8, 9 | sylancr 587 | . . . . . . 7
⊢ (𝜑 → (1st
‘𝐺)(𝐶 Func 𝐷)(2nd ‘𝐺)) | 
| 11 | 1, 2, 10 | funcf1 17912 | . . . . . 6
⊢ (𝜑 → (1st
‘𝐺):(Base‘𝐶)⟶(Base‘𝐷)) | 
| 12 |  | fvco3 7007 | . . . . . 6
⊢
(((1st ‘𝐺):(Base‘𝐶)⟶(Base‘𝐷) ∧ 𝑥 ∈ (Base‘𝐶)) → (( 1 ∘ (1st
‘𝐺))‘𝑥) = ( 1 ‘((1st
‘𝐺)‘𝑥))) | 
| 13 | 11, 12 | sylan 580 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (( 1 ∘ (1st
‘𝐺))‘𝑥) = ( 1 ‘((1st
‘𝐺)‘𝑥))) | 
| 14 | 13 | oveq1d 7447 | . . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((( 1 ∘ (1st
‘𝐺))‘𝑥)(〈((1st
‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)〉(comp‘𝐷)((1st ‘𝐺)‘𝑥))(𝑅‘𝑥)) = (( 1 ‘((1st
‘𝐺)‘𝑥))(〈((1st
‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)〉(comp‘𝐷)((1st ‘𝐺)‘𝑥))(𝑅‘𝑥))) | 
| 15 |  | eqid 2736 | . . . . 5
⊢ (Hom
‘𝐷) = (Hom
‘𝐷) | 
| 16 |  | fuclid.1 | . . . . 5
⊢  1 =
(Id‘𝐷) | 
| 17 | 7 | simpld 494 | . . . . . . . 8
⊢ (𝜑 → 𝐹 ∈ (𝐶 Func 𝐷)) | 
| 18 |  | funcrcl 17909 | . . . . . . . 8
⊢ (𝐹 ∈ (𝐶 Func 𝐷) → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) | 
| 19 | 17, 18 | syl 17 | . . . . . . 7
⊢ (𝜑 → (𝐶 ∈ Cat ∧ 𝐷 ∈ Cat)) | 
| 20 | 19 | simprd 495 | . . . . . 6
⊢ (𝜑 → 𝐷 ∈ Cat) | 
| 21 | 20 | adantr 480 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝐷 ∈ Cat) | 
| 22 |  | 1st2ndbr 8068 | . . . . . . . 8
⊢ ((Rel
(𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st ‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹)) | 
| 23 | 3, 17, 22 | sylancr 587 | . . . . . . 7
⊢ (𝜑 → (1st
‘𝐹)(𝐶 Func 𝐷)(2nd ‘𝐹)) | 
| 24 | 1, 2, 23 | funcf1 17912 | . . . . . 6
⊢ (𝜑 → (1st
‘𝐹):(Base‘𝐶)⟶(Base‘𝐷)) | 
| 25 | 24 | ffvelcdmda 7103 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐹)‘𝑥) ∈ (Base‘𝐷)) | 
| 26 |  | eqid 2736 | . . . . 5
⊢
(comp‘𝐷) =
(comp‘𝐷) | 
| 27 | 11 | ffvelcdmda 7103 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((1st ‘𝐺)‘𝑥) ∈ (Base‘𝐷)) | 
| 28 | 5, 4 | nat1st2nd 18000 | . . . . . . 7
⊢ (𝜑 → 𝑅 ∈ (〈(1st ‘𝐹), (2nd ‘𝐹)〉𝑁〈(1st ‘𝐺), (2nd ‘𝐺)〉)) | 
| 29 | 28 | adantr 480 | . . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑅 ∈ (〈(1st ‘𝐹), (2nd ‘𝐹)〉𝑁〈(1st ‘𝐺), (2nd ‘𝐺)〉)) | 
| 30 |  | simpr 484 | . . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶)) | 
| 31 | 5, 29, 1, 15, 30 | natcl 18002 | . . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑅‘𝑥) ∈ (((1st ‘𝐹)‘𝑥)(Hom ‘𝐷)((1st ‘𝐺)‘𝑥))) | 
| 32 | 2, 15, 16, 21, 25, 26, 27, 31 | catlid 17727 | . . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → (( 1 ‘((1st
‘𝐺)‘𝑥))(〈((1st
‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)〉(comp‘𝐷)((1st ‘𝐺)‘𝑥))(𝑅‘𝑥)) = (𝑅‘𝑥)) | 
| 33 | 14, 32 | eqtrd 2776 | . . 3
⊢ ((𝜑 ∧ 𝑥 ∈ (Base‘𝐶)) → ((( 1 ∘ (1st
‘𝐺))‘𝑥)(〈((1st
‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)〉(comp‘𝐷)((1st ‘𝐺)‘𝑥))(𝑅‘𝑥)) = (𝑅‘𝑥)) | 
| 34 | 33 | mpteq2dva 5241 | . 2
⊢ (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ((( 1 ∘ (1st
‘𝐺))‘𝑥)(〈((1st
‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)〉(comp‘𝐷)((1st ‘𝐺)‘𝑥))(𝑅‘𝑥))) = (𝑥 ∈ (Base‘𝐶) ↦ (𝑅‘𝑥))) | 
| 35 |  | fuclid.q | . . 3
⊢ 𝑄 = (𝐶 FuncCat 𝐷) | 
| 36 |  | fuclid.x | . . 3
⊢  ∙ =
(comp‘𝑄) | 
| 37 | 35, 5, 16, 8 | fucidcl 18014 | . . 3
⊢ (𝜑 → ( 1 ∘ (1st
‘𝐺)) ∈ (𝐺𝑁𝐺)) | 
| 38 | 35, 5, 1, 26, 36, 4, 37 | fucco 18011 | . 2
⊢ (𝜑 → (( 1 ∘ (1st
‘𝐺))(〈𝐹, 𝐺〉 ∙ 𝐺)𝑅) = (𝑥 ∈ (Base‘𝐶) ↦ ((( 1 ∘ (1st
‘𝐺))‘𝑥)(〈((1st
‘𝐹)‘𝑥), ((1st ‘𝐺)‘𝑥)〉(comp‘𝐷)((1st ‘𝐺)‘𝑥))(𝑅‘𝑥)))) | 
| 39 | 5, 28, 1 | natfn 18003 | . . 3
⊢ (𝜑 → 𝑅 Fn (Base‘𝐶)) | 
| 40 |  | dffn5 6966 | . . 3
⊢ (𝑅 Fn (Base‘𝐶) ↔ 𝑅 = (𝑥 ∈ (Base‘𝐶) ↦ (𝑅‘𝑥))) | 
| 41 | 39, 40 | sylib 218 | . 2
⊢ (𝜑 → 𝑅 = (𝑥 ∈ (Base‘𝐶) ↦ (𝑅‘𝑥))) | 
| 42 | 34, 38, 41 | 3eqtr4d 2786 | 1
⊢ (𝜑 → (( 1 ∘ (1st
‘𝐺))(〈𝐹, 𝐺〉 ∙ 𝐺)𝑅) = 𝑅) |