Metamath Proof Explorer


Theorem lanup

Description: The universal property of the left Kan extension; expressed explicitly. (Contributed by Zhi Wang, 4-Nov-2025)

Ref Expression
Hypotheses lanup.s S = C FuncCat E
lanup.m M = D Nat E
lanup.n N = C Nat E
lanup.x ˙ = comp S
lanup.f φ F C Func D
lanup.l φ L D Func E
lanup.a φ A X N L func F
Assertion lanup Could not format assertion : No typesetting found for |- ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> A. l e. ( D Func E ) A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 lanup.s S = C FuncCat E
2 lanup.m M = D Nat E
3 lanup.n N = C Nat E
4 lanup.x ˙ = comp S
5 lanup.f φ F C Func D
6 lanup.l φ L D Func E
7 lanup.a φ A X N L func F
8 eqid D FuncCat E = D FuncCat E
9 8 fucbas D Func E = Base D FuncCat E
10 1 fucbas C Func E = Base S
11 8 2 fuchom M = Hom D FuncCat E
12 1 3 fuchom N = Hom S
13 3 natrcl A X N L func F X C Func E L func F C Func E
14 7 13 syl φ X C Func E L func F C Func E
15 14 simpld φ X C Func E
16 15 func1st2nd φ 1 st X C Func E 2 nd X
17 16 funcrcl3 φ E Cat
18 8 17 1 5 prcoffunca Could not format ( ph -> ( <. D , E >. -o.F F ) e. ( ( D FuncCat E ) Func S ) ) : No typesetting found for |- ( ph -> ( <. D , E >. -o.F F ) e. ( ( D FuncCat E ) Func S ) ) with typecode |-
19 18 func1st2nd Could not format ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) ( ( D FuncCat E ) Func S ) ( 2nd ` ( <. D , E >. -o.F F ) ) ) : No typesetting found for |- ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) ( ( D FuncCat E ) Func S ) ( 2nd ` ( <. D , E >. -o.F F ) ) ) with typecode |-
20 eqidd Could not format ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` ( <. D , E >. -o.F F ) ) ) : No typesetting found for |- ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` ( <. D , E >. -o.F F ) ) ) with typecode |-
21 6 20 prcof1 Could not format ( ph -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) = ( L o.func F ) ) : No typesetting found for |- ( ph -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) = ( L o.func F ) ) with typecode |-
22 21 oveq2d Could not format ( ph -> ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) ) = ( X N ( L o.func F ) ) ) : No typesetting found for |- ( ph -> ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) ) = ( X N ( L o.func F ) ) ) with typecode |-
23 7 22 eleqtrrd Could not format ( ph -> A e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) ) ) : No typesetting found for |- ( ph -> A e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) ) ) with typecode |-
24 9 10 11 12 4 15 19 6 23 isup Could not format ( ph -> ( L ( <. ( 1st ` ( <. D , E >. -o.F F ) ) , ( 2nd ` ( <. D , E >. -o.F F ) ) >. ( ( D FuncCat E ) UP S ) X ) A <-> A. l e. ( D Func E ) A. a e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) : No typesetting found for |- ( ph -> ( L ( <. ( 1st ` ( <. D , E >. -o.F F ) ) , ( 2nd ` ( <. D , E >. -o.F F ) ) >. ( ( D FuncCat E ) UP S ) X ) A <-> A. l e. ( D Func E ) A. a e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) with typecode |-
25 eqidd Could not format ( ph -> ( <. D , E >. -o.F F ) = ( <. D , E >. -o.F F ) ) : No typesetting found for |- ( ph -> ( <. D , E >. -o.F F ) = ( <. D , E >. -o.F F ) ) with typecode |-
26 8 1 5 15 25 lanval Could not format ( ph -> ( F ( <. C , D >. Lan E ) X ) = ( ( <. D , E >. -o.F F ) ( ( D FuncCat E ) UP S ) X ) ) : No typesetting found for |- ( ph -> ( F ( <. C , D >. Lan E ) X ) = ( ( <. D , E >. -o.F F ) ( ( D FuncCat E ) UP S ) X ) ) with typecode |-
27 26 breqd Could not format ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> L ( ( <. D , E >. -o.F F ) ( ( D FuncCat E ) UP S ) X ) A ) ) : No typesetting found for |- ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> L ( ( <. D , E >. -o.F F ) ( ( D FuncCat E ) UP S ) X ) A ) ) with typecode |-
28 18 up1st2ndb Could not format ( ph -> ( L ( ( <. D , E >. -o.F F ) ( ( D FuncCat E ) UP S ) X ) A <-> L ( <. ( 1st ` ( <. D , E >. -o.F F ) ) , ( 2nd ` ( <. D , E >. -o.F F ) ) >. ( ( D FuncCat E ) UP S ) X ) A ) ) : No typesetting found for |- ( ph -> ( L ( ( <. D , E >. -o.F F ) ( ( D FuncCat E ) UP S ) X ) A <-> L ( <. ( 1st ` ( <. D , E >. -o.F F ) ) , ( 2nd ` ( <. D , E >. -o.F F ) ) >. ( ( D FuncCat E ) UP S ) X ) A ) ) with typecode |-
29 27 28 bitrd Could not format ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> L ( <. ( 1st ` ( <. D , E >. -o.F F ) ) , ( 2nd ` ( <. D , E >. -o.F F ) ) >. ( ( D FuncCat E ) UP S ) X ) A ) ) : No typesetting found for |- ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> L ( <. ( 1st ` ( <. D , E >. -o.F F ) ) , ( 2nd ` ( <. D , E >. -o.F F ) ) >. ( ( D FuncCat E ) UP S ) X ) A ) ) with typecode |-
30 simpr φ l D Func E l D Func E
31 eqidd Could not format ( ( ph /\ l e. ( D Func E ) ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` ( <. D , E >. -o.F F ) ) ) : No typesetting found for |- ( ( ph /\ l e. ( D Func E ) ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` ( <. D , E >. -o.F F ) ) ) with typecode |-
32 30 31 prcof1 Could not format ( ( ph /\ l e. ( D Func E ) ) -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) = ( l o.func F ) ) : No typesetting found for |- ( ( ph /\ l e. ( D Func E ) ) -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) = ( l o.func F ) ) with typecode |-
33 32 eqcomd Could not format ( ( ph /\ l e. ( D Func E ) ) -> ( l o.func F ) = ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) : No typesetting found for |- ( ( ph /\ l e. ( D Func E ) ) -> ( l o.func F ) = ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) with typecode |-
34 33 oveq2d Could not format ( ( ph /\ l e. ( D Func E ) ) -> ( X N ( l o.func F ) ) = ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) ) : No typesetting found for |- ( ( ph /\ l e. ( D Func E ) ) -> ( X N ( l o.func F ) ) = ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) ) with typecode |-
35 21 ad3antrrr Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) = ( L o.func F ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) = ( L o.func F ) ) with typecode |-
36 35 opeq2d Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. = <. X , ( L o.func F ) >. ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. = <. X , ( L o.func F ) >. ) with typecode |-
37 32 ad2antrr Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) = ( l o.func F ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) = ( l o.func F ) ) with typecode |-
38 36 37 oveq12d Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) = ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) = ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) ) with typecode |-
39 simpr φ l D Func E a X N l func F b L M l b L M l
40 eqidd Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( 2nd ` ( <. D , E >. -o.F F ) ) = ( 2nd ` ( <. D , E >. -o.F F ) ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( 2nd ` ( <. D , E >. -o.F F ) ) = ( 2nd ` ( <. D , E >. -o.F F ) ) ) with typecode |-
41 5 ad3antrrr φ l D Func E a X N l func F b L M l F C Func D
42 2 39 40 41 prcof21a Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) = ( b o. ( 1st ` F ) ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) = ( b o. ( 1st ` F ) ) ) with typecode |-
43 eqidd φ l D Func E a X N l func F b L M l A = A
44 38 42 43 oveq123d Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) ) with typecode |-
45 44 eqcomd Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) with typecode |-
46 45 eqeq2d Could not format ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) : No typesetting found for |- ( ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) /\ b e. ( L M l ) ) -> ( a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) with typecode |-
47 46 reubidva Could not format ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) -> ( E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) : No typesetting found for |- ( ( ( ph /\ l e. ( D Func E ) ) /\ a e. ( X N ( l o.func F ) ) ) -> ( E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) with typecode |-
48 34 47 raleqbidva Could not format ( ( ph /\ l e. ( D Func E ) ) -> ( A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> A. a e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) : No typesetting found for |- ( ( ph /\ l e. ( D Func E ) ) -> ( A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> A. a e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) with typecode |-
49 48 ralbidva Could not format ( ph -> ( A. l e. ( D Func E ) A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> A. l e. ( D Func E ) A. a e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) : No typesetting found for |- ( ph -> ( A. l e. ( D Func E ) A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) <-> A. l e. ( D Func E ) A. a e. ( X N ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) E! b e. ( L M l ) a = ( ( ( L ( 2nd ` ( <. D , E >. -o.F F ) ) l ) ` b ) ( <. X , ( ( 1st ` ( <. D , E >. -o.F F ) ) ` L ) >. .xb ( ( 1st ` ( <. D , E >. -o.F F ) ) ` l ) ) A ) ) ) with typecode |-
50 24 29 49 3bitr4d Could not format ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> A. l e. ( D Func E ) A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) ) ) : No typesetting found for |- ( ph -> ( L ( F ( <. C , D >. Lan E ) X ) A <-> A. l e. ( D Func E ) A. a e. ( X N ( l o.func F ) ) E! b e. ( L M l ) a = ( ( b o. ( 1st ` F ) ) ( <. X , ( L o.func F ) >. .xb ( l o.func F ) ) A ) ) ) with typecode |-