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 49916
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 2737 . . . 4 (Base‘𝐶) = (Base‘𝐶)
31, 2termcbas 49868 . . 3 (𝐶 ∈ TermCat → ∃𝑥(Base‘𝐶) = {𝑥})
4 eqid 2737 . . . . 5 (Homa𝐶) = (Homa𝐶)
51adantr 480 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ TermCat)
65termccd 49867 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ Cat)
7 eqid 2737 . . . . 5 (Hom ‘𝐶) = (Hom ‘𝐶)
8 vsnid 4622 . . . . . 6 𝑥 ∈ {𝑥}
9 simpr 484 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (Base‘𝐶) = {𝑥})
108, 9eleqtrrid 2844 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝑥 ∈ (Base‘𝐶))
11 eqid 2737 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
122, 7, 11, 6, 10catidcl 17619 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
134, 2, 6, 7, 10, 10, 12elhomai2 17972 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (𝑥(Homa𝐶)𝑥))
14 eqid 2737 . . . . . . . . 9 (Arrow‘𝐶) = (Arrow‘𝐶)
1514arwdmcd 17990 . . . . . . . 8 (𝑎 ∈ (Arrow‘𝐶) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
1615adantl 481 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
175adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝐶 ∈ TermCat)
1814, 2arwdm 17985 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (doma𝑎) ∈ (Base‘𝐶))
1918adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) ∈ (Base‘𝐶))
2010adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
2117, 2, 19, 20termcbasmo 49871 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) = 𝑥)
2214, 2arwcd 17986 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (coda𝑎) ∈ (Base‘𝐶))
2322adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) ∈ (Base‘𝐶))
2417, 2, 23, 20termcbasmo 49871 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) = 𝑥)
2514, 7arwhom 17989 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (2nd𝑎) ∈ ((doma𝑎)(Hom ‘𝐶)(coda𝑎)))
2625adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) ∈ ((doma𝑎)(Hom ‘𝐶)(coda𝑎)))
2712adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
2817, 2, 19, 23, 7, 26, 20, 20, 27termchommo 49873 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) = ((Id‘𝐶)‘𝑥))
2921, 24, 28oteq123d 4846 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩ = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3016, 29eqtrd 2772 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
31 simpr 484 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3214, 4homarw 17984 . . . . . . . . 9 (𝑥(Homa𝐶)𝑥) ⊆ (Arrow‘𝐶)
3332, 13sselid 3933 . . . . . . . 8 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3433adantr 480 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3531, 34eqeltrd 2837 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 ∈ (Arrow‘𝐶))
3630, 35impbida 801 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3736alrimiv 1929 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
38 eqeq2 2749 . . . . . 6 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (𝑎 = 𝑏𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3938bibi2d 342 . . . . 5 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → ((𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4039albidv 1922 . . . 4 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4113, 37, 40spcedv 3554 . . 3 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
423, 41exlimddv 1937 . 2 (𝐶 ∈ TermCat → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
43 eu6im 2576 . 2 (∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
4442, 43syl 17 1 (𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1540   = wceq 1542  wex 1781  wcel 2114  ∃!weu 2569  {csn 4582  cotp 4590  cfv 6502  (class class class)co 7370  2nd c2nd 7944  Basecbs 17150  Hom chom 17202  Idccid 17602  domacdoma 17958  codaccoda 17959  Arrowcarw 17960  Homachoma 17961  TermCatctermc 49860
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5226  ax-sep 5245  ax-nul 5255  ax-pow 5314  ax-pr 5381  ax-un 7692
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-rmo 3352  df-reu 3353  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-nul 4288  df-if 4482  df-pw 4558  df-sn 4583  df-pr 4585  df-op 4589  df-ot 4591  df-uni 4866  df-iun 4950  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5529  df-xp 5640  df-rel 5641  df-cnv 5642  df-co 5643  df-dm 5644  df-rn 5645  df-res 5646  df-ima 5647  df-iota 6458  df-fun 6504  df-fn 6505  df-f 6506  df-f1 6507  df-fo 6508  df-f1o 6509  df-fv 6510  df-riota 7327  df-ov 7373  df-1st 7945  df-2nd 7946  df-cat 17605  df-cid 17606  df-doma 17962  df-coda 17963  df-homa 17964  df-arw 17965  df-thinc 49806  df-termc 49861
This theorem is referenced by:  dftermc3  49919
  Copyright terms: Public domain W3C validator