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

Theorem fullsubc 17913
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 17755 . . . 4 𝐻 Fn (𝐵 × 𝐵)
42fvexi 6895 . . . 4 𝐵 ∈ V
5 sscres 17886 . . . 4 ((𝐻 Fn (𝐵 × 𝐵) ∧ 𝐵 ∈ V) → (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻)
63, 4, 5mp2an 704 . . 3 (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻
76a1i 11 . 2 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻)
8 eqid 2762 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
9 eqid 2762 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
10 fullsubc.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
1110adantr 485 . . . . . 6 ((𝜑𝑥𝑆) → 𝐶 ∈ Cat)
12 fullsubc.s . . . . . . 7 (𝜑𝑆𝐵)
1312sselda 3936 . . . . . 6 ((𝜑𝑥𝑆) → 𝑥𝐵)
142, 8, 9, 11, 13catidcl 17744 . . . . 5 ((𝜑𝑥𝑆) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
15 simpr 489 . . . . . . 7 ((𝜑𝑥𝑆) → 𝑥𝑆)
1615, 15ovresd 7579 . . . . . 6 ((𝜑𝑥𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) = (𝑥𝐻𝑥))
171, 2, 8, 13, 13homfval 17754 . . . . . 6 ((𝜑𝑥𝑆) → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1816, 17eqtrd 2797 . . . . 5 ((𝜑𝑥𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1914, 18eleqtrrd 2865 . . . 4 ((𝜑𝑥𝑆) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥))
20 eqid 2762 . . . . . . . . . 10 (comp‘𝐶) = (comp‘𝐶)
2111ad3antrrr 742 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝐶 ∈ Cat)
2213ad3antrrr 742 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑥𝐵)
2312adantr 485 . . . . . . . . . . . . 13 ((𝜑𝑥𝑆) → 𝑆𝐵)
2423sselda 3936 . . . . . . . . . . . 12 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑦𝐵)
2524adantr 485 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑦𝐵)
2625adantr 485 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑦𝐵)
2723adantr 485 . . . . . . . . . . . 12 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑆𝐵)
2827sselda 3936 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑧𝐵)
2928adantr 485 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑧𝐵)
30 simprl 782 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))
31 simprr 784 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))
322, 8, 20, 21, 22, 26, 29, 30, 31catcocl 17747 . . . . . . . . 9 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
3315ad3antrrr 742 . . . . . . . . . . 11 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑥𝑆)
34 simplr 780 . . . . . . . . . . 11 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑧𝑆)
3533, 34ovresd 7579 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑥𝐻𝑧))
361, 2, 8, 22, 29homfval 17754 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥𝐻𝑧) = (𝑥(Hom ‘𝐶)𝑧))
3735, 36eqtrd 2797 . . . . . . . . 9 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑥(Hom ‘𝐶)𝑧))
3832, 37eleqtrrd 2865 . . . . . . . 8 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
3938ralrimivva 3207 . . . . . . 7 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
40 simplr 780 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑥𝑆)
41 simpr 489 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑦𝑆)
4240, 41ovresd 7579 . . . . . . . . . 10 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥𝐻𝑦))
4313adantr 485 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑥𝐵)
441, 2, 8, 43, 24homfval 17754 . . . . . . . . . 10 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4542, 44eqtrd 2797 . . . . . . . . 9 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4645adantr 485 . . . . . . . 8 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥(Hom ‘𝐶)𝑦))
47 simplr 780 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑦𝑆)
48 simpr 489 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑧𝑆)
4947, 48ovresd 7579 . . . . . . . . . 10 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑦𝐻𝑧))
501, 2, 8, 25, 28homfval 17754 . . . . . . . . . 10 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦𝐻𝑧) = (𝑦(Hom ‘𝐶)𝑧))
5149, 50eqtrd 2797 . . . . . . . . 9 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑦(Hom ‘𝐶)𝑧))
5251raleqdv 3322 . . . . . . . 8 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) ↔ ∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5346, 52raleqbidv 3337 . . . . . . 7 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (∀𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5439, 53mpbird 260 . . . . . 6 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → ∀𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5554ralrimiva 3156 . . . . 5 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → ∀𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5655ralrimiva 3156 . . . 4 ((𝜑𝑥𝑆) → ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5719, 56jca 520 . . 3 ((𝜑𝑥𝑆) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5857ralrimiva 3156 . 2 (𝜑 → ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
59 xpss12 5675 . . . . 5 ((𝑆𝐵𝑆𝐵) → (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵))
6012, 12, 59syl2anc 595 . . . 4 (𝜑 → (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵))
61 fnssres 6658 . . . 4 ((𝐻 Fn (𝐵 × 𝐵) ∧ (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵)) → (𝐻 ↾ (𝑆 × 𝑆)) Fn (𝑆 × 𝑆))
623, 60, 61sylancr 598 . . 3 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) Fn (𝑆 × 𝑆))
631, 9, 20, 10, 62issubc2 17899 . 2 (𝜑 → ((𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶) ↔ ((𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻 ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))))
647, 58, 63mpbir2and 725 1 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 400   = wceq 1569  wcel 2142  wral 3078  Vcvv 3454  wss 3904  cop 4594   class class class wbr 5108   × cxp 5658  cres 5662   Fn wfn 6531  cfv 6536  (class class class)co 7412  Basecbs 17275  Hom chom 17327  compcco 17328  Catccat 17726  Idccid 17727  Homf chomf 17728  cat cssc 17870  Subcatcsubc 17872
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1824  ax-4 1838  ax-5 1939  ax-6 1996  ax-7 2037  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-rep 5237  ax-sep 5256  ax-nul 5268  ax-pow 5335  ax-pr 5403  ax-un 7734
This proof depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1104  df-tru 1572  df-fal 1582  df-ex 1809  df-nf 1813  df-sb 2096  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-rmo 3368  df-reu 3369  df-rab 3416  df-v 3456  df-sbc 3744  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-nul 4286  df-if 4487  df-pw 4563  df-sn 4589  df-pr 4591  df-op 4595  df-uni 4872  df-iun 4957  df-br 5109  df-opab 5173  df-mpt 5192  df-id 5555  df-xp 5666  df-rel 5667  df-cnv 5668  df-co 5669  df-dm 5670  df-rn 5671  df-res 5672  df-ima 5673  df-iota 6492  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7369  df-ov 7415  df-oprab 7416  df-mpo 7417  df-1st 7984  df-2nd 7985  df-pm 8825  df-ixp 8894  df-cat 17730  df-cid 17731  df-homf 17732  df-ssc 17873  df-subc 17875
This theorem is used by:  resscat  17915  funcres2c  17966  ressffth  18003  funcsetcres2  18156  imasubc2  49958
  Copyright terms: Public domain W3C validator