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 50030
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 22 . . . 4 (𝐶 ∈ TermCat → 𝐶 ∈ TermCat)
2 eqid 2741 . . . 4 (Base‘𝐶) = (Base‘𝐶)
31, 2termcbas 49982 . . 3 (𝐶 ∈ TermCat → ∃𝑥(Base‘𝐶) = {𝑥})
4 eqid 2741 . . . . 5 (Homa𝐶) = (Homa𝐶)
51adantr 482 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ TermCat)
65termccd 49981 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ Cat)
7 eqid 2741 . . . . 5 (Hom ‘𝐶) = (Hom ‘𝐶)
8 vsnid 4597 . . . . . 6 𝑥 ∈ {𝑥}
9 simpr 486 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (Base‘𝐶) = {𝑥})
108, 9eleqtrrid 2848 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝑥 ∈ (Base‘𝐶))
11 eqid 2741 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
122, 7, 11, 6, 10catidcl 17643 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
134, 2, 6, 7, 10, 10, 12elhomai2 17996 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (𝑥(Homa𝐶)𝑥))
14 eqid 2741 . . . . . . . . 9 (Arrow‘𝐶) = (Arrow‘𝐶)
1514arwdmcd 18014 . . . . . . . 8 (𝑎 ∈ (Arrow‘𝐶) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
1615adantl 483 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
175adantr 482 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝐶 ∈ TermCat)
1814, 2arwdm 18009 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (doma𝑎) ∈ (Base‘𝐶))
1918adantl 483 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) ∈ (Base‘𝐶))
2010adantr 482 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
2117, 2, 19, 20termcbasmo 49985 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) = 𝑥)
2214, 2arwcd 18010 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (coda𝑎) ∈ (Base‘𝐶))
2322adantl 483 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) ∈ (Base‘𝐶))
2417, 2, 23, 20termcbasmo 49985 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) = 𝑥)
2514, 7arwhom 18013 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (2nd𝑎) ∈ ((doma𝑎)(Hom ‘𝐶)(coda𝑎)))
2625adantl 483 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) ∈ ((doma𝑎)(Hom ‘𝐶)(coda𝑎)))
2712adantr 482 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
2817, 2, 19, 23, 7, 26, 20, 20, 27termchommo 49987 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) = ((Id‘𝐶)‘𝑥))
2921, 24, 28oteq123d 4821 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩ = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3016, 29eqtrd 2776 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
31 simpr 486 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3214, 4homarw 18008 . . . . . . . . 9 (𝑥(Homa𝐶)𝑥) ⊆ (Arrow‘𝐶)
3332, 13sselid 3914 . . . . . . . 8 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3433adantr 482 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3531, 34eqeltrd 2841 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 ∈ (Arrow‘𝐶))
3630, 35impbida 807 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3736alrimiv 1935 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
38 eqeq2 2753 . . . . . 6 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (𝑎 = 𝑏𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3938bibi2d 344 . . . . 5 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → ((𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4039albidv 1928 . . . 4 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4113, 37, 40spcedv 3537 . . 3 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
423, 41exlimddv 1943 . 2 (𝐶 ∈ TermCat → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
43 eu6im 2581 . 2 (∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
4442, 43syl 17 1 (𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 397  wal 1546   = wceq 1548  wex 1787  wcel 2121  ∃!weu 2574  {csn 4557  cotp 4565  cfv 6488  (class class class)co 7359  2nd c2nd 7932  Basecbs 17174  Hom chom 17226  Idccid 17626  domacdoma 17982  codaccoda 17983  Arrowcarw 17984  Homachoma 17985  TermCatctermc 49974
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1975  ax-7 2016  ax-8 2123  ax-9 2131  ax-10 2154  ax-11 2170  ax-12 2191  ax-ext 2713  ax-rep 5201  ax-sep 5220  ax-nul 5230  ax-pow 5296  ax-pr 5364  ax-un 7681
This theorem depends on definitions:  df-bi 209  df-an 398  df-or 855  df-3an 1095  df-tru 1551  df-fal 1561  df-ex 1788  df-nf 1792  df-sb 2075  df-mo 2545  df-eu 2575  df-clab 2720  df-cleq 2733  df-clel 2816  df-nfc 2890  df-ne 2937  df-ral 3056  df-rex 3066  df-rmo 3346  df-reu 3347  df-rab 3394  df-v 3435  df-sbc 3725  df-csb 3833  df-dif 3887  df-un 3889  df-in 3891  df-ss 3901  df-nul 4264  df-if 4457  df-pw 4533  df-sn 4558  df-pr 4560  df-op 4564  df-ot 4566  df-uni 4841  df-iun 4925  df-br 5075  df-opab 5137  df-mpt 5156  df-id 5515  df-xp 5626  df-rel 5627  df-cnv 5628  df-co 5629  df-dm 5630  df-rn 5631  df-res 5632  df-ima 5633  df-iota 6444  df-fun 6490  df-fn 6491  df-f 6492  df-f1 6493  df-fo 6494  df-f1o 6495  df-fv 6496  df-riota 7316  df-ov 7362  df-1st 7933  df-2nd 7934  df-cat 17629  df-cid 17630  df-doma 17986  df-coda 17987  df-homa 17988  df-arw 17989  df-thinc 49920  df-termc 49975
This theorem is referenced by:  dftermc3  50033
  Copyright terms: Public domain W3C validator