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

Theorem cofull 17988
Description: The composition of two full functors is full. Proposition 3.30(d) in [Adamek] p. 35. (Contributed by Mario Carneiro, 28-Jan-2017.)
Hypotheses
Ref Expression
cofull.f (𝜑𝐹 ∈ (𝐶 Full 𝐷))
cofull.g (𝜑𝐺 ∈ (𝐷 Full 𝐸))
Assertion
Ref Expression
cofull (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Full 𝐸))

Proof of Theorem cofull
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 relfunc 17913 . . 3 Rel (𝐶 Func 𝐸)
2 fullfunc 17960 . . . . 5 (𝐶 Full 𝐷) ⊆ (𝐶 Func 𝐷)
3 cofull.f . . . . 5 (𝜑𝐹 ∈ (𝐶 Full 𝐷))
42, 3sselid 3993 . . . 4 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
5 fullfunc 17960 . . . . 5 (𝐷 Full 𝐸) ⊆ (𝐷 Func 𝐸)
6 cofull.g . . . . 5 (𝜑𝐺 ∈ (𝐷 Full 𝐸))
75, 6sselid 3993 . . . 4 (𝜑𝐺 ∈ (𝐷 Func 𝐸))
84, 7cofucl 17939 . . 3 (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Func 𝐸))
9 1st2nd 8063 . . 3 ((Rel (𝐶 Func 𝐸) ∧ (𝐺func 𝐹) ∈ (𝐶 Func 𝐸)) → (𝐺func 𝐹) = ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩)
101, 8, 9sylancr 587 . 2 (𝜑 → (𝐺func 𝐹) = ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩)
11 1st2ndbr 8066 . . . . 5 ((Rel (𝐶 Func 𝐸) ∧ (𝐺func 𝐹) ∈ (𝐶 Func 𝐸)) → (1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)))
121, 8, 11sylancr 587 . . . 4 (𝜑 → (1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)))
13 eqid 2735 . . . . . . . 8 (Base‘𝐷) = (Base‘𝐷)
14 eqid 2735 . . . . . . . 8 (Hom ‘𝐸) = (Hom ‘𝐸)
15 eqid 2735 . . . . . . . 8 (Hom ‘𝐷) = (Hom ‘𝐷)
16 relfull 17962 . . . . . . . . 9 Rel (𝐷 Full 𝐸)
176adantr 480 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐺 ∈ (𝐷 Full 𝐸))
18 1st2ndbr 8066 . . . . . . . . 9 ((Rel (𝐷 Full 𝐸) ∧ 𝐺 ∈ (𝐷 Full 𝐸)) → (1st𝐺)(𝐷 Full 𝐸)(2nd𝐺))
1916, 17, 18sylancr 587 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐺)(𝐷 Full 𝐸)(2nd𝐺))
20 eqid 2735 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
21 relfunc 17913 . . . . . . . . . . 11 Rel (𝐶 Func 𝐷)
224adantr 480 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐹 ∈ (𝐶 Func 𝐷))
23 1st2ndbr 8066 . . . . . . . . . . 11 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2421, 22, 23sylancr 587 . . . . . . . . . 10 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2520, 13, 24funcf1 17917 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹):(Base‘𝐶)⟶(Base‘𝐷))
26 simprl 771 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
2725, 26ffvelcdmd 7105 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
28 simprr 773 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
2925, 28ffvelcdmd 7105 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐹)‘𝑦) ∈ (Base‘𝐷))
3013, 14, 15, 19, 27, 29fullfo 17966 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)):(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦))–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
31 eqid 2735 . . . . . . . 8 (Hom ‘𝐶) = (Hom ‘𝐶)
32 relfull 17962 . . . . . . . . 9 Rel (𝐶 Full 𝐷)
333adantr 480 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐹 ∈ (𝐶 Full 𝐷))
34 1st2ndbr 8066 . . . . . . . . 9 ((Rel (𝐶 Full 𝐷) ∧ 𝐹 ∈ (𝐶 Full 𝐷)) → (1st𝐹)(𝐶 Full 𝐷)(2nd𝐹))
3532, 33, 34sylancr 587 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹)(𝐶 Full 𝐷)(2nd𝐹))
3620, 15, 31, 35, 26, 28fullfo 17966 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐹)𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦)))
37 foco 6835 . . . . . . 7 (((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)):(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦))–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))) ∧ (𝑥(2nd𝐹)𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦))) → ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
3830, 36, 37syl2anc 584 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
397adantr 480 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐺 ∈ (𝐷 Func 𝐸))
4020, 22, 39, 26, 28cofu2nd 17936 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘(𝐺func 𝐹))𝑦) = ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))
41 eqidd 2736 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Hom ‘𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4220, 22, 39, 26cofu1 17935 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘(𝐺func 𝐹))‘𝑥) = ((1st𝐺)‘((1st𝐹)‘𝑥)))
4320, 22, 39, 28cofu1 17935 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘(𝐺func 𝐹))‘𝑦) = ((1st𝐺)‘((1st𝐹)‘𝑦)))
4442, 43oveq12d 7449 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)) = (((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
4540, 41, 44foeq123d 6842 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)) ↔ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦)))))
4638, 45mpbird 257 . . . . 5 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)))
4746ralrimivva 3200 . . . 4 (𝜑 → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)))
4820, 14, 31isfull2 17965 . . . 4 ((1st ‘(𝐺func 𝐹))(𝐶 Full 𝐸)(2nd ‘(𝐺func 𝐹)) ↔ ((1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)) ∧ ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦))))
4912, 47, 48sylanbrc 583 . . 3 (𝜑 → (1st ‘(𝐺func 𝐹))(𝐶 Full 𝐸)(2nd ‘(𝐺func 𝐹)))
50 df-br 5149 . . 3 ((1st ‘(𝐺func 𝐹))(𝐶 Full 𝐸)(2nd ‘(𝐺func 𝐹)) ↔ ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩ ∈ (𝐶 Full 𝐸))
5149, 50sylib 218 . 2 (𝜑 → ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩ ∈ (𝐶 Full 𝐸))
5210, 51eqeltrd 2839 1 (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Full 𝐸))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1537  wcel 2106  wral 3059  cop 4637   class class class wbr 5148  ccom 5693  Rel wrel 5694  ontowfo 6561  cfv 6563  (class class class)co 7431  1st c1st 8011  2nd c2nd 8012  Basecbs 17245  Hom chom 17309   Func cfunc 17905  func ccofu 17907   Full cful 17956
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1908  ax-6 1965  ax-7 2005  ax-8 2108  ax-9 2116  ax-10 2139  ax-11 2155  ax-12 2175  ax-ext 2706  ax-rep 5285  ax-sep 5302  ax-nul 5312  ax-pow 5371  ax-pr 5438  ax-un 7754
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1540  df-fal 1550  df-ex 1777  df-nf 1781  df-sb 2063  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2727  df-clel 2814  df-nfc 2890  df-ne 2939  df-ral 3060  df-rex 3069  df-rmo 3378  df-reu 3379  df-rab 3434  df-v 3480  df-sbc 3792  df-csb 3909  df-dif 3966  df-un 3968  df-in 3970  df-ss 3980  df-nul 4340  df-if 4532  df-pw 4607  df-sn 4632  df-pr 4634  df-op 4638  df-uni 4913  df-iun 4998  df-br 5149  df-opab 5211  df-mpt 5232  df-id 5583  df-xp 5695  df-rel 5696  df-cnv 5697  df-co 5698  df-dm 5699  df-rn 5700  df-res 5701  df-ima 5702  df-iota 6516  df-fun 6565  df-fn 6566  df-f 6567  df-f1 6568  df-fo 6569  df-f1o 6570  df-fv 6571  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-1st 8013  df-2nd 8014  df-map 8867  df-ixp 8937  df-cat 17713  df-cid 17714  df-func 17909  df-cofu 17911  df-full 17958
This theorem is referenced by:  coffth  17990
  Copyright terms: Public domain W3C validator