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

Theorem catsubcat 17554
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 3944 . . 3 (𝐶 ∈ Cat → (Base‘𝐶) ⊆ (Base‘𝐶))
2 ssidd 3944 . . . 4 ((𝐶 ∈ Cat ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
32ralrimivva 3123 . . 3 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
4 eqid 2738 . . . . . 6 (Homf𝐶) = (Homf𝐶)
5 eqid 2738 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
64, 5homffn 17402 . . . . 5 (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶))
76a1i 11 . . . 4 (𝐶 ∈ Cat → (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
8 fvexd 6789 . . . 4 (𝐶 ∈ Cat → (Base‘𝐶) ∈ V)
97, 7, 8isssc 17532 . . 3 (𝐶 ∈ Cat → ((Homf𝐶) ⊆cat (Homf𝐶) ↔ ((Base‘𝐶) ⊆ (Base‘𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))))
101, 3, 9mpbir2and 710 . 2 (𝐶 ∈ Cat → (Homf𝐶) ⊆cat (Homf𝐶))
11 eqid 2738 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
12 eqid 2738 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
13 simpl 483 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
14 simpr 485 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
155, 11, 12, 13, 14catidcl 17391 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
164, 5, 11, 14, 14homfval 17401 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑥(Homf𝐶)𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1715, 16eleqtrrd 2842 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥))
18 eqid 2738 . . . . . . . 8 (comp‘𝐶) = (comp‘𝐶)
1913adantr 481 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝐶 ∈ Cat)
2019adantr 481 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝐶 ∈ Cat)
2114adantr 481 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
2221adantr 481 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑥 ∈ (Base‘𝐶))
23 simpl 483 . . . . . . . . . 10 ((𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶)) → 𝑦 ∈ (Base‘𝐶))
2423adantl 482 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
2524adantr 481 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑦 ∈ (Base‘𝐶))
26 simpr 485 . . . . . . . . . 10 ((𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶)) → 𝑧 ∈ (Base‘𝐶))
2726adantl 482 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑧 ∈ (Base‘𝐶))
2827adantr 481 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑧 ∈ (Base‘𝐶))
294, 5, 11, 21, 24homfval 17401 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
3029eleq2d 2824 . . . . . . . . . . 11 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ↔ 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3130biimpcd 248 . . . . . . . . . 10 (𝑓 ∈ (𝑥(Homf𝐶)𝑦) → (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3231adantr 481 . . . . . . . . 9 ((𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧)) → (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)))
3332impcom 408 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))
344, 5, 11, 24, 27homfval 17401 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑦(Homf𝐶)𝑧) = (𝑦(Hom ‘𝐶)𝑧))
3534eleq2d 2824 . . . . . . . . . . 11 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑦(Homf𝐶)𝑧) ↔ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3635biimpd 228 . . . . . . . . . 10 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑦(Homf𝐶)𝑧) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3736adantld 491 . . . . . . . . 9 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ((𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧)) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)))
3837imp 407 . . . . . . . 8 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))
395, 11, 18, 20, 22, 25, 28, 33, 38catcocl 17394 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
404, 5, 11, 21, 27homfval 17401 . . . . . . . 8 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4140adantr 481 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4239, 41eleqtrrd 2842 . . . . . 6 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4342ralrimivva 3123 . . . . 5 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4443ralrimivva 3123 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4517, 44jca 512 . . 3 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
4645ralrimiva 3103 . 2 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
47 id 22 . . 3 (𝐶 ∈ Cat → 𝐶 ∈ Cat)
484, 12, 18, 47, 7issubc2 17551 . 2 (𝐶 ∈ Cat → ((Homf𝐶) ∈ (Subcat‘𝐶) ↔ ((Homf𝐶) ⊆cat (Homf𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))))
4910, 46, 48mpbir2and 710 1 (𝐶 ∈ Cat → (Homf𝐶) ∈ (Subcat‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1539  wcel 2106  wral 3064  Vcvv 3432  wss 3887  cop 4567   class class class wbr 5074   × cxp 5587   Fn wfn 6428  cfv 6433  (class class class)co 7275  Basecbs 16912  Hom chom 16973  compcco 16974  Catccat 17373  Idccid 17374  Homf chomf 17375  cat cssc 17519  Subcatcsubc 17521
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2709  ax-rep 5209  ax-sep 5223  ax-nul 5230  ax-pow 5288  ax-pr 5352  ax-un 7588
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ne 2944  df-ral 3069  df-rex 3070  df-rmo 3071  df-reu 3072  df-rab 3073  df-v 3434  df-sbc 3717  df-csb 3833  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-nul 4257  df-if 4460  df-pw 4535  df-sn 4562  df-pr 4564  df-op 4568  df-uni 4840  df-iun 4926  df-br 5075  df-opab 5137  df-mpt 5158  df-id 5489  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-iota 6391  df-fun 6435  df-fn 6436  df-f 6437  df-f1 6438  df-fo 6439  df-f1o 6440  df-fv 6441  df-riota 7232  df-ov 7278  df-oprab 7279  df-mpo 7280  df-1st 7831  df-2nd 7832  df-pm 8618  df-ixp 8686  df-cat 17377  df-cid 17378  df-homf 17379  df-ssc 17522  df-subc 17524
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator