Metamath Proof Explorer


Theorem termcterm2

Description: A terminal object of the category of small categories is a terminal category. (Contributed by Zhi Wang, 18-Oct-2025) (Proof shortened by Zhi Wang, 23-Oct-2025)

Ref Expression
Hypotheses termcterm.e 𝐸 = ( CatCat ‘ 𝑈 )
termcterm2. ( 𝜑 → ( 𝑈 ∩ TermCat ) ≠ ∅ )
termcterm2.t ( 𝜑𝐶 ∈ ( TermO ‘ 𝐸 ) )
Assertion termcterm2 ( 𝜑𝐶 ∈ TermCat )

Proof

Step Hyp Ref Expression
1 termcterm.e 𝐸 = ( CatCat ‘ 𝑈 )
2 termcterm2. ( 𝜑 → ( 𝑈 ∩ TermCat ) ≠ ∅ )
3 termcterm2.t ( 𝜑𝐶 ∈ ( TermO ‘ 𝐸 ) )
4 n0 ( ( 𝑈 ∩ TermCat ) ≠ ∅ ↔ ∃ 𝑑 𝑑 ∈ ( 𝑈 ∩ TermCat ) )
5 2 4 sylib ( 𝜑 → ∃ 𝑑 𝑑 ∈ ( 𝑈 ∩ TermCat ) )
6 simpr ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ ( 𝑈 ∩ TermCat ) )
7 6 elin2d ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ TermCat )
8 7 termcthind ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ ThinCat )
9 eqid ( Base ‘ 𝐸 ) = ( Base ‘ 𝐸 )
10 3 adantr ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝐶 ∈ ( TermO ‘ 𝐸 ) )
11 9 termoo2 ( 𝐶 ∈ ( TermO ‘ 𝐸 ) → 𝐶 ∈ ( Base ‘ 𝐸 ) )
12 10 11 syl ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝐶 ∈ ( Base ‘ 𝐸 ) )
13 1 9 elbasfv ( 𝐶 ∈ ( Base ‘ 𝐸 ) → 𝑈 ∈ V )
14 12 13 syl ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑈 ∈ V )
15 6 elin1d ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑𝑈 )
16 7 termccd ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ Cat )
17 15 16 elind ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ ( 𝑈 ∩ Cat ) )
18 1 9 14 catcbas ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( Base ‘ 𝐸 ) = ( 𝑈 ∩ Cat ) )
19 17 18 eleqtrrd ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ ( Base ‘ 𝐸 ) )
20 termorcl ( 𝐶 ∈ ( TermO ‘ 𝐸 ) → 𝐸 ∈ Cat )
21 10 20 syl ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝐸 ∈ Cat )
22 1 14 15 7 termcterm ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝑑 ∈ ( TermO ‘ 𝐸 ) )
23 21 10 22 termoeu1w ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝐶 ( ≃𝑐𝐸 ) 𝑑 )
24 1 9 14 12 19 23 thincciso4 ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( 𝐶 ∈ ThinCat ↔ 𝑑 ∈ ThinCat ) )
25 8 24 mpbird ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝐶 ∈ ThinCat )
26 21 10 22 termoeu1 ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ∃! 𝑓 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) )
27 euex ( ∃! 𝑓 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) → ∃ 𝑓 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) )
28 26 27 syl ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ∃ 𝑓 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) )
29 eqid ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
30 eqid ( Base ‘ 𝑑 ) = ( Base ‘ 𝑑 )
31 eqid ( Iso ‘ 𝐸 ) = ( Iso ‘ 𝐸 )
32 1 9 29 30 14 12 19 31 catciso ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) ↔ ( 𝑓 ∈ ( ( 𝐶 Full 𝑑 ) ∩ ( 𝐶 Faith 𝑑 ) ) ∧ ( 1st𝑓 ) : ( Base ‘ 𝐶 ) –1-1-onto→ ( Base ‘ 𝑑 ) ) ) )
33 32 simplbda ( ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) ∧ 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) ) → ( 1st𝑓 ) : ( Base ‘ 𝐶 ) –1-1-onto→ ( Base ‘ 𝑑 ) )
34 fvex ( Base ‘ 𝐶 ) ∈ V
35 34 f1oen ( ( 1st𝑓 ) : ( Base ‘ 𝐶 ) –1-1-onto→ ( Base ‘ 𝑑 ) → ( Base ‘ 𝐶 ) ≈ ( Base ‘ 𝑑 ) )
36 33 35 syl ( ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) ∧ 𝑓 ∈ ( 𝐶 ( Iso ‘ 𝐸 ) 𝑑 ) ) → ( Base ‘ 𝐶 ) ≈ ( Base ‘ 𝑑 ) )
37 28 36 exlimddv ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( Base ‘ 𝐶 ) ≈ ( Base ‘ 𝑑 ) )
38 30 istermc3 ( 𝑑 ∈ TermCat ↔ ( 𝑑 ∈ ThinCat ∧ ( Base ‘ 𝑑 ) ≈ 1o ) )
39 7 38 sylib ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( 𝑑 ∈ ThinCat ∧ ( Base ‘ 𝑑 ) ≈ 1o ) )
40 39 simprd ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( Base ‘ 𝑑 ) ≈ 1o )
41 entr ( ( ( Base ‘ 𝐶 ) ≈ ( Base ‘ 𝑑 ) ∧ ( Base ‘ 𝑑 ) ≈ 1o ) → ( Base ‘ 𝐶 ) ≈ 1o )
42 37 40 41 syl2anc ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → ( Base ‘ 𝐶 ) ≈ 1o )
43 29 istermc3 ( 𝐶 ∈ TermCat ↔ ( 𝐶 ∈ ThinCat ∧ ( Base ‘ 𝐶 ) ≈ 1o ) )
44 25 42 43 sylanbrc ( ( 𝜑𝑑 ∈ ( 𝑈 ∩ TermCat ) ) → 𝐶 ∈ TermCat )
45 5 44 exlimddv ( 𝜑𝐶 ∈ TermCat )