MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  catsubcat Structured version   Visualization version   GIF version

Theorem catsubcat 16705
Description: For any category 𝐶, 𝐶 itself is a (full) subcategory of 𝐶, see example 4.3(1.b) in [Adamek] p. 48. (Contributed by AV, 23-Apr-2020.)
Assertion
Ref Expression
catsubcat (𝐶 ∈ Cat → (Homf𝐶) ∈ (Subcat‘𝐶))

Proof of Theorem catsubcat
Dummy variables 𝑓 𝑔 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ssid 3771 . . . 4 (Base‘𝐶) ⊆ (Base‘𝐶)
21a1i 11 . . 3 (𝐶 ∈ Cat → (Base‘𝐶) ⊆ (Base‘𝐶))
3 ssid 3771 . . . . 5 (𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦)
43a1i 11 . . . 4 ((𝐶 ∈ Cat ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
54ralrimivva 3119 . . 3 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
6 eqid 2770 . . . . . 6 (Homf𝐶) = (Homf𝐶)
7 eqid 2770 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
86, 7homffn 16559 . . . . 5 (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶))
98a1i 11 . . . 4 (𝐶 ∈ Cat → (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
10 fvexd 6344 . . . 4 (𝐶 ∈ Cat → (Base‘𝐶) ∈ V)
119, 9, 10isssc 16686 . . 3 (𝐶 ∈ Cat → ((Homf𝐶) ⊆cat (Homf𝐶) ↔ ((Base‘𝐶) ⊆ (Base‘𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))))
122, 5, 11mpbir2and 684 . 2 (𝐶 ∈ Cat → (Homf𝐶) ⊆cat (Homf𝐶))
13 eqid 2770 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
14 eqid 2770 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
15 simpl 468 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
16 simpr 471 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
177, 13, 14, 15, 16catidcl 16549 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
186, 7, 13, 16, 16homfval 16558 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑥(Homf𝐶)𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1917, 18eleqtrrd 2852 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥))
20 eqid 2770 . . . . . . . 8 (comp‘𝐶) = (comp‘𝐶)
2115adantr 466 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
2221adantr 466 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝐶 ∈ Cat)
2316adantr 466 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
2423adantr 466 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑥 ∈ (Base‘𝐶))
25 simpl 468 . . . . . . . . . 10 ((𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶)) → 𝑦 ∈ (Base‘𝐶))
2625adantl 467 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
2726adantr 466 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑦 ∈ (Base‘𝐶))
28 simpr 471 . . . . . . . . . 10 ((𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶)) → 𝑧 ∈ (Base‘𝐶))
2928adantl 467 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑧 ∈ (Base‘𝐶))
3029adantr 466 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑧 ∈ (Base‘𝐶))
316, 7, 13, 23, 26homfval 16558 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
3231eleq2d 2835 . . . . . . . . . . 11 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3332biimpcd 239 . . . . . . . . . 10 (𝑓 ∈ (𝑥(Homf𝐶)𝑦) → (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3433adantr 466 . . . . . . . . 9 ((𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧)) → (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3534impcom 394 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))
366, 7, 13, 26, 29homfval 16558 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑦(Homf𝐶)𝑧) = (𝑦(Hom ‘𝐶)𝑧))
3736eleq2d 2835 . . . . . . . . . . 11 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑦(Homf𝐶)𝑧) ↔ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3837biimpd 219 . . . . . . . . . 10 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑦(Homf𝐶)𝑧) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3938adantld 474 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ((𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧)) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
4039imp 393 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))
417, 13, 20, 22, 24, 27, 30, 35, 40catcocl 16552 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
426, 7, 13, 23, 29homfval 16558 . . . . . . . 8 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4342adantr 466 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4441, 43eleqtrrd 2852 . . . . . 6 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4544ralrimivva 3119 . . . . 5 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4645ralrimivva 3119 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4719, 46jca 495 . . 3 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
4847ralrimiva 3114 . 2 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
49 id 22 . . 3 (𝐶 ∈ Cat → 𝐶 ∈ Cat)
506, 14, 20, 49, 9issubc2 16702 . 2 (𝐶 ∈ Cat → ((Homf𝐶) ∈ (Subcat‘𝐶) ↔ ((Homf𝐶) ⊆cat (Homf𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))))
5112, 48, 50mpbir2and 684 1 (𝐶 ∈ Cat → (Homf𝐶) ∈ (Subcat‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 382   = wceq 1630  wcel 2144  wral 3060  Vcvv 3349  wss 3721  cop 4320   class class class wbr 4784   × cxp 5247   Fn wfn 6026  cfv 6031  (class class class)co 6792  Basecbs 16063  Hom chom 16159  compcco 16160  Catccat 16531  Idccid 16532  Homf chomf 16533  cat cssc 16673  Subcatcsubc 16675
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1869  ax-4 1884  ax-5 1990  ax-6 2056  ax-7 2092  ax-8 2146  ax-9 2153  ax-10 2173  ax-11 2189  ax-12 2202  ax-13 2407  ax-ext 2750  ax-rep 4902  ax-sep 4912  ax-nul 4920  ax-pow 4971  ax-pr 5034  ax-un 7095
This theorem depends on definitions:  df-bi 197  df-an 383  df-or 827  df-3an 1072  df-tru 1633  df-fal 1636  df-ex 1852  df-nf 1857  df-sb 2049  df-eu 2621  df-mo 2622  df-clab 2757  df-cleq 2763  df-clel 2766  df-nfc 2901  df-ne 2943  df-ral 3065  df-rex 3066  df-reu 3067  df-rmo 3068  df-rab 3069  df-v 3351  df-sbc 3586  df-csb 3681  df-dif 3724  df-un 3726  df-in 3728  df-ss 3735  df-nul 4062  df-if 4224  df-pw 4297  df-sn 4315  df-pr 4317  df-op 4321  df-uni 4573  df-iun 4654  df-br 4785  df-opab 4845  df-mpt 4862  df-id 5157  df-xp 5255  df-rel 5256  df-cnv 5257  df-co 5258  df-dm 5259  df-rn 5260  df-res 5261  df-ima 5262  df-iota 5994  df-fun 6033  df-fn 6034  df-f 6035  df-f1 6036  df-fo 6037  df-f1o 6038  df-fv 6039  df-riota 6753  df-ov 6795  df-oprab 6796  df-mpt2 6797  df-1st 7314  df-2nd 7315  df-pm 8011  df-ixp 8062  df-cat 16535  df-cid 16536  df-homf 16537  df-ssc 16676  df-subc 16678
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator