Users' Mathboxes Mathbox for Zhi Wang < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  termc2 Structured version   Visualization version   GIF version

Theorem termc2 50444
Description: If there exists a unique functor from both the category itself and the trivial category, then the category is terminal. Note that the converse also holds, so that it is a biconditional. See the proof of termc 50445 for hints. See also eufunc 50448 and euendfunc2 50453 for some insights on why two categories are sufficient. (Contributed by Zhi Wang, 18-Oct-2025.) (Proof shortened by Zhi Wang, 20-Oct-2025.)
Assertion
Ref Expression
termc2 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → 𝐶 ∈ TermCat)
Distinct variable group:   𝐶,𝑑,𝑓

Proof of Theorem termc2
StepHypRef Expression
1 eqid 2760 . 2 (CatCat‘{𝐶, (SetCat‘1o)}) = (CatCat‘{𝐶, (SetCat‘1o)})
2 fvex 6891 . . . . . 6 (SetCat‘1o) ∈ V
32prid2 4724 . . . . 5 (SetCat‘1o) ∈ {𝐶, (SetCat‘1o)}
4 setc1oterm 50417 . . . . 5 (SetCat‘1o) ∈ TermCat
53, 4elini 4145 . . . 4 (SetCat‘1o) ∈ ({𝐶, (SetCat‘1o)} ∩ TermCat)
65ne0ii 4290 . . 3 ({𝐶, (SetCat‘1o)} ∩ TermCat) ≠ ∅
76a1i 11 . 2 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → ({𝐶, (SetCat‘1o)} ∩ TermCat) ≠ ∅)
84a1i 11 . . . . . . . . 9 (⊤ → (SetCat‘1o) ∈ TermCat)
98termccd 50405 . . . . . . . 8 (⊤ → (SetCat‘1o) ∈ Cat)
109mptru 1577 . . . . . . 7 (SetCat‘1o) ∈ Cat
113, 10elini 4145 . . . . . 6 (SetCat‘1o) ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)
12 oveq1 7420 . . . . . . . . 9 (𝑑 = (SetCat‘1o) → (𝑑 Func 𝐶) = ((SetCat‘1o) Func 𝐶))
1312eleq2d 2846 . . . . . . . 8 (𝑑 = (SetCat‘1o) → (𝑓 ∈ (𝑑 Func 𝐶) ↔ 𝑓 ∈ ((SetCat‘1o) Func 𝐶)))
1413eubidv 2611 . . . . . . 7 (𝑑 = (SetCat‘1o) → (∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) ↔ ∃!𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶)))
1514rspcv 3572 . . . . . 6 ((SetCat‘1o) ∈ ({𝐶, (SetCat‘1o)} ∩ Cat) → (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → ∃!𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶)))
1611, 15ax-mp 5 . . . . 5 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → ∃!𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶))
17 euen1b 9034 . . . . 5 (((SetCat‘1o) Func 𝐶) ≈ 1o ↔ ∃!𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶))
1816, 17sylibr 237 . . . 4 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → ((SetCat‘1o) Func 𝐶) ≈ 1o)
19 eqid 2760 . . . . . . . . 9 (Base‘(CatCat‘{𝐶, (SetCat‘1o)})) = (Base‘(CatCat‘{𝐶, (SetCat‘1o)}))
20 prex 5403 . . . . . . . . . 10 {𝐶, (SetCat‘1o)} ∈ V
2120a1i 11 . . . . . . . . 9 (⊤ → {𝐶, (SetCat‘1o)} ∈ V)
221, 19, 21catcbas 18190 . . . . . . . 8 (⊤ → (Base‘(CatCat‘{𝐶, (SetCat‘1o)})) = ({𝐶, (SetCat‘1o)} ∩ Cat))
2322mptru 1577 . . . . . . 7 (Base‘(CatCat‘{𝐶, (SetCat‘1o)})) = ({𝐶, (SetCat‘1o)} ∩ Cat)
2423eqcomi 2769 . . . . . 6 ({𝐶, (SetCat‘1o)} ∩ Cat) = (Base‘(CatCat‘{𝐶, (SetCat‘1o)}))
25 eqid 2760 . . . . . 6 (Hom ‘(CatCat‘{𝐶, (SetCat‘1o)})) = (Hom ‘(CatCat‘{𝐶, (SetCat‘1o)}))
261catccat 18197 . . . . . . . 8 ({𝐶, (SetCat‘1o)} ∈ V → (CatCat‘{𝐶, (SetCat‘1o)}) ∈ Cat)
2720, 26ax-mp 5 . . . . . . 7 (CatCat‘{𝐶, (SetCat‘1o)}) ∈ Cat
2827a1i 11 . . . . . 6 (((SetCat‘1o) Func 𝐶) ≈ 1o → (CatCat‘{𝐶, (SetCat‘1o)}) ∈ Cat)
29 euex 2602 . . . . . . . . . 10 (∃!𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶) → ∃𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶))
30 funcrcl 17952 . . . . . . . . . . . 12 (𝑓 ∈ ((SetCat‘1o) Func 𝐶) → ((SetCat‘1o) ∈ Cat ∧ 𝐶 ∈ Cat))
3130simprd 501 . . . . . . . . . . 11 (𝑓 ∈ ((SetCat‘1o) Func 𝐶) → 𝐶 ∈ Cat)
3231exlimiv 1963 . . . . . . . . . 10 (∃𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶) → 𝐶 ∈ Cat)
3329, 32syl 18 . . . . . . . . 9 (∃!𝑓 𝑓 ∈ ((SetCat‘1o) Func 𝐶) → 𝐶 ∈ Cat)
3417, 33sylbi 220 . . . . . . . 8 (((SetCat‘1o) Func 𝐶) ≈ 1o𝐶 ∈ Cat)
35 prid1g 4721 . . . . . . . 8 (𝐶 ∈ Cat → 𝐶 ∈ {𝐶, (SetCat‘1o)})
3634, 35syl 18 . . . . . . 7 (((SetCat‘1o) Func 𝐶) ≈ 1o𝐶 ∈ {𝐶, (SetCat‘1o)})
3736, 34elind 4146 . . . . . 6 (((SetCat‘1o) Func 𝐶) ≈ 1o𝐶 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat))
3824, 25, 28, 37istermo 18086 . . . . 5 (((SetCat‘1o) Func 𝐶) ≈ 1o → (𝐶 ∈ (TermO‘(CatCat‘{𝐶, (SetCat‘1o)})) ↔ ∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑(Hom ‘(CatCat‘{𝐶, (SetCat‘1o)}))𝐶)))
3920a1i 11 . . . . . . . . 9 ((((SetCat‘1o) Func 𝐶) ≈ 1o𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)) → {𝐶, (SetCat‘1o)} ∈ V)
40 simpr 490 . . . . . . . . 9 ((((SetCat‘1o) Func 𝐶) ≈ 1o𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)) → 𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat))
4137adantr 486 . . . . . . . . 9 ((((SetCat‘1o) Func 𝐶) ≈ 1o𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)) → 𝐶 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat))
421, 24, 39, 25, 40, 41catchom 18192 . . . . . . . 8 ((((SetCat‘1o) Func 𝐶) ≈ 1o𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)) → (𝑑(Hom ‘(CatCat‘{𝐶, (SetCat‘1o)}))𝐶) = (𝑑 Func 𝐶))
4342eleq2d 2846 . . . . . . 7 ((((SetCat‘1o) Func 𝐶) ≈ 1o𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)) → (𝑓 ∈ (𝑑(Hom ‘(CatCat‘{𝐶, (SetCat‘1o)}))𝐶) ↔ 𝑓 ∈ (𝑑 Func 𝐶)))
4443eubidv 2611 . . . . . 6 ((((SetCat‘1o) Func 𝐶) ≈ 1o𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)) → (∃!𝑓 𝑓 ∈ (𝑑(Hom ‘(CatCat‘{𝐶, (SetCat‘1o)}))𝐶) ↔ ∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶)))
4544ralbidva 3183 . . . . 5 (((SetCat‘1o) Func 𝐶) ≈ 1o → (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑(Hom ‘(CatCat‘{𝐶, (SetCat‘1o)}))𝐶) ↔ ∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶)))
4638, 45bitrd 282 . . . 4 (((SetCat‘1o) Func 𝐶) ≈ 1o → (𝐶 ∈ (TermO‘(CatCat‘{𝐶, (SetCat‘1o)})) ↔ ∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶)))
4718, 46syl 18 . . 3 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → (𝐶 ∈ (TermO‘(CatCat‘{𝐶, (SetCat‘1o)})) ↔ ∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶)))
4847ibir 271 . 2 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → 𝐶 ∈ (TermO‘(CatCat‘{𝐶, (SetCat‘1o)})))
491, 7, 48termcterm2 50440 1 (∀𝑑 ∈ ({𝐶, (SetCat‘1o)} ∩ Cat)∃!𝑓 𝑓 ∈ (𝑑 Func 𝐶) → 𝐶 ∈ TermCat)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401   = wceq 1570  wtru 1571  wex 1812  wcel 2145  ∃!weu 2593  wne 2955  wral 3076  Vcvv 3450  cin 3898  c0 4279  {cpr 4586   class class class wbr 5103  cfv 6533  (class class class)co 7413  1oc1o 8448  cen 8949  Basecbs 17301  Hom chom 17353  Catccat 17752   Func cfunc 17943  TermOctermo 18071  SetCatcsetc 18164  CatCatccatc 18187  TermCatctermc 50398
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7736  ax-cnex 11180  ax-resscn 11181  ax-1cn 11182  ax-icn 11183  ax-addcl 11184  ax-addrcl 11185  ax-mulcl 11186  ax-mulrcl 11187  ax-mulcom 11188  ax-addass 11189  ax-mulass 11190  ax-distr 11191  ax-i2m1 11192  ax-1ne0 11193  ax-1rid 11194  ax-rnegex 11195  ax-rrecex 11196  ax-cnre 11197  ax-pre-lttri 11198  ax-pre-lttrn 11199  ax-pre-ltadd 11200  ax-pre-mulgt0 11201
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6299  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7370  df-ov 7416  df-oprab 7417  df-mpo 7418  df-om 7863  df-1st 7986  df-2nd 7987  df-supp 8159  df-frecs 8280  df-wrecs 8311  df-recs 8360  df-rdg 8399  df-1o 8455  df-er 8696  df-map 8828  df-ixp 8905  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-pnf 11269  df-mnf 11270  df-xr 11271  df-ltxr 11272  df-le 11273  df-sub 11467  df-neg 11468  df-nn 12258  df-2 12327  df-3 12328  df-4 12329  df-5 12330  df-6 12331  df-7 12332  df-8 12333  df-9 12334  df-n0 12529  df-z 12616  df-dec 12737  df-uz 12888  df-fz 13562  df-struct 17239  df-slot 17274  df-ndx 17286  df-base 17302  df-hom 17366  df-cco 17367  df-cat 17756  df-cid 17757  df-sect 17836  df-inv 17837  df-iso 17838  df-cic 17885  df-func 17947  df-idfu 17948  df-cofu 17949  df-full 17995  df-fth 17996  df-termo 18074  df-setc 18165  df-catc 18188  df-thinc 50344  df-termc 50399
This theorem is used by:  termc  50445
  Copyright terms: Public domain W3C validator