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

Theorem catsubcat 17860
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 ssidd 3989 . . 3 (𝐶 ∈ Cat → (Base‘𝐶) ⊆ (Base‘𝐶))
2 ssidd 3989 . . . 4 ((𝐶 ∈ Cat ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
32ralrimivva 3189 . . 3 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
4 eqid 2734 . . . . . 6 (Homf𝐶) = (Homf𝐶)
5 eqid 2734 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
64, 5homffn 17712 . . . . 5 (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶))
76a1i 11 . . . 4 (𝐶 ∈ Cat → (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
8 fvexd 6902 . . . 4 (𝐶 ∈ Cat → (Base‘𝐶) ∈ V)
97, 7, 8isssc 17840 . . 3 (𝐶 ∈ Cat → ((Homf𝐶) ⊆cat (Homf𝐶) ↔ ((Base‘𝐶) ⊆ (Base‘𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))))
101, 3, 9mpbir2and 713 . 2 (𝐶 ∈ Cat → (Homf𝐶) ⊆cat (Homf𝐶))
11 eqid 2734 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
12 eqid 2734 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
13 simpl 482 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
14 simpr 484 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
155, 11, 12, 13, 14catidcl 17701 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
164, 5, 11, 14, 14homfval 17711 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑥(Homf𝐶)𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1715, 16eleqtrrd 2836 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥))
18 eqid 2734 . . . . . . . 8 (comp‘𝐶) = (comp‘𝐶)
1913adantr 480 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
2019adantr 480 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝐶 ∈ Cat)
2114adantr 480 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
2221adantr 480 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑥 ∈ (Base‘𝐶))
23 simpl 482 . . . . . . . . . 10 ((𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶)) → 𝑦 ∈ (Base‘𝐶))
2423adantl 481 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
2524adantr 480 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑦 ∈ (Base‘𝐶))
26 simpr 484 . . . . . . . . . 10 ((𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶)) → 𝑧 ∈ (Base‘𝐶))
2726adantl 481 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑧 ∈ (Base‘𝐶))
2827adantr 480 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑧 ∈ (Base‘𝐶))
294, 5, 11, 21, 24homfval 17711 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
3029eleq2d 2819 . . . . . . . . . . 11 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3130biimpcd 249 . . . . . . . . . 10 (𝑓 ∈ (𝑥(Homf𝐶)𝑦) → (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3231adantr 480 . . . . . . . . 9 ((𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧)) → (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3332impcom 407 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))
344, 5, 11, 24, 27homfval 17711 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑦(Homf𝐶)𝑧) = (𝑦(Hom ‘𝐶)𝑧))
3534eleq2d 2819 . . . . . . . . . . 11 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑦(Homf𝐶)𝑧) ↔ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3635biimpd 229 . . . . . . . . . 10 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑦(Homf𝐶)𝑧) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3736adantld 490 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ((𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧)) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3837imp 406 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))
395, 11, 18, 20, 22, 25, 28, 33, 38catcocl 17704 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
404, 5, 11, 21, 27homfval 17711 . . . . . . . 8 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4140adantr 480 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4239, 41eleqtrrd 2836 . . . . . 6 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4342ralrimivva 3189 . . . . 5 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4443ralrimivva 3189 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4517, 44jca 511 . . 3 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
4645ralrimiva 3133 . 2 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
47 id 22 . . 3 (𝐶 ∈ Cat → 𝐶 ∈ Cat)
484, 12, 18, 47, 7issubc2 17857 . 2 (𝐶 ∈ Cat → ((Homf𝐶) ∈ (Subcat‘𝐶) ↔ ((Homf𝐶) ⊆cat (Homf𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))))
4910, 46, 48mpbir2and 713 1 (𝐶 ∈ Cat → (Homf𝐶) ∈ (Subcat‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1539  wcel 2107  wral 3050  Vcvv 3464  wss 3933  cop 4614   class class class wbr 5125   × cxp 5665   Fn wfn 6537  cfv 6542  (class class class)co 7414  Basecbs 17230  Hom chom 17288  compcco 17289  Catccat 17683  Idccid 17684  Homf chomf 17685  cat cssc 17827  Subcatcsubc 17829
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1794  ax-4 1808  ax-5 1909  ax-6 1966  ax-7 2006  ax-8 2109  ax-9 2117  ax-10 2140  ax-11 2156  ax-12 2176  ax-ext 2706  ax-rep 5261  ax-sep 5278  ax-nul 5288  ax-pow 5347  ax-pr 5414  ax-un 7738
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1779  df-nf 1783  df-sb 2064  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2726  df-clel 2808  df-nfc 2884  df-ne 2932  df-ral 3051  df-rex 3060  df-rmo 3364  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3773  df-csb 3882  df-dif 3936  df-un 3938  df-in 3940  df-ss 3950  df-nul 4316  df-if 4508  df-pw 4584  df-sn 4609  df-pr 4611  df-op 4615  df-uni 4890  df-iun 4975  df-br 5126  df-opab 5188  df-mpt 5208  df-id 5560  df-xp 5673  df-rel 5674  df-cnv 5675  df-co 5676  df-dm 5677  df-rn 5678  df-res 5679  df-ima 5680  df-iota 6495  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-1st 7997  df-2nd 7998  df-pm 8852  df-ixp 8921  df-cat 17687  df-cid 17688  df-homf 17689  df-ssc 17830  df-subc 17832
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator