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

Theorem fullsubc 17112
Description: The full subcategory generated by a subset of objects is the category with these objects and the same morphisms as the original. The result is always a subcategory (and it is full, meaning that all morphisms of the original category between objects in the subcategory is also in the subcategory), see definition 4.1(2) of [Adamek] p. 48. (Contributed by Mario Carneiro, 4-Jan-2017.)
Hypotheses
Ref Expression
fullsubc.b 𝐵 = (Base‘𝐶)
fullsubc.h 𝐻 = (Homf𝐶)
fullsubc.c (𝜑𝐶 ∈ Cat)
fullsubc.s (𝜑𝑆𝐵)
Assertion
Ref Expression
fullsubc (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶))

Proof of Theorem fullsubc
Dummy variables 𝑓 𝑔 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fullsubc.h . . . . 5 𝐻 = (Homf𝐶)
2 fullsubc.b . . . . 5 𝐵 = (Base‘𝐶)
31, 2homffn 16955 . . . 4 𝐻 Fn (𝐵 × 𝐵)
42fvexi 6659 . . . 4 𝐵 ∈ V
5 sscres 17085 . . . 4 ((𝐻 Fn (𝐵 × 𝐵) ∧ 𝐵 ∈ V) → (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻)
63, 4, 5mp2an 691 . . 3 (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻
76a1i 11 . 2 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻)
8 eqid 2798 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
9 eqid 2798 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
10 fullsubc.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
1110adantr 484 . . . . . 6 ((𝜑𝑥𝑆) → 𝐶 ∈ Cat)
12 fullsubc.s . . . . . . 7 (𝜑𝑆𝐵)
1312sselda 3915 . . . . . 6 ((𝜑𝑥𝑆) → 𝑥𝐵)
142, 8, 9, 11, 13catidcl 16945 . . . . 5 ((𝜑𝑥𝑆) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
15 simpr 488 . . . . . . 7 ((𝜑𝑥𝑆) → 𝑥𝑆)
1615, 15ovresd 7295 . . . . . 6 ((𝜑𝑥𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) = (𝑥𝐻𝑥))
171, 2, 8, 13, 13homfval 16954 . . . . . 6 ((𝜑𝑥𝑆) → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1816, 17eqtrd 2833 . . . . 5 ((𝜑𝑥𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1914, 18eleqtrrd 2893 . . . 4 ((𝜑𝑥𝑆) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥))
20 eqid 2798 . . . . . . . . . 10 (comp‘𝐶) = (comp‘𝐶)
2111ad3antrrr 729 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝐶 ∈ Cat)
2213ad3antrrr 729 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑥𝐵)
2312adantr 484 . . . . . . . . . . . . 13 ((𝜑𝑥𝑆) → 𝑆𝐵)
2423sselda 3915 . . . . . . . . . . . 12 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑦𝐵)
2524adantr 484 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑦𝐵)
2625adantr 484 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑦𝐵)
2723adantr 484 . . . . . . . . . . . 12 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑆𝐵)
2827sselda 3915 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑧𝐵)
2928adantr 484 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑧𝐵)
30 simprl 770 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))
31 simprr 772 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))
322, 8, 20, 21, 22, 26, 29, 30, 31catcocl 16948 . . . . . . . . 9 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
3315ad3antrrr 729 . . . . . . . . . . 11 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑥𝑆)
34 simplr 768 . . . . . . . . . . 11 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑧𝑆)
3533, 34ovresd 7295 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑥𝐻𝑧))
361, 2, 8, 22, 29homfval 16954 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥𝐻𝑧) = (𝑥(Hom ‘𝐶)𝑧))
3735, 36eqtrd 2833 . . . . . . . . 9 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑥(Hom ‘𝐶)𝑧))
3832, 37eleqtrrd 2893 . . . . . . . 8 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
3938ralrimivva 3156 . . . . . . 7 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
40 simplr 768 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑥𝑆)
41 simpr 488 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑦𝑆)
4240, 41ovresd 7295 . . . . . . . . . 10 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥𝐻𝑦))
4313adantr 484 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑥𝐵)
441, 2, 8, 43, 24homfval 16954 . . . . . . . . . 10 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4542, 44eqtrd 2833 . . . . . . . . 9 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4645adantr 484 . . . . . . . 8 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥(Hom ‘𝐶)𝑦))
47 simplr 768 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑦𝑆)
48 simpr 488 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑧𝑆)
4947, 48ovresd 7295 . . . . . . . . . 10 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑦𝐻𝑧))
501, 2, 8, 25, 28homfval 16954 . . . . . . . . . 10 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦𝐻𝑧) = (𝑦(Hom ‘𝐶)𝑧))
5149, 50eqtrd 2833 . . . . . . . . 9 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑦(Hom ‘𝐶)𝑧))
5251raleqdv 3364 . . . . . . . 8 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) ↔ ∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5346, 52raleqbidv 3354 . . . . . . 7 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (∀𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5439, 53mpbird 260 . . . . . 6 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → ∀𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5554ralrimiva 3149 . . . . 5 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → ∀𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5655ralrimiva 3149 . . . 4 ((𝜑𝑥𝑆) → ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5719, 56jca 515 . . 3 ((𝜑𝑥𝑆) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5857ralrimiva 3149 . 2 (𝜑 → ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
59 xpss12 5534 . . . . 5 ((𝑆𝐵𝑆𝐵) → (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵))
6012, 12, 59syl2anc 587 . . . 4 (𝜑 → (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵))
61 fnssres 6442 . . . 4 ((𝐻 Fn (𝐵 × 𝐵) ∧ (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵)) → (𝐻 ↾ (𝑆 × 𝑆)) Fn (𝑆 × 𝑆))
623, 60, 61sylancr 590 . . 3 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) Fn (𝑆 × 𝑆))
631, 9, 20, 10, 62issubc2 17098 . 2 (𝜑 → ((𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶) ↔ ((𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻 ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))))
647, 58, 63mpbir2and 712 1 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 399   = wceq 1538  wcel 2111  wral 3106  Vcvv 3441  wss 3881  cop 4531   class class class wbr 5030   × cxp 5517  cres 5521   Fn wfn 6319  cfv 6324  (class class class)co 7135  Basecbs 16475  Hom chom 16568  compcco 16569  Catccat 16927  Idccid 16928  Homf chomf 16929  cat cssc 17069  Subcatcsubc 17071
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-rep 5154  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3an 1086  df-tru 1541  df-fal 1551  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-ral 3111  df-rex 3112  df-reu 3113  df-rmo 3114  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-op 4532  df-uni 4801  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-id 5425  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-riota 7093  df-ov 7138  df-oprab 7139  df-mpo 7140  df-1st 7671  df-2nd 7672  df-pm 8392  df-ixp 8445  df-cat 16931  df-cid 16932  df-homf 16933  df-ssc 17072  df-subc 17074
This theorem is referenced by:  resscat  17114  funcres2c  17163  ressffth  17200  funcsetcres2  17345
  Copyright terms: Public domain W3C validator