Metamath Proof Explorer


Theorem cmdlan

Description: To each colimit of a diagram there is a corresponding left Kan extention of the diagram along a functor to a terminal category. The morphism parts coincide, while the object parts are one-to-one correspondent ( diag1f1o ). (Contributed by Zhi Wang, 26-Nov-2025)

Ref Expression
Hypotheses lmdran.1 No typesetting found for |- ( ph -> .1. e. TermCat ) with typecode |-
lmdran.g ⊢ φ → G ∈ D Func 1 ˙
lmdran.l ⊢ L = C Δ func 1 ˙
lmdran.y ⊢ φ → Y = 1 st ⁡ L ⁡ X
Assertion cmdlan Could not format assertion : No typesetting found for |- ( ph -> ( X ( ( C Colimit D ) ` F ) M <-> Y ( G ( <. D , .1. >. Lan C ) F ) M ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 lmdran.1 Could not format ( ph -> .1. e. TermCat ) : No typesetting found for |- ( ph -> .1. e. TermCat ) with typecode |-
2 lmdran.g ⊢ φ → G ∈ D Func 1 ˙
3 lmdran.l ⊢ L = C Δ func 1 ˙
4 lmdran.y ⊢ φ → Y = 1 st ⁡ L ⁡ X
5 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 |-
6 5 breqi Could not format ( X ( ( C Colimit D ) ` F ) M <-> X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) : No typesetting found for |- ( X ( ( C Colimit D ) ` F ) M <-> X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) with typecode |-
7 simpr Could not format ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) : No typesetting found for |- ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) with typecode |-
8 7 up1st2nd Could not format ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> X ( <. ( 1st ` ( C DiagFunc D ) ) , ( 2nd ` ( C DiagFunc D ) ) >. ( C UP ( D FuncCat C ) ) F ) M ) : No typesetting found for |- ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> X ( <. ( 1st ` ( C DiagFunc D ) ) , ( 2nd ` ( C DiagFunc D ) ) >. ( C UP ( D FuncCat C ) ) F ) M ) with typecode |-
9 eqid ⊢ D FuncCat C = D FuncCat C
10 9 fucbas ⊢ D Func C = Base D FuncCat C
11 8 10 uprcl3 Could not format ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> F e. ( D Func C ) ) : No typesetting found for |- ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> F e. ( D Func C ) ) with typecode |-
12 eqid ⊢ Base C = Base C
13 8 12 uprcl4 Could not format ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> X e. ( Base ` C ) ) : No typesetting found for |- ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> X e. ( Base ` C ) ) with typecode |-
14 11 13 jca Could not format ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) : No typesetting found for |- ( ( ph /\ X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M ) -> ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) with typecode |-
15 simpr Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) with typecode |-
16 15 up1st2nd Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y ( <. ( 1st ` ( <. .1. , C >. -o.F G ) ) , ( 2nd ` ( <. .1. , C >. -o.F G ) ) >. ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y ( <. ( 1st ` ( <. .1. , C >. -o.F G ) ) , ( 2nd ` ( <. .1. , C >. -o.F G ) ) >. ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) with typecode |-
17 16 10 uprcl3 Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> F e. ( D Func C ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> F e. ( D Func C ) ) with typecode |-
18 4 adantr Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y = ( ( 1st ` L ) ` X ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y = ( ( 1st ` L ) ` X ) ) with typecode |-
19 eqid ⊢ 1 ˙ FuncCat C = 1 ˙ FuncCat C
20 19 fucbas ⊢ 1 ˙ Func C = Base 1 ˙ FuncCat C
21 16 20 uprcl4 Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y e. ( .1. Func C ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y e. ( .1. Func C ) ) with typecode |-
22 relfunc ⊢ Rel ⁡ 1 ˙ Func C
23 21 22 oppfrcllem Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y =/= (/) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> Y =/= (/) ) with typecode |-
24 18 23 eqnetrrd Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> ( ( 1st ` L ) ` X ) =/= (/) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> ( ( 1st ` L ) ` X ) =/= (/) ) with typecode |-
25 fvfundmfvn0 ⊢ 1 st ⁡ L ⁡ X ≠ ∅ → X ∈ dom ⁡ 1 st ⁡ L ∧ Fun ⁡ 1 st ⁡ L ↾ X
26 25 simpld ⊢ 1 st ⁡ L ⁡ X ≠ ∅ → X ∈ dom ⁡ 1 st ⁡ L
27 24 26 syl Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> X e. dom ( 1st ` L ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> X e. dom ( 1st ` L ) ) with typecode |-
28 1 adantr Could not format ( ( ph /\ F e. ( D Func C ) ) -> .1. e. TermCat ) : No typesetting found for |- ( ( ph /\ F e. ( D Func C ) ) -> .1. e. TermCat ) with typecode |-
29 simpr ⊢ φ ∧ F ∈ D Func C → F ∈ D Func C
30 29 func1st2nd ⊢ φ ∧ F ∈ D Func C → 1 st ⁡ F D Func C 2 nd ⁡ F
31 30 funcrcl3 ⊢ φ ∧ F ∈ D Func C → C ∈ Cat
32 12 28 31 3 diag1f1o ⊢ φ ∧ F ∈ D Func C → 1 st ⁡ L : Base C ⟶ 1-1 onto 1 ˙ Func C
33 f1of ⊢ 1 st ⁡ L : Base C ⟶ 1-1 onto 1 ˙ Func C → 1 st ⁡ L : Base C ⟶ 1 ˙ Func C
34 32 33 syl ⊢ φ ∧ F ∈ D Func C → 1 st ⁡ L : Base C ⟶ 1 ˙ Func C
35 34 fdmd ⊢ φ ∧ F ∈ D Func C → dom ⁡ 1 st ⁡ L = Base C
36 17 35 syldan Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> dom ( 1st ` L ) = ( Base ` C ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> dom ( 1st ` L ) = ( Base ` C ) ) with typecode |-
37 27 36 eleqtrd Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> X e. ( Base ` C ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> X e. ( Base ` C ) ) with typecode |-
38 17 37 jca Could not format ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) : No typesetting found for |- ( ( ph /\ Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) -> ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) with typecode |-
39 4 adantr ⊢ φ ∧ F ∈ D Func C ∧ X ∈ Base C → Y = 1 st ⁡ L ⁡ X
40 eqid ⊢ C Δ func D = C Δ func D
41 2 adantr ⊢ φ ∧ F ∈ D Func C ∧ X ∈ Base C → G ∈ D Func 1 ˙
42 31 adantrr ⊢ φ ∧ F ∈ D Func C ∧ X ∈ Base C → C ∈ Cat
43 eqidd Could not format ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( <. .1. , C >. -o.F G ) = ( <. .1. , C >. -o.F G ) ) : No typesetting found for |- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( <. .1. , C >. -o.F G ) = ( <. .1. , C >. -o.F G ) ) with typecode |-
44 3 40 41 42 43 prcofdiag Could not format ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( ( <. .1. , C >. -o.F G ) o.func L ) = ( C DiagFunc D ) ) : No typesetting found for |- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( ( <. .1. , C >. -o.F G ) o.func L ) = ( C DiagFunc D ) ) with typecode |-
45 simprr ⊢ φ ∧ F ∈ D Func C ∧ X ∈ Base C → X ∈ Base C
46 19 42 9 41 prcoffunca Could not format ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( <. .1. , C >. -o.F G ) e. ( ( .1. FuncCat C ) Func ( D FuncCat C ) ) ) : No typesetting found for |- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( <. .1. , C >. -o.F G ) e. ( ( .1. FuncCat C ) Func ( D FuncCat C ) ) ) with typecode |-
47 31 28 19 3 diagffth ⊢ φ ∧ F ∈ D Func C → L ∈ C Full 1 ˙ FuncCat C ∩ C Faith 1 ˙ FuncCat C
48 47 adantrr ⊢ φ ∧ F ∈ D Func C ∧ X ∈ Base C → L ∈ C Full 1 ˙ FuncCat C ∩ C Faith 1 ˙ FuncCat C
49 f1ofo ⊢ 1 st ⁡ L : Base C ⟶ 1-1 onto 1 ˙ Func C → 1 st ⁡ L : Base C ⟶ onto 1 ˙ Func C
50 32 49 syl ⊢ φ ∧ F ∈ D Func C → 1 st ⁡ L : Base C ⟶ onto 1 ˙ Func C
51 50 adantrr ⊢ φ ∧ F ∈ D Func C ∧ X ∈ Base C → 1 st ⁡ L : Base C ⟶ onto 1 ˙ Func C
52 12 20 39 44 45 46 48 51 uptr2a Could not format ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M <-> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) ) : No typesetting found for |- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M <-> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) ) with typecode |-
53 14 38 52 bibiad Could not format ( ph -> ( X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M <-> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) ) : No typesetting found for |- ( ph -> ( X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M <-> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) ) with typecode |-
54 eqid Could not format ( <. .1. , C >. -o.F G ) = ( <. .1. , C >. -o.F G ) : No typesetting found for |- ( <. .1. , C >. -o.F G ) = ( <. .1. , C >. -o.F G ) with typecode |-
55 19 9 54 lanval2 Could not format ( G e. ( D Func .1. ) -> ( G ( <. D , .1. >. Lan C ) F ) = ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) ) : No typesetting found for |- ( G e. ( D Func .1. ) -> ( G ( <. D , .1. >. Lan C ) F ) = ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) ) with typecode |-
56 2 55 syl Could not format ( ph -> ( G ( <. D , .1. >. Lan C ) F ) = ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) ) : No typesetting found for |- ( ph -> ( G ( <. D , .1. >. Lan C ) F ) = ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) ) with typecode |-
57 56 breqd Could not format ( ph -> ( Y ( G ( <. D , .1. >. Lan C ) F ) M <-> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) ) : No typesetting found for |- ( ph -> ( Y ( G ( <. D , .1. >. Lan C ) F ) M <-> Y ( ( <. .1. , C >. -o.F G ) ( ( .1. FuncCat C ) UP ( D FuncCat C ) ) F ) M ) ) with typecode |-
58 53 57 bitr4d Could not format ( ph -> ( X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M <-> Y ( G ( <. D , .1. >. Lan C ) F ) M ) ) : No typesetting found for |- ( ph -> ( X ( ( C DiagFunc D ) ( C UP ( D FuncCat C ) ) F ) M <-> Y ( G ( <. D , .1. >. Lan C ) F ) M ) ) with typecode |-
59 6 58 bitrid Could not format ( ph -> ( X ( ( C Colimit D ) ` F ) M <-> Y ( G ( <. D , .1. >. Lan C ) F ) M ) ) : No typesetting found for |- ( ph -> ( X ( ( C Colimit D ) ` F ) M <-> Y ( G ( <. D , .1. >. Lan C ) F ) M ) ) with typecode |-