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 49850
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 49802 . . 3 (𝐶 ∈ TermCat → ∃𝑥(Base‘𝐶) = {𝑥})
4 eqid 2737 . . . . 5 (Homa𝐶) = (Homa𝐶)
51adantr 480 . . . . . 6 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ TermCat)
65termccd 49801 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → 𝐶 ∈ Cat)
7 eqid 2737 . . . . 5 (Hom ‘𝐶) = (Hom ‘𝐶)
8 vsnid 4621 . . . . . 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 17610 . . . . 5 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
134, 2, 6, 7, 10, 10, 12elhomai2 17963 . . . 4 ((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) → ⟨𝑥, 𝑥, ((Id‘𝐶)‘𝑥)⟩ ∈ (𝑥(Homa𝐶)𝑥))
14 eqid 2737 . . . . . . . . 9 (Arrow‘𝐶) = (Arrow‘𝐶)
1514arwdmcd 17981 . . . . . . . 8 (𝑎 ∈ (Arrow‘𝐶) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
1615adantl 481 . . . . . . 7 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑎 = ⟨(doma𝑎), (coda𝑎), (2nd𝑎)⟩)
175adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝐶 ∈ TermCat)
1814, 2arwdm 17976 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (doma𝑎) ∈ (Base‘𝐶))
1918adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) ∈ (Base‘𝐶))
2010adantr 480 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
2117, 2, 19, 20termcbasmo 49805 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (doma𝑎) = 𝑥)
2214, 2arwcd 17977 . . . . . . . . . 10 (𝑎 ∈ (Arrow‘𝐶) → (coda𝑎) ∈ (Base‘𝐶))
2322adantl 481 . . . . . . . . 9 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) ∈ (Base‘𝐶))
2417, 2, 23, 20termcbasmo 49805 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (coda𝑎) = 𝑥)
2514, 7arwhom 17980 . . . . . . . . . 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 49807 . . . . . . . 8 (((𝐶 ∈ TermCat ∧ (Base‘𝐶) = {𝑥}) ∧ 𝑎 ∈ (Arrow‘𝐶)) → (2nd𝑎) = ((Id‘𝐶)‘𝑥))
2921, 24, 28oteq123d 4845 . . . . . . 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 17975 . . . . . . . . 9 (𝑥(Homa𝐶)𝑥) ⊆ (Arrow‘𝐶)
3332, 13sselid 3932 . . . . . . . 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 3553 . . 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 4581  cotp 4589  cfv 6493  (class class class)co 7361  2nd c2nd 7935  Basecbs 17141  Hom chom 17193  Idccid 17593  domacdoma 17949  codaccoda 17950  Arrowcarw 17951  Homachoma 17952  TermCatctermc 49794
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 5225  ax-sep 5242  ax-nul 5252  ax-pow 5311  ax-pr 5378  ax-un 7683
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 3062  df-rmo 3351  df-reu 3352  df-rab 3401  df-v 3443  df-sbc 3742  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-nul 4287  df-if 4481  df-pw 4557  df-sn 4582  df-pr 4584  df-op 4588  df-ot 4590  df-uni 4865  df-iun 4949  df-br 5100  df-opab 5162  df-mpt 5181  df-id 5520  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-iota 6449  df-fun 6495  df-fn 6496  df-f 6497  df-f1 6498  df-fo 6499  df-f1o 6500  df-fv 6501  df-riota 7318  df-ov 7364  df-1st 7936  df-2nd 7937  df-cat 17596  df-cid 17597  df-doma 17953  df-coda 17954  df-homa 17955  df-arw 17956  df-thinc 49740  df-termc 49795
This theorem is referenced by:  dftermc3  49853
  Copyright terms: Public domain W3C validator