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

Theorem termcarweu 50334
Description: There exists a unique disjointified arrow in a terminal category. (Contributed by Zhi Wang, 20-Oct-2025.)
Assertion
Ref Expression
termcarweu (𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
Distinct variable group:   𝐶,𝑎

Proof of Theorem termcarweu
Dummy variables 𝑏 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 id 23 . . . 4 (𝐶 ∈ TermCat → 𝐶 ∈ TermCat)
2 eqid 2762 . . . 4 (Base‘𝐶) = (Base‘𝐶)
31, 2termcbas 50286 . . 3 (𝐶 ∈ TermCat → ∃𝑥(Base‘𝐶) = {𝑥})
4 eqid 2762 . . . . 5 (Homa𝐶) = (Homa𝐶)
51adantr 485 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ TermCat)
65termccd 50285 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ Cat)
7 eqid 2762 . . . . 5 (Hom ‘𝐶) = (Hom ‘𝐶)
8 vsnid 4628 . . . . . 6 𝑥 ∈ {𝑥}
9 simpr 489 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (Base‘𝐶) = {𝑥})
108, 9eleqtrrid 2869 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝑥 ∈ (Base‘𝐶))
11 eqid 2762 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
122, 7, 11, 6, 10catidcl 17744 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
134, 2, 6, 7, 10, 10, 12elhomai2 18097 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (𝑥(Homa𝐶)𝑥))
14 eqid 2762 . . . . . . . . 9 (Arrow‘𝐶) = (Arrow‘𝐶)
1514arwdmcd 18115 . . . . . . . 8 (𝑎 ∈ (Arrow‘𝐶) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
1615adantl 486 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
175adantr 485 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝐶 ∈ TermCat)
1814, 2arwdm 18110 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (doma𝑎) ∈ (Base‘𝐶))
1918adantl 486 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) ∈ (Base‘𝐶))
2010adantr 485 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
2117, 2, 19, 20termcbasmo 50289 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) = 𝑥)
2214, 2arwcd 18111 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (coda𝑎) ∈ (Base‘𝐶))
2322adantl 486 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) ∈ (Base‘𝐶))
2417, 2, 23, 20termcbasmo 50289 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) = 𝑥)
2514, 7arwhom 18114 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (2nd𝑎) ∈ ((doma𝑎)(Hom ‘𝐶)(coda𝑎)))
2625adantl 486 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) ∈ ((doma𝑎)(Hom ‘𝐶)(coda𝑎)))
2712adantr 485 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
2817, 2, 19, 23, 7, 26, 20, 20, 27termchommo 50291 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) = ((Id‘𝐶)‘𝑥))
2921, 24, 28oteq123d 4852 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩ = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3016, 29eqtrd 2797 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
31 simpr 489 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3214, 4homarw 18109 . . . . . . . . 9 (𝑥(Homa𝐶)𝑥) ⊆ (Arrow‘𝐶)
3332, 13sselid 3934 . . . . . . . 8 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3433adantr 485 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3531, 34eqeltrd 2862 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 ∈ (Arrow‘𝐶))
3630, 35impbida 812 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3736alrimiv 1956 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
38 eqeq2 2774 . . . . . 6 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (𝑎 = 𝑏𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3938bibi2d 345 . . . . 5 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → ((𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4039albidv 1949 . . . 4 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4113, 37, 40spcedv 3556 . . 3 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
423, 41exlimddv 1964 . 2 (𝐶 ∈ TermCat → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
43 eu6im 2602 . 2 (∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
4442, 43syl 18 1 (𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 400  wal 1567   = wceq 1569  wex 1808  wcel 2142  ∃!weu 2595  {csn 4588  cotp 4596  cfv 6536  (class class class)co 7412  2nd c2nd 7983  Basecbs 17275  Hom chom 17327  Idccid 17727  domacdoma 18083  codaccoda 18084  Arrowcarw 18085  Homachoma 18086  TermCatctermc 50278
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1824  ax-4 1838  ax-5 1939  ax-6 1996  ax-7 2037  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5237  ax-sep 5256  ax-nul 5268  ax-pow 5335  ax-pr 5403  ax-un 7734
This proof depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1104  df-tru 1572  df-fal 1582  df-ex 1809  df-nf 1813  df-sb 2096  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-rmo 3368  df-reu 3369  df-rab 3416  df-v 3456  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-op 4595  df-ot 4597  df-uni 4872  df-iun 4957  df-br 5109  df-opab 5173  df-mpt 5192  df-id 5555  df-xp 5666  df-rel 5667  df-cnv 5668  df-co 5669  df-dm 5670  df-rn 5671  df-res 5672  df-ima 5673  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7369  df-ov 7415  df-1st 7984  df-2nd 7985  df-cat 17730  df-cid 17731  df-doma 18087  df-coda 18088  df-homa 18089  df-arw 18090  df-thinc 50224  df-termc 50279
This theorem is used by:  dftermc3  50337
  Copyright terms: Public domain W3C validator