Metamath Proof Explorer


Theorem iscmd

Description: The universal property of colimits of a diagram. (Contributed by Zhi Wang, 13-Nov-2025)

Ref Expression
Hypotheses islmd.l L = C Δ func D
islmd.a A = Base C
islmd.n N = D Nat C
islmd.b B = Base D
islmd.h H = Hom C
islmd.x · ˙ = comp C
Assertion iscmd Could not format assertion : No typesetting found for |- ( X ( ( C Colimit D ) ` F ) R <-> ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) /\ A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 islmd.l L = C Δ func D
2 islmd.a A = Base C
3 islmd.n N = D Nat C
4 islmd.b B = Base D
5 islmd.h H = Hom C
6 islmd.x · ˙ = comp C
7 cmdfval2 Could not format ( ( C Colimit D ) ` F ) = ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) : No typesetting found for |- ( ( C Colimit D ) ` F ) = ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) with typecode |-
8 1 oveq1i Could not format ( L ( C UP ( D FuncCat C ) ) F ) = ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) : No typesetting found for |- ( L ( C UP ( D FuncCat C ) ) F ) = ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) with typecode |-
9 7 8 eqtr4i Could not format ( ( C Colimit D ) ` F ) = ( L ( C UP ( D FuncCat C ) ) F ) : No typesetting found for |- ( ( C Colimit D ) ` F ) = ( L ( C UP ( D FuncCat C ) ) F ) with typecode |-
10 9 breqi Could not format ( X ( ( C Colimit D ) ` F ) R <-> X ( L ( C UP ( D FuncCat C ) ) F ) R ) : No typesetting found for |- ( X ( ( C Colimit D ) ` F ) R <-> X ( L ( C UP ( D FuncCat C ) ) F ) R ) with typecode |-
11 id Could not format ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> X ( L ( C UP ( D FuncCat C ) ) F ) R ) : No typesetting found for |- ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> X ( L ( C UP ( D FuncCat C ) ) F ) R ) with typecode |-
12 11 up1st2nd Could not format ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> X ( <. ( 1st ` L ) , ( 2nd ` L ) >. ( C UP ( D FuncCat C ) ) F ) R ) : No typesetting found for |- ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> X ( <. ( 1st ` L ) , ( 2nd ` L ) >. ( C UP ( D FuncCat C ) ) F ) R ) with typecode |-
13 12 2 uprcl4 Could not format ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> X e. A ) : No typesetting found for |- ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> X e. A ) with typecode |-
14 eqid D FuncCat C = D FuncCat C
15 14 3 fuchom N = Hom D FuncCat C
16 12 15 uprcl5 Could not format ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> R e. ( F N ( ( 1st ` L ) ` X ) ) ) : No typesetting found for |- ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> R e. ( F N ( ( 1st ` L ) ` X ) ) ) with typecode |-
17 13 16 jca Could not format ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) ) : No typesetting found for |- ( X ( L ( C UP ( D FuncCat C ) ) F ) R -> ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) ) with typecode |-
18 3 natrcl R F N 1 st L X F D Func C 1 st L X D Func C
19 18 adantl X A R F N 1 st L X F D Func C 1 st L X D Func C
20 19 simpld X A R F N 1 st L X F D Func C
21 20 func1st2nd X A R F N 1 st L X 1 st F D Func C 2 nd F
22 21 funcrcl3 X A R F N 1 st L X C Cat
23 21 funcrcl2 X A R F N 1 st L X D Cat
24 1 22 23 14 diagcl X A R F N 1 st L X L C Func D FuncCat C
25 24 up1st2ndb Could not format ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) -> ( X ( L ( C UP ( D FuncCat C ) ) F ) R <-> X ( <. ( 1st ` L ) , ( 2nd ` L ) >. ( C UP ( D FuncCat C ) ) F ) R ) ) : No typesetting found for |- ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) -> ( X ( L ( C UP ( D FuncCat C ) ) F ) R <-> X ( <. ( 1st ` L ) , ( 2nd ` L ) >. ( C UP ( D FuncCat C ) ) F ) R ) ) with typecode |-
26 14 fucbas D Func C = Base D FuncCat C
27 eqid comp D FuncCat C = comp D FuncCat C
28 24 func1st2nd X A R F N 1 st L X 1 st L C Func D FuncCat C 2 nd L
29 simpl X A R F N 1 st L X X A
30 simpr X A R F N 1 st L X R F N 1 st L X
31 2 26 5 15 27 20 28 29 30 isup Could not format ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) -> ( X ( <. ( 1st ` L ) , ( 2nd ` L ) >. ( C UP ( D FuncCat C ) ) F ) R <-> A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( ( ( X ( 2nd ` L ) x ) ` m ) ( <. F , ( ( 1st ` L ) ` X ) >. ( comp ` ( D FuncCat C ) ) ( ( 1st ` L ) ` x ) ) R ) ) ) : No typesetting found for |- ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) -> ( X ( <. ( 1st ` L ) , ( 2nd ` L ) >. ( C UP ( D FuncCat C ) ) F ) R <-> A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( ( ( X ( 2nd ` L ) x ) ` m ) ( <. F , ( ( 1st ` L ) ` X ) >. ( comp ` ( D FuncCat C ) ) ( ( 1st ` L ) ` x ) ) R ) ) ) with typecode |-
32 22 ad2antrr X A R F N 1 st L X x A a F N 1 st L x m X H x C Cat
33 23 ad2antrr X A R F N 1 st L X x A a F N 1 st L x m X H x D Cat
34 29 ad2antrr X A R F N 1 st L X x A a F N 1 st L x m X H x X A
35 simplrl X A R F N 1 st L X x A a F N 1 st L x m X H x x A
36 simpr X A R F N 1 st L X x A a F N 1 st L x m X H x m X H x
37 1 2 4 5 32 33 34 35 36 diag2 X A R F N 1 st L X x A a F N 1 st L x m X H x X 2 nd L x m = B × m
38 37 oveq1d X A R F N 1 st L X x A a F N 1 st L x m X H x X 2 nd L x m F 1 st L X comp D FuncCat C 1 st L x R = B × m F 1 st L X comp D FuncCat C 1 st L x R
39 30 ad2antrr X A R F N 1 st L X x A a F N 1 st L x m X H x R F N 1 st L X
40 1 2 4 5 32 33 34 35 36 3 diag2cl X A R F N 1 st L X x A a F N 1 st L x m X H x B × m 1 st L X N 1 st L x
41 14 3 4 6 27 39 40 fucco X A R F N 1 st L X x A a F N 1 st L x m X H x B × m F 1 st L X comp D FuncCat C 1 st L x R = j B B × m j 1 st F j 1 st 1 st L X j · ˙ 1 st 1 st L x j R j
42 32 adantr X A R F N 1 st L X x A a F N 1 st L x m X H x j B C Cat
43 33 adantr X A R F N 1 st L X x A a F N 1 st L x m X H x j B D Cat
44 34 adantr X A R F N 1 st L X x A a F N 1 st L x m X H x j B X A
45 eqid 1 st L X = 1 st L X
46 simpr X A R F N 1 st L X x A a F N 1 st L x m X H x j B j B
47 1 42 43 2 44 45 4 46 diag11 X A R F N 1 st L X x A a F N 1 st L x m X H x j B 1 st 1 st L X j = X
48 47 opeq2d X A R F N 1 st L X x A a F N 1 st L x m X H x j B 1 st F j 1 st 1 st L X j = 1 st F j X
49 35 adantr X A R F N 1 st L X x A a F N 1 st L x m X H x j B x A
50 eqid 1 st L x = 1 st L x
51 1 42 43 2 49 50 4 46 diag11 X A R F N 1 st L X x A a F N 1 st L x m X H x j B 1 st 1 st L x j = x
52 48 51 oveq12d X A R F N 1 st L X x A a F N 1 st L x m X H x j B 1 st F j 1 st 1 st L X j · ˙ 1 st 1 st L x j = 1 st F j X · ˙ x
53 vex m V
54 53 fvconst2 j B B × m j = m
55 54 adantl X A R F N 1 st L X x A a F N 1 st L x m X H x j B B × m j = m
56 eqidd X A R F N 1 st L X x A a F N 1 st L x m X H x j B R j = R j
57 52 55 56 oveq123d X A R F N 1 st L X x A a F N 1 st L x m X H x j B B × m j 1 st F j 1 st 1 st L X j · ˙ 1 st 1 st L x j R j = m 1 st F j X · ˙ x R j
58 57 mpteq2dva X A R F N 1 st L X x A a F N 1 st L x m X H x j B B × m j 1 st F j 1 st 1 st L X j · ˙ 1 st 1 st L x j R j = j B m 1 st F j X · ˙ x R j
59 38 41 58 3eqtrd X A R F N 1 st L X x A a F N 1 st L x m X H x X 2 nd L x m F 1 st L X comp D FuncCat C 1 st L x R = j B m 1 st F j X · ˙ x R j
60 59 eqeq2d X A R F N 1 st L X x A a F N 1 st L x m X H x a = X 2 nd L x m F 1 st L X comp D FuncCat C 1 st L x R a = j B m 1 st F j X · ˙ x R j
61 60 reubidva X A R F N 1 st L X x A a F N 1 st L x ∃! m X H x a = X 2 nd L x m F 1 st L X comp D FuncCat C 1 st L x R ∃! m X H x a = j B m 1 st F j X · ˙ x R j
62 61 2ralbidva X A R F N 1 st L X x A a F N 1 st L x ∃! m X H x a = X 2 nd L x m F 1 st L X comp D FuncCat C 1 st L x R x A a F N 1 st L x ∃! m X H x a = j B m 1 st F j X · ˙ x R j
63 25 31 62 3bitrd Could not format ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) -> ( X ( L ( C UP ( D FuncCat C ) ) F ) R <-> A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) : No typesetting found for |- ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) -> ( X ( L ( C UP ( D FuncCat C ) ) F ) R <-> A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) with typecode |-
64 17 63 biadanii Could not format ( X ( L ( C UP ( D FuncCat C ) ) F ) R <-> ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) /\ A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) : No typesetting found for |- ( X ( L ( C UP ( D FuncCat C ) ) F ) R <-> ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) /\ A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) with typecode |-
65 10 64 bitri Could not format ( X ( ( C Colimit D ) ` F ) R <-> ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) /\ A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) : No typesetting found for |- ( X ( ( C Colimit D ) ` F ) R <-> ( ( X e. A /\ R e. ( F N ( ( 1st ` L ) ` X ) ) ) /\ A. x e. A A. a e. ( F N ( ( 1st ` L ) ` x ) ) E! m e. ( X H x ) a = ( j e. B |-> ( m ( <. ( ( 1st ` F ) ` j ) , X >. .x. x ) ( R ` j ) ) ) ) ) with typecode |-