Metamath Proof Explorer


Theorem arweutermc

Description: If a structure has a unique disjointified arrow, then the structure is a terminal category. (Contributed by Zhi Wang, 20-Oct-2025)

Ref Expression
Assertion arweutermc Could not format assertion : No typesetting found for |- ( E! a a e. ( Arrow ` C ) -> C e. TermCat ) with typecode |-

Proof

Step Hyp Ref Expression
1 arweuthinc ∃! a a Arrow C C ThinCat
2 euex ∃! a a Arrow C a a Arrow C
3 eqid Arrow C = Arrow C
4 eqid Base C = Base C
5 3 4 arwdm a Arrow C dom a a Base C
6 eleq1 x = dom a a x Base C dom a a Base C
7 5 5 6 spcedv a Arrow C x x Base C
8 7 exlimiv a a Arrow C x x Base C
9 2 8 syl ∃! a a Arrow C x x Base C
10 eqeq1 a = x x Id C x a = b x x Id C x = b
11 eqeq2 b = y y Id C y x x Id C x = b x x Id C x = y y Id C y
12 eumo ∃! a a Arrow C * a a Arrow C
13 12 adantr ∃! a a Arrow C x Base C y Base C * a a Arrow C
14 moel * a a Arrow C a Arrow C b Arrow C a = b
15 13 14 sylib ∃! a a Arrow C x Base C y Base C a Arrow C b Arrow C a = b
16 eqid Hom a C = Hom a C
17 3 16 homarw x Hom a C x Arrow C
18 1 adantr ∃! a a Arrow C x Base C y Base C C ThinCat
19 18 thinccd ∃! a a Arrow C x Base C y Base C C Cat
20 eqid Hom C = Hom C
21 simprl ∃! a a Arrow C x Base C y Base C x Base C
22 eqid Id C = Id C
23 4 20 22 19 21 catidcl ∃! a a Arrow C x Base C y Base C Id C x x Hom C x
24 16 4 19 20 21 21 23 elhomai2 ∃! a a Arrow C x Base C y Base C x x Id C x x Hom a C x
25 17 24 sselid ∃! a a Arrow C x Base C y Base C x x Id C x Arrow C
26 3 16 homarw y Hom a C y Arrow C
27 simprr ∃! a a Arrow C x Base C y Base C y Base C
28 4 20 22 19 27 catidcl ∃! a a Arrow C x Base C y Base C Id C y y Hom C y
29 16 4 19 20 27 27 28 elhomai2 ∃! a a Arrow C x Base C y Base C y y Id C y y Hom a C y
30 26 29 sselid ∃! a a Arrow C x Base C y Base C y y Id C y Arrow C
31 10 11 15 25 30 rspc2dv ∃! a a Arrow C x Base C y Base C x x Id C x = y y Id C y
32 vex x V
33 fvex Id C x V
34 32 32 33 otth x x Id C x = y y Id C y x = y x = y Id C x = Id C y
35 34 simp1bi x x Id C x = y y Id C y x = y
36 31 35 syl ∃! a a Arrow C x Base C y Base C x = y
37 36 ralrimivva ∃! a a Arrow C x Base C y Base C x = y
38 moel * x x Base C x Base C y Base C x = y
39 37 38 sylibr ∃! a a Arrow C * x x Base C
40 df-eu ∃! x x Base C x x Base C * x x Base C
41 9 39 40 sylanbrc ∃! a a Arrow C ∃! x x Base C
42 4 istermc2 Could not format ( C e. TermCat <-> ( C e. ThinCat /\ E! x x e. ( Base ` C ) ) ) : No typesetting found for |- ( C e. TermCat <-> ( C e. ThinCat /\ E! x x e. ( Base ` C ) ) ) with typecode |-
43 1 41 42 sylanbrc Could not format ( E! a a e. ( Arrow ` C ) -> C e. TermCat ) : No typesetting found for |- ( E! a a e. ( Arrow ` C ) -> C e. TermCat ) with typecode |-