Metamath Proof Explorer


Theorem fucolid

Description: Post-compose a natural transformation with an identity natural transformation. (Contributed by Zhi Wang, 11-Oct-2025)

Ref Expression
Hypotheses fucolid.p No typesetting found for |- ( ph -> ( 2nd ` ( <. C , D >. o.F E ) ) = P ) with typecode |-
fucolid.i ⊢ I = Id ⁡ Q
fucolid.q ⊢ Q = D FuncCat E
fucolid.a ⊢ φ → A ∈ G C Nat D H
fucolid.f ⊢ φ → F ∈ D Func E
Assertion fucolid ⊢ φ → I ⁡ F F G P F H A = x ∈ Base C ⟼ 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x

Proof

Step Hyp Ref Expression
1 fucolid.p Could not format ( ph -> ( 2nd ` ( <. C , D >. o.F E ) ) = P ) : No typesetting found for |- ( ph -> ( 2nd ` ( <. C , D >. o.F E ) ) = P ) with typecode |-
2 fucolid.i ⊢ I = Id ⁡ Q
3 fucolid.q ⊢ Q = D FuncCat E
4 fucolid.a ⊢ φ → A ∈ G C Nat D H
5 fucolid.f ⊢ φ → F ∈ D Func E
6 eqid ⊢ Id ⁡ E = Id ⁡ E
7 3 2 6 5 fucid ⊢ φ → I ⁡ F = Id ⁡ E ∘ 1 st ⁡ F
8 7 oveq1d ⊢ φ → I ⁡ F F G P F H A = Id ⁡ E ∘ 1 st ⁡ F F G P F H A
9 eqid ⊢ C Nat D = C Nat D
10 9 4 nat1st2nd ⊢ φ → A ∈ 1 st ⁡ G 2 nd ⁡ G C Nat D 1 st ⁡ H 2 nd ⁡ H
11 9 10 natrcl2 ⊢ φ → 1 st ⁡ G C Func D 2 nd ⁡ G
12 11 funcrcl2 ⊢ φ → C ∈ Cat
13 11 funcrcl3 ⊢ φ → D ∈ Cat
14 5 func1st2nd ⊢ φ → 1 st ⁡ F D Func E 2 nd ⁡ F
15 14 funcrcl3 ⊢ φ → E ∈ Cat
16 eqidd Could not format ( ph -> ( <. C , D >. o.F E ) = ( <. C , D >. o.F E ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = ( <. C , D >. o.F E ) ) with typecode |-
17 12 13 15 16 fucoelvv Could not format ( ph -> ( <. C , D >. o.F E ) e. ( _V X. _V ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) e. ( _V X. _V ) ) with typecode |-
18 1st2nd2 Could not format ( ( <. C , D >. o.F E ) e. ( _V X. _V ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ( <. C , D >. o.F E ) e. ( _V X. _V ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
19 17 18 syl Could not format ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
20 1 opeq2d Could not format ( ph -> <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. = <. ( 1st ` ( <. C , D >. o.F E ) ) , P >. ) : No typesetting found for |- ( ph -> <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. = <. ( 1st ` ( <. C , D >. o.F E ) ) , P >. ) with typecode |-
21 19 20 eqtrd Could not format ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , P >. ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , P >. ) with typecode |-
22 eqidd ⊢ φ → F G = F G
23 eqidd ⊢ φ → F H = F H
24 eqid ⊢ D Nat E = D Nat E
25 3 24 6 5 fucidcl ⊢ φ → Id ⁡ E ∘ 1 st ⁡ F ∈ F D Nat E F
26 21 22 23 4 25 fuco22a ⊢ φ → Id ⁡ E ∘ 1 st ⁡ F F G P F H A = x ∈ Base C ⟼ Id ⁡ E ∘ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x comp ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x
27 eqid ⊢ Base D = Base D
28 eqid ⊢ Base E = Base E
29 14 adantr ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F D Func E 2 nd ⁡ F
30 27 28 29 funcf1 ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F : Base D ⟶ Base E
31 eqid ⊢ Base C = Base C
32 9 10 natrcl3 ⊢ φ → 1 st ⁡ H C Func D 2 nd ⁡ H
33 31 27 32 funcf1 ⊢ φ → 1 st ⁡ H : Base C ⟶ Base D
34 33 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ H ⁡ x ∈ Base D
35 30 34 fvco3d ⊢ φ ∧ x ∈ Base C → Id ⁡ E ∘ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x = Id ⁡ E ⁡ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x
36 35 oveq1d ⊢ φ ∧ x ∈ Base C → Id ⁡ E ∘ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x comp ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x = Id ⁡ E ⁡ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x comp ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x
37 eqid ⊢ Hom ⁡ E = Hom ⁡ E
38 15 adantr ⊢ φ ∧ x ∈ Base C → E ∈ Cat
39 31 27 11 funcf1 ⊢ φ → 1 st ⁡ G : Base C ⟶ Base D
40 39 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ G ⁡ x ∈ Base D
41 30 40 ffvelcdmd ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x ∈ Base E
42 eqid ⊢ comp ⁡ E = comp ⁡ E
43 30 34 ffvelcdmd ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x ∈ Base E
44 eqid ⊢ Hom ⁡ D = Hom ⁡ D
45 27 44 37 29 40 34 funcf2 ⊢ φ ∧ x ∈ Base C → 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x : 1 st ⁡ G ⁡ x Hom ⁡ D 1 st ⁡ H ⁡ x ⟶ 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x Hom ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x
46 10 adantr ⊢ φ ∧ x ∈ Base C → A ∈ 1 st ⁡ G 2 nd ⁡ G C Nat D 1 st ⁡ H 2 nd ⁡ H
47 simpr ⊢ φ ∧ x ∈ Base C → x ∈ Base C
48 9 46 31 44 47 natcl ⊢ φ ∧ x ∈ Base C → A ⁡ x ∈ 1 st ⁡ G ⁡ x Hom ⁡ D 1 st ⁡ H ⁡ x
49 45 48 ffvelcdmd ⊢ φ ∧ x ∈ Base C → 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x ∈ 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x Hom ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x
50 28 37 6 38 41 42 43 49 catlid ⊢ φ ∧ x ∈ Base C → Id ⁡ E ⁡ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x comp ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x = 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x
51 36 50 eqtrd ⊢ φ ∧ x ∈ Base C → Id ⁡ E ∘ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x comp ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x = 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x
52 51 mpteq2dva ⊢ φ → x ∈ Base C ⟼ Id ⁡ E ∘ 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ G ⁡ x 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x comp ⁡ E 1 st ⁡ F ⁡ 1 st ⁡ H ⁡ x 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x = x ∈ Base C ⟼ 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x
53 8 26 52 3eqtrd ⊢ φ → I ⁡ F F G P F H A = x ∈ Base C ⟼ 1 st ⁡ G ⁡ x 2 nd ⁡ F 1 st ⁡ H ⁡ x ⁡ A ⁡ x