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 49512
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 2729 . . . 4 (Base‘𝐶) = (Base‘𝐶)
31, 2termcbas 49464 . . 3 (𝐶 ∈ TermCat → ∃𝑥(Base‘𝐶) = {𝑥})
4 eqid 2729 . . . . 5 (Homa𝐶) = (Homa𝐶)
51adantr 480 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ TermCat)
65termccd 49463 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ Cat)
7 eqid 2729 . . . . 5 (Hom ‘𝐶) = (Hom ‘𝐶)
8 vsnid 4623 . . . . . 6 𝑥 ∈ {𝑥}
9 simpr 484 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (Base‘𝐶) = {𝑥})
108, 9eleqtrrid 2835 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝑥 ∈ (Base‘𝐶))
11 eqid 2729 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
122, 7, 11, 6, 10catidcl 17625 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
134, 2, 6, 7, 10, 10, 12elhomai2 17978 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (𝑥(Homa𝐶)𝑥))
14 eqid 2729 . . . . . . . . 9 (Arrow‘𝐶) = (Arrow‘𝐶)
1514arwdmcd 17996 . . . . . . . 8 (𝑎 ∈ (Arrow‘𝐶) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
1615adantl 481 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
175adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝐶 ∈ TermCat)
1814, 2arwdm 17991 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (doma𝑎) ∈ (Base‘𝐶))
1918adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) ∈ (Base‘𝐶))
2010adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
2117, 2, 19, 20termcbasmo 49467 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) = 𝑥)
2214, 2arwcd 17992 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (coda𝑎) ∈ (Base‘𝐶))
2322adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) ∈ (Base‘𝐶))
2417, 2, 23, 20termcbasmo 49467 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) = 𝑥)
2514, 7arwhom 17995 . . . . . . . . . 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 49469 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) = ((Id‘𝐶)‘𝑥))
2921, 24, 28oteq123d 4848 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩ = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3016, 29eqtrd 2764 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
31 simpr 484 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)
3214, 4homarw 17990 . . . . . . . . 9 (𝑥(Homa𝐶)𝑥) ⊆ (Arrow‘𝐶)
3332, 13sselid 3941 . . . . . . . 8 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3433adantr 480 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (Arrow‘𝐶))
3531, 34eqeltrd 2828 . . . . . 6 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩) → 𝑎 ∈ (Arrow‘𝐶))
3630, 35impbida 800 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3736alrimiv 1927 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
38 eqeq2 2741 . . . . . 6 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (𝑎 = 𝑏𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩))
3938bibi2d 342 . . . . 5 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → ((𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ (𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4039albidv 1920 . . . 4 (𝑏 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ → (∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) ↔ ∀𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩)))
4113, 37, 40spcedv 3561 . . 3 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
423, 41exlimddv 1935 . 2 (𝐶 ∈ TermCat → ∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏))
43 eu6im 2568 . 2 (∃𝑏𝑎(𝑎 ∈ (Arrow‘𝐶) ↔ 𝑎 = 𝑏) → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
4442, 43syl 17 1 (𝐶 ∈ TermCat → ∃!𝑎 𝑎 ∈ (Arrow‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1538   = wceq 1540  wex 1779  wcel 2109  ∃!weu 2561  {csn 4585  cotp 4593  cfv 6500  (class class class)co 7370  2nd c2nd 7947  Basecbs 17157  Hom chom 17209  Idccid 17608  domacdoma 17964  codaccoda 17965  Arrowcarw 17966  Homachoma 17967  TermCatctermc 49456
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5229  ax-sep 5246  ax-nul 5256  ax-pow 5315  ax-pr 5382  ax-un 7692
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-rmo 3351  df-reu 3352  df-rab 3403  df-v 3446  df-sbc 3751  df-csb 3860  df-dif 3914  df-un 3916  df-in 3918  df-ss 3928  df-nul 4293  df-if 4485  df-pw 4561  df-sn 4586  df-pr 4588  df-op 4592  df-ot 4594  df-uni 4868  df-iun 4953  df-br 5103  df-opab 5165  df-mpt 5184  df-id 5526  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-iota 6453  df-fun 6502  df-fn 6503  df-f 6504  df-f1 6505  df-fo 6506  df-f1o 6507  df-fv 6508  df-riota 7327  df-ov 7373  df-1st 7948  df-2nd 7949  df-cat 17611  df-cid 17612  df-doma 17968  df-coda 17969  df-homa 17970  df-arw 17971  df-thinc 49402  df-termc 49457
This theorem is referenced by:  dftermc3  49515
  Copyright terms: Public domain W3C validator