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

Theorem subccocl 17754
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 2733 . . . . 5 (Homf𝐶) = (Homf𝐶)
3 eqid 2733 . . . . 5 (Id‘𝐶) = (Id‘𝐶)
4 subccocl.o . . . . 5 · = (comp‘𝐶)
5 subcrcl 17725 . . . . . 6 (𝐽 ∈ (Subcat‘𝐶) → 𝐶 ∈ Cat)
61, 5syl 17 . . . . 5 (𝜑𝐶 ∈ Cat)
7 subcidcl.2 . . . . 5 (𝜑𝐽 Fn (𝑆 × 𝑆))
82, 3, 4, 6, 7issubc2 17745 . . . 4 (𝜑 → (𝐽 ∈ (Subcat‘𝐶) ↔ (𝐽cat (Homf𝐶) ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)))))
91, 8mpbid 232 . . 3 (𝜑 → (𝐽cat (Homf𝐶) ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧))))
109simprd 495 . 2 (𝜑 → ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)))
11 subcidcl.x . . 3 (𝜑𝑋𝑆)
12 subccocl.y . . . . . 6 (𝜑𝑌𝑆)
1312adantr 480 . . . . 5 ((𝜑𝑥 = 𝑋) → 𝑌𝑆)
14 subccocl.z . . . . . . 7 (𝜑𝑍𝑆)
1514ad2antrr 726 . . . . . 6 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → 𝑍𝑆)
16 subccocl.f . . . . . . . . 9 (𝜑𝐹 ∈ (𝑋𝐽𝑌))
1716ad3antrrr 730 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝐹 ∈ (𝑋𝐽𝑌))
18 simpllr 775 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝑥 = 𝑋)
19 simplr 768 . . . . . . . . 9 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝑦 = 𝑌)
2018, 19oveq12d 7370 . . . . . . . 8 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → (𝑥𝐽𝑦) = (𝑋𝐽𝑌))
2117, 20eleqtrrd 2836 . . . . . . 7 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → 𝐹 ∈ (𝑥𝐽𝑦))
22 subccocl.g . . . . . . . . . 10 (𝜑𝐺 ∈ (𝑌𝐽𝑍))
2322ad4antr 732 . . . . . . . . 9 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝐺 ∈ (𝑌𝐽𝑍))
24 simpllr 775 . . . . . . . . . 10 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝑦 = 𝑌)
25 simplr 768 . . . . . . . . . 10 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝑧 = 𝑍)
2624, 25oveq12d 7370 . . . . . . . . 9 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → (𝑦𝐽𝑧) = (𝑌𝐽𝑍))
2723, 26eleqtrrd 2836 . . . . . . . 8 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → 𝐺 ∈ (𝑦𝐽𝑧))
28 simp-5r 785 . . . . . . . . . . . 12 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑥 = 𝑋)
29 simp-4r 783 . . . . . . . . . . . 12 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑦 = 𝑌)
3028, 29opeq12d 4832 . . . . . . . . . . 11 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → ⟨𝑥, 𝑦⟩ = ⟨𝑋, 𝑌⟩)
31 simpllr 775 . . . . . . . . . . 11 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑧 = 𝑍)
3230, 31oveq12d 7370 . . . . . . . . . 10 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → (⟨𝑥, 𝑦· 𝑧) = (⟨𝑋, 𝑌· 𝑍))
33 simpr 484 . . . . . . . . . 10 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑔 = 𝐺)
34 simplr 768 . . . . . . . . . 10 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → 𝑓 = 𝐹)
3532, 33, 34oveq123d 7373 . . . . . . . . 9 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → (𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) = (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹))
3628, 31oveq12d 7370 . . . . . . . . 9 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → (𝑥𝐽𝑧) = (𝑋𝐽𝑍))
3735, 36eleq12d 2827 . . . . . . . 8 ((((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) ∧ 𝑔 = 𝐺) → ((𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) ↔ (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
3827, 37rspcdv 3565 . . . . . . 7 (((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) ∧ 𝑓 = 𝐹) → (∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
3921, 38rspcimdv 3563 . . . . . 6 ((((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) ∧ 𝑧 = 𝑍) → (∀𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4015, 39rspcimdv 3563 . . . . 5 (((𝜑𝑥 = 𝑋) ∧ 𝑦 = 𝑌) → (∀𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4113, 40rspcimdv 3563 . . . 4 ((𝜑𝑥 = 𝑋) → (∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4241adantld 490 . . 3 ((𝜑𝑥 = 𝑋) → ((((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4311, 42rspcimdv 3563 . 2 (𝜑 → (∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥𝐽𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥𝐽𝑦)∀𝑔 ∈ (𝑦𝐽𝑧)(𝑔(⟨𝑥, 𝑦· 𝑧)𝑓) ∈ (𝑥𝐽𝑧)) → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍)))
4410, 43mpd 15 1 (𝜑 → (𝐺(⟨𝑋, 𝑌· 𝑍)𝐹) ∈ (𝑋𝐽𝑍))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1541  wcel 2113  wral 3048  cop 4581   class class class wbr 5093   × cxp 5617   Fn wfn 6481  cfv 6486  (class class class)co 7352  compcco 17175  Catccat 17572  Idccid 17573  Homf chomf 17574  cat cssc 17716  Subcatcsubc 17718
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2182  ax-ext 2705  ax-rep 5219  ax-sep 5236  ax-nul 5246  ax-pow 5305  ax-pr 5372  ax-un 7674
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2725  df-clel 2808  df-nfc 2882  df-ne 2930  df-ral 3049  df-rex 3058  df-reu 3348  df-rab 3397  df-v 3439  df-sbc 3738  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-nul 4283  df-if 4475  df-pw 4551  df-sn 4576  df-pr 4578  df-op 4582  df-uni 4859  df-iun 4943  df-br 5094  df-opab 5156  df-mpt 5175  df-id 5514  df-xp 5625  df-rel 5626  df-cnv 5627  df-co 5628  df-dm 5629  df-rn 5630  df-res 5631  df-ima 5632  df-iota 6442  df-fun 6488  df-fn 6489  df-f 6490  df-f1 6491  df-fo 6492  df-f1o 6493  df-fv 6494  df-ov 7355  df-oprab 7356  df-mpo 7357  df-pm 8759  df-ixp 8828  df-ssc 17719  df-subc 17721
This theorem is referenced by:  subccatid  17755  funcres  17805  iinfsubc  49183
  Copyright terms: Public domain W3C validator