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

Theorem fullsubc 17172
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 17014 . . . 4 𝐻 Fn (𝐵 × 𝐵)
42fvexi 6673 . . . 4 𝐵 ∈ V
5 sscres 17145 . . . 4 ((𝐻 Fn (𝐵 × 𝐵) ∧ 𝐵 ∈ V) → (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻)
63, 4, 5mp2an 692 . . 3 (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻
76a1i 11 . 2 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻)
8 eqid 2759 . . . . . 6 (Hom ‘𝐶) = (Hom ‘𝐶)
9 eqid 2759 . . . . . 6 (Id‘𝐶) = (Id‘𝐶)
10 fullsubc.c . . . . . . 7 (𝜑𝐶 ∈ Cat)
1110adantr 485 . . . . . 6 ((𝜑𝑥𝑆) → 𝐶 ∈ Cat)
12 fullsubc.s . . . . . . 7 (𝜑𝑆𝐵)
1312sselda 3893 . . . . . 6 ((𝜑𝑥𝑆) → 𝑥𝐵)
142, 8, 9, 11, 13catidcl 17004 . . . . 5 ((𝜑𝑥𝑆) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
15 simpr 489 . . . . . . 7 ((𝜑𝑥𝑆) → 𝑥𝑆)
1615, 15ovresd 7312 . . . . . 6 ((𝜑𝑥𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) = (𝑥𝐻𝑥))
171, 2, 8, 13, 13homfval 17013 . . . . . 6 ((𝜑𝑥𝑆) → (𝑥𝐻𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1816, 17eqtrd 2794 . . . . 5 ((𝜑𝑥𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) = (𝑥(Hom ‘𝐶)𝑥))
1914, 18eleqtrrd 2856 . . . 4 ((𝜑𝑥𝑆) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥))
20 eqid 2759 . . . . . . . . . 10 (comp‘𝐶) = (comp‘𝐶)
2111ad3antrrr 730 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝐶 ∈ Cat)
2213ad3antrrr 730 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑥𝐵)
2312adantr 485 . . . . . . . . . . . . 13 ((𝜑𝑥𝑆) → 𝑆𝐵)
2423sselda 3893 . . . . . . . . . . . 12 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑦𝐵)
2524adantr 485 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑦𝐵)
2625adantr 485 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑦𝐵)
2723adantr 485 . . . . . . . . . . . 12 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑆𝐵)
2827sselda 3893 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑧𝐵)
2928adantr 485 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑧𝐵)
30 simprl 771 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦))
31 simprr 773 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))
322, 8, 20, 21, 22, 26, 29, 30, 31catcocl 17007 . . . . . . . . 9 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(Hom ‘𝐶)𝑧))
3315ad3antrrr 730 . . . . . . . . . . 11 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑥𝑆)
34 simplr 769 . . . . . . . . . . 11 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → 𝑧𝑆)
3533, 34ovresd 7312 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑥𝐻𝑧))
361, 2, 8, 22, 29homfval 17013 . . . . . . . . . 10 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥𝐻𝑧) = (𝑥(Hom ‘𝐶)𝑧))
3735, 36eqtrd 2794 . . . . . . . . 9 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑥(Hom ‘𝐶)𝑧))
3832, 37eleqtrrd 2856 . . . . . . . 8 (((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) ∧ (𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧))) → (𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
3938ralrimivva 3121 . . . . . . 7 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
40 simplr 769 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑥𝑆)
41 simpr 489 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑦𝑆)
4240, 41ovresd 7312 . . . . . . . . . 10 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥𝐻𝑦))
4313adantr 485 . . . . . . . . . . 11 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → 𝑥𝐵)
441, 2, 8, 43, 24homfval 17013 . . . . . . . . . 10 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥𝐻𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4542, 44eqtrd 2794 . . . . . . . . 9 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4645adantr 485 . . . . . . . 8 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦) = (𝑥(Hom ‘𝐶)𝑦))
47 simplr 769 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑦𝑆)
48 simpr 489 . . . . . . . . . . 11 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → 𝑧𝑆)
4947, 48ovresd 7312 . . . . . . . . . 10 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑦𝐻𝑧))
501, 2, 8, 25, 28homfval 17013 . . . . . . . . . 10 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦𝐻𝑧) = (𝑦(Hom ‘𝐶)𝑧))
5149, 50eqtrd 2794 . . . . . . . . 9 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧) = (𝑦(Hom ‘𝐶)𝑧))
5251raleqdv 3330 . . . . . . . 8 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) ↔ ∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5346, 52raleqbidv 3320 . . . . . . 7 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → (∀𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧) ↔ ∀𝑓 ∈ (𝑥(Hom ‘𝐶)𝑦)∀𝑔 ∈ (𝑦(Hom ‘𝐶)𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5439, 53mpbird 260 . . . . . 6 ((((𝜑𝑥𝑆) ∧ 𝑦𝑆) ∧ 𝑧𝑆) → ∀𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5554ralrimiva 3114 . . . . 5 (((𝜑𝑥𝑆) ∧ 𝑦𝑆) → ∀𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5655ralrimiva 3114 . . . 4 ((𝜑𝑥𝑆) → ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧))
5719, 56jca 516 . . 3 ((𝜑𝑥𝑆) → (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
5857ralrimiva 3114 . 2 (𝜑 → ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))
59 xpss12 5540 . . . . 5 ((𝑆𝐵𝑆𝐵) → (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵))
6012, 12, 59syl2anc 588 . . . 4 (𝜑 → (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵))
61 fnssres 6454 . . . 4 ((𝐻 Fn (𝐵 × 𝐵) ∧ (𝑆 × 𝑆) ⊆ (𝐵 × 𝐵)) → (𝐻 ↾ (𝑆 × 𝑆)) Fn (𝑆 × 𝑆))
623, 60, 61sylancr 591 . . 3 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) Fn (𝑆 × 𝑆))
631, 9, 20, 10, 62issubc2 17158 . 2 (𝜑 → ((𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶) ↔ ((𝐻 ↾ (𝑆 × 𝑆)) ⊆cat 𝐻 ∧ ∀𝑥𝑆 (((Id‘𝐶)‘𝑥) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑥) ∧ ∀𝑦𝑆𝑧𝑆𝑓 ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑦)∀𝑔 ∈ (𝑦(𝐻 ↾ (𝑆 × 𝑆))𝑧)(𝑔(⟨𝑥, 𝑦⟩(comp‘𝐶)𝑧)𝑓) ∈ (𝑥(𝐻 ↾ (𝑆 × 𝑆))𝑧)))))
647, 58, 63mpbir2and 713 1 (𝜑 → (𝐻 ↾ (𝑆 × 𝑆)) ∈ (Subcat‘𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 400   = wceq 1539  wcel 2112  wral 3071  Vcvv 3410  wss 3859  cop 4529   class class class wbr 5033   × cxp 5523  cres 5527   Fn wfn 6331  cfv 6336  (class class class)co 7151  Basecbs 16534  Hom chom 16627  compcco 16628  Catccat 16986  Idccid 16987  Homf chomf 16988  cat cssc 17129  Subcatcsubc 17131
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1912  ax-6 1971  ax-7 2016  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2730  ax-rep 5157  ax-sep 5170  ax-nul 5177  ax-pow 5235  ax-pr 5299  ax-un 7460
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 846  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2071  df-mo 2558  df-eu 2589  df-clab 2737  df-cleq 2751  df-clel 2831  df-nfc 2902  df-ne 2953  df-ral 3076  df-rex 3077  df-reu 3078  df-rmo 3079  df-rab 3080  df-v 3412  df-sbc 3698  df-csb 3807  df-dif 3862  df-un 3864  df-in 3866  df-ss 3876  df-nul 4227  df-if 4422  df-pw 4497  df-sn 4524  df-pr 4526  df-op 4530  df-uni 4800  df-iun 4886  df-br 5034  df-opab 5096  df-mpt 5114  df-id 5431  df-xp 5531  df-rel 5532  df-cnv 5533  df-co 5534  df-dm 5535  df-rn 5536  df-res 5537  df-ima 5538  df-iota 6295  df-fun 6338  df-fn 6339  df-f 6340  df-f1 6341  df-fo 6342  df-f1o 6343  df-fv 6344  df-riota 7109  df-ov 7154  df-oprab 7155  df-mpo 7156  df-1st 7694  df-2nd 7695  df-pm 8420  df-ixp 8481  df-cat 16990  df-cid 16991  df-homf 16992  df-ssc 17132  df-subc 17134
This theorem is referenced by:  resscat  17174  funcres2c  17223  ressffth  17260  funcsetcres2  17412
  Copyright terms: Public domain W3C validator