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

Theorem catsubcat 17903
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 4032 . . 3 (𝐶 ∈ Cat → (Base‘𝐶) ⊆ (Base‘𝐶))
2 ssidd 4032 . . . 4 ((𝐶 ∈ Cat ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
32ralrimivva 3208 . . 3 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))
4 eqid 2740 . . . . . 6 (Homf𝐶) = (Homf𝐶)
5 eqid 2740 . . . . . 6 (Base‘𝐶) = (Base‘𝐶)
64, 5homffn 17751 . . . . 5 (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶))
76a1i 11 . . . 4 (𝐶 ∈ Cat → (Homf𝐶) Fn ((Base‘𝐶) × (Base‘𝐶)))
8 fvexd 6935 . . . 4 (𝐶 ∈ Cat → (Base‘𝐶) ∈ V)
97, 7, 8isssc 17881 . . 3 (𝐶 ∈ Cat → ((Homf𝐶) ⊆cat (Homf𝐶) ↔ ((Base‘𝐶) ⊆ (Base‘𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(Homf𝐶)𝑦) ⊆ (𝑥(Homf𝐶)𝑦))))
101, 3, 9mpbir2and 712 . 2 (𝐶 ∈ Cat → (Homf𝐶) ⊆cat (Homf𝐶))
11 eqid 2740 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
12 eqid 2740 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
13 simpl 482 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝐶 ∈ Cat)
14 simpr 484 . . . . . 6 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → 𝑥 ∈ (Base‘𝐶))
155, 11, 12, 13, 14catidcl 17740 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
164, 5, 11, 14, 14homfval 17750 . . . . 5 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (𝑥(Homf𝐶)𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1715, 16eleqtrrd 2847 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥))
18 eqid 2740 . . . . . . . 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 17750 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
3029eleq2d 2830 . . . . . . . . . . 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 17750 . . . . . . . . . . . 12 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑦(Homf𝐶)𝑧) = (𝑦(Hom ‘𝐶)𝑧))
3534eleq2d 2830 . . . . . . . . . . 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 17743 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
404, 5, 11, 21, 27homfval 17750 . . . . . . . 8 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4140adantr 480 . . . . . . 7 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑥(Homf𝐶)𝑧) = (𝑥(Hom ‘𝐶)𝑧))
4239, 41eleqtrrd 2847 . . . . . 6 ((((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) ∧ (𝑓 ∈ (𝑥(Homf𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Homf𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4342ralrimivva 3208 . . . . 5 (((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐶) ∧ 𝑧 ∈ (Base‘𝐶))) → ∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4443ralrimivva 3208 . . . 4 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧))
4517, 44jca 511 . . 3 ((𝐶 ∈ Cat ∧ 𝑥 ∈ (Base‘𝐶)) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
4645ralrimiva 3152 . 2 (𝐶 ∈ Cat → ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))
47 id 22 . . 3 (𝐶 ∈ Cat → 𝐶 ∈ Cat)
484, 12, 18, 47, 7issubc2 17900 . 2 (𝐶 ∈ Cat → ((Homf𝐶) ∈ (Subcat‘𝐶) ↔ ((Homf𝐶) ⊆cat (Homf𝐶) ∧ ∀𝑥 ∈ (Base‘𝐶)(((Id‘𝐶)‘𝑥) ∈ (𝑥(Homf𝐶)𝑥) ∧ ∀𝑦 ∈ (Base‘𝐶)∀𝑧 ∈ (Base‘𝐶)∀𝑓 ∈ (𝑥(Homf𝐶)𝑦)∀𝑔 ∈ (𝑦(Homf𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Homf𝐶)𝑧)))))
4910, 46, 48mpbir2and 712 1 (𝐶 ∈ Cat → (Homf𝐶) ∈ (Subcat‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1537  wcel 2108  wral 3067  Vcvv 3488  wss 3976  cop 4654   class class class wbr 5166   × cxp 5698   Fn wfn 6568  cfv 6573  (class class class)co 7448  Basecbs 17258  Hom chom 17322  compcco 17323  Catccat 17722  Idccid 17723  Homf chomf 17724  cat cssc 17868  Subcatcsubc 17870
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-id 5593  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-1st 8030  df-2nd 8031  df-pm 8887  df-ixp 8956  df-cat 17726  df-cid 17727  df-homf 17728  df-ssc 17871  df-subc 17873
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator