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

Theorem cofull 17646
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 17573 . . 3 Rel (𝐶 Func 𝐸)
2 fullfunc 17618 . . . . 5 (𝐶 Full 𝐷) ⊆ (𝐶 Func 𝐷)
3 cofull.f . . . . 5 (𝜑𝐹 ∈ (𝐶 Full 𝐷))
42, 3sselid 3924 . . . 4 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
5 fullfunc 17618 . . . . 5 (𝐷 Full 𝐸) ⊆ (𝐷 Func 𝐸)
6 cofull.g . . . . 5 (𝜑𝐺 ∈ (𝐷 Full 𝐸))
75, 6sselid 3924 . . . 4 (𝜑𝐺 ∈ (𝐷 Func 𝐸))
84, 7cofucl 17599 . . 3 (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Func 𝐸))
9 1st2nd 7871 . . 3 ((Rel (𝐶 Func 𝐸) ∧ (𝐺func 𝐹) ∈ (𝐶 Func 𝐸)) → (𝐺func 𝐹) = ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩)
101, 8, 9sylancr 587 . 2 (𝜑 → (𝐺func 𝐹) = ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩)
11 1st2ndbr 7874 . . . . 5 ((Rel (𝐶 Func 𝐸) ∧ (𝐺func 𝐹) ∈ (𝐶 Func 𝐸)) → (1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)))
121, 8, 11sylancr 587 . . . 4 (𝜑 → (1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)))
13 eqid 2740 . . . . . . . 8 (Base‘𝐷) = (Base‘𝐷)
14 eqid 2740 . . . . . . . 8 (Hom ‘𝐸) = (Hom ‘𝐸)
15 eqid 2740 . . . . . . . 8 (Hom ‘𝐷) = (Hom ‘𝐷)
16 relfull 17620 . . . . . . . . 9 Rel (𝐷 Full 𝐸)
176adantr 481 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐺 ∈ (𝐷 Full 𝐸))
18 1st2ndbr 7874 . . . . . . . . 9 ((Rel (𝐷 Full 𝐸) ∧ 𝐺 ∈ (𝐷 Full 𝐸)) → (1st𝐺)(𝐷 Full 𝐸)(2nd𝐺))
1916, 17, 18sylancr 587 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐺)(𝐷 Full 𝐸)(2nd𝐺))
20 eqid 2740 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
21 relfunc 17573 . . . . . . . . . . 11 Rel (𝐶 Func 𝐷)
224adantr 481 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐹 ∈ (𝐶 Func 𝐷))
23 1st2ndbr 7874 . . . . . . . . . . 11 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2421, 22, 23sylancr 587 . . . . . . . . . 10 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2520, 13, 24funcf1 17577 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹):(Base‘𝐶)⟶(Base‘𝐷))
26 simprl 768 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
2725, 26ffvelrnd 6957 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐹)‘𝑥) ∈ (Base‘𝐷))
28 simprr 770 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
2925, 28ffvelrnd 6957 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐹)‘𝑦) ∈ (Base‘𝐷))
3013, 14, 15, 19, 27, 29fullfo 17624 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)):(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦))–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
31 eqid 2740 . . . . . . . 8 (Hom ‘𝐶) = (Hom ‘𝐶)
32 relfull 17620 . . . . . . . . 9 Rel (𝐶 Full 𝐷)
333adantr 481 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐹 ∈ (𝐶 Full 𝐷))
34 1st2ndbr 7874 . . . . . . . . 9 ((Rel (𝐶 Full 𝐷) ∧ 𝐹 ∈ (𝐶 Full 𝐷)) → (1st𝐹)(𝐶 Full 𝐷)(2nd𝐹))
3532, 33, 34sylancr 587 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹)(𝐶 Full 𝐷)(2nd𝐹))
3620, 15, 31, 35, 26, 28fullfo 17624 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐹)𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦)))
37 foco 6699 . . . . . . 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 481 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐺 ∈ (𝐷 Func 𝐸))
4020, 22, 39, 26, 28cofu2nd 17596 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘(𝐺func 𝐹))𝑦) = ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))
41 eqidd 2741 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Hom ‘𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4220, 22, 39, 26cofu1 17595 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘(𝐺func 𝐹))‘𝑥) = ((1st𝐺)‘((1st𝐹)‘𝑥)))
4320, 22, 39, 28cofu1 17595 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘(𝐺func 𝐹))‘𝑦) = ((1st𝐺)‘((1st𝐹)‘𝑦)))
4442, 43oveq12d 7287 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)) = (((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
4540, 41, 44foeq123d 6706 . . . . . 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 256 . . . . 5 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)))
4746ralrimivva 3117 . . . 4 (𝜑 → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)))
4820, 14, 31isfull2 17623 . . . 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 5080 . . 3 ((1st ‘(𝐺func 𝐹))(𝐶 Full 𝐸)(2nd ‘(𝐺func 𝐹)) ↔ ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩ ∈ (𝐶 Full 𝐸))
5149, 50sylib 217 . 2 (𝜑 → ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩ ∈ (𝐶 Full 𝐸))
5210, 51eqeltrd 2841 1 (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Full 𝐸))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1542  wcel 2110  wral 3066  cop 4573   class class class wbr 5079  ccom 5593  Rel wrel 5594  ontowfo 6429  cfv 6431  (class class class)co 7269  1st c1st 7820  2nd c2nd 7821  Basecbs 16908  Hom chom 16969   Func cfunc 17565  func ccofu 17567   Full cful 17614
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1975  ax-7 2015  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2711  ax-rep 5214  ax-sep 5227  ax-nul 5234  ax-pow 5292  ax-pr 5356  ax-un 7580
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1545  df-fal 1555  df-ex 1787  df-nf 1791  df-sb 2072  df-mo 2542  df-eu 2571  df-clab 2718  df-cleq 2732  df-clel 2818  df-nfc 2891  df-ne 2946  df-ral 3071  df-rex 3072  df-reu 3073  df-rmo 3074  df-rab 3075  df-v 3433  df-sbc 3721  df-csb 3838  df-dif 3895  df-un 3897  df-in 3899  df-ss 3909  df-nul 4263  df-if 4466  df-pw 4541  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4846  df-iun 4932  df-br 5080  df-opab 5142  df-mpt 5163  df-id 5489  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-iota 6389  df-fun 6433  df-fn 6434  df-f 6435  df-f1 6436  df-fo 6437  df-f1o 6438  df-fv 6439  df-riota 7226  df-ov 7272  df-oprab 7273  df-mpo 7274  df-1st 7822  df-2nd 7823  df-map 8598  df-ixp 8667  df-cat 17373  df-cid 17374  df-func 17569  df-cofu 17571  df-full 17616
This theorem is referenced by:  coffth  17648
  Copyright terms: Public domain W3C validator