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

Theorem subccocl 17927
Description: A subcategory is closed under composition. (Contributed by Mario Carneiro, 4-Jan-2017.)
Hypotheses
Ref Expression
subcidcl.j (𝜑𝐽 ∈ (Subcat‘𝐶))
subcidcl.2 (𝜑𝐽 Fn (𝑆 × 𝑆))
subcidcl.x (𝜑𝑋𝑆)
subccocl.o · = (comp‘𝐶)
subccocl.y (𝜑𝑌𝑆)
subccocl.z (𝜑𝑍𝑆)
subccocl.f (𝜑𝐹 ∈ (𝑋𝐽𝑌))
subccocl.g (𝜑𝐺 ∈ (𝑌𝐽𝑍))
Assertion
Ref Expression
subccocl (𝜑 → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍))

Proof of Theorem subccocl
Dummy variables 𝑓 𝑔 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 subcidcl.j . . . 4 (𝜑𝐽 ∈ (Subcat‘𝐶))
2 eqid 2766 . . . . 5 (Homf𝐶) = (Homf𝐶)
3 eqid 2766 . . . . 5 (Id‘𝐶) = (Id‘𝐶)
4 subccocl.o . . . . 5 · = (comp‘𝐶)
5 subcrcl 17898 . . . . . 6 (𝐽 ∈ (Subcat‘𝐶) → 𝐶 ∈ Cat)
61, 5syl 18 . . . . 5 (𝜑𝐶 ∈ Cat)
7 subcidcl.2 . . . . 5 (𝜑𝐽 Fn (𝑆 × 𝑆))
82, 3, 4, 6, 7issubc2 17918 . . . 4 (𝜑 → (𝐽 ∈ (Subcat‘𝐶) ↔ (𝐽cat (Homf𝐶) ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)))))
91, 8mpbid 235 . . 3 (𝜑 → (𝐽cat (Homf𝐶) ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧))))
109simprd 501 . 2 (𝜑 → ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)))
11 subcidcl.x . . 3 (𝜑𝑋𝑆)
12 subccocl.y . . . . . 6 (𝜑𝑌𝑆)
1312adantr 486 . . . . 5 ((𝜑𝑥 = 𝑋) → 𝑌𝑆)
14 subccocl.z . . . . . . 7 (𝜑𝑍𝑆)
1514ad2antrr 739 . . . . . 6 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → 𝑍𝑆)
16 subccocl.f . . . . . . . . 9 (𝜑𝐹 ∈ (𝑋𝐽𝑌))
1716ad3antrrr 743 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝐹 ∈ (𝑋𝐽𝑌))
18 simpllr 788 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝑥 = 𝑋)
19 simplr 781 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝑦 = 𝑌)
2018, 19oveq12d 7441 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → (𝑥𝐽𝑦) = (𝑋𝐽𝑌))
2117, 20eleqtrrd 2869 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝐹 ∈ (𝑥𝐽𝑦))
22 subccocl.g . . . . . . . . . 10 (𝜑𝐺 ∈ (𝑌𝐽𝑍))
2322ad4antr 745 . . . . . . . . 9 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝐺 ∈ (𝑌𝐽𝑍))
24 simpllr 788 . . . . . . . . . 10 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝑦 = 𝑌)
25 simplr 781 . . . . . . . . . 10 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝑧 = 𝑍)
2624, 25oveq12d 7441 . . . . . . . . 9 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → (𝑦𝐽𝑧) = (𝑌𝐽𝑍))
2723, 26eleqtrrd 2869 . . . . . . . 8 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝐺 ∈ (𝑦𝐽𝑧))
28 simp-5r 798 . . . . . . . . . . . 12 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑥 = 𝑋)
29 simp-4r 796 . . . . . . . . . . . 12 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑦 = 𝑌)
3028, 29opeq12d 4851 . . . . . . . . . . 11 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → ⟨𝑥, 𝑦⟩ = ⟨𝑋, 𝑌⟩)
31 simpllr 788 . . . . . . . . . . 11 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑧 = 𝑍)
3230, 31oveq12d 7441 . . . . . . . . . 10 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → (⟨𝑥, 𝑦· 𝑧) = (⟨𝑋, 𝑌· 𝑍))
33 simpr 490 . . . . . . . . . 10 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺)
34 simplr 781 . . . . . . . . . 10 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑓 = 𝐹)
3532, 33, 34oveq123d 7444 . . . . . . . . 9 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) = (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹))
3628, 31oveq12d 7441 . . . . . . . . 9 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → (𝑥𝐽𝑧) = (𝑋𝐽𝑍))
3735, 36eleq12d 2860 . . . . . . . 8 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → ((𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) ↔ (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
3827, 37rspcdv 3576 . . . . . . 7 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → (∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
3921, 38rspcimdv 3574 . . . . . 6 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → (∀𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4015, 39rspcimdv 3574 . . . . 5 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → (∀𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4113, 40rspcimdv 3574 . . . 4 ((𝜑𝑥 = 𝑋) → (∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4241adantld 496 . . 3 ((𝜑𝑥 = 𝑋) → ((((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4311, 42rspcimdv 3574 . 2 (𝜑 → (∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4410, 43mpd 16 1 (𝜑 → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2146  wral 3082  cop 4600   class class class wbr 5114   × cxp 5664   Fn wfn 6538  cfv 6543  (class class class)co 7423  compcco 17347  Catccat 17745  Idccid 17746  Homf chomf 17747  cat cssc 17889  Subcatcsubc 17891
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2738  ax-rep 5243  ax-sep 5262  ax-nul 5274  ax-pow 5341  ax-pr 5409  ax-un 7745
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ne 2962  df-ral 3083  df-rex 3093  df-reu 3373  df-rab 3420  df-v 3460  df-sbc 3748  df-csb 3857  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-nul 4290  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-op 4601  df-uni 4878  df-iun 4963  df-br 5115  df-opab 5179  df-mpt 5198  df-id 5561  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-iota 6499  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-ov 7426  df-oprab 7427  df-mpo 7428  df-pm 8836  df-ixp 8905  df-ssc 17892  df-subc 17894
This theorem is used by:  subccatid  17928  funcres  17978  iinfsubc  49877
  Copyright terms: Public domain W3C validator