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

Theorem cofull 17981
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 17907 . . 3 Rel (𝐶 Func 𝐸)
2 fullfunc 17953 . . . . 5 (𝐶 Full 𝐷) ⊆ (𝐶 Func 𝐷)
3 cofull.f . . . . 5 (𝜑𝐹 ∈ (𝐶 Full 𝐷))
42, 3sselid 3981 . . . 4 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
5 fullfunc 17953 . . . . 5 (𝐷 Full 𝐸) ⊆ (𝐷 Func 𝐸)
6 cofull.g . . . . 5 (𝜑𝐺 ∈ (𝐷 Full 𝐸))
75, 6sselid 3981 . . . 4 (𝜑𝐺 ∈ (𝐷 Func 𝐸))
84, 7cofucl 17933 . . 3 (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Func 𝐸))
9 1st2nd 8064 . . 3 ((Rel (𝐶 Func 𝐸) ∧ (𝐺func 𝐹) ∈ (𝐶 Func 𝐸)) → (𝐺func 𝐹) = ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩)
101, 8, 9sylancr 587 . 2 (𝜑 → (𝐺func 𝐹) = ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩)
11 1st2ndbr 8067 . . . . 5 ((Rel (𝐶 Func 𝐸) ∧ (𝐺func 𝐹) ∈ (𝐶 Func 𝐸)) → (1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)))
121, 8, 11sylancr 587 . . . 4 (𝜑 → (1st ‘(𝐺func 𝐹))(𝐶 Func 𝐸)(2nd ‘(𝐺func 𝐹)))
13 eqid 2737 . . . . . . . 8 (Base‘𝐷) = (Base‘𝐷)
14 eqid 2737 . . . . . . . 8 (Hom ‘𝐸) = (Hom ‘𝐸)
15 eqid 2737 . . . . . . . 8 (Hom ‘𝐷) = (Hom ‘𝐷)
16 relfull 17955 . . . . . . . . 9 Rel (𝐷 Full 𝐸)
176adantr 480 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐺 ∈ (𝐷 Full 𝐸))
18 1st2ndbr 8067 . . . . . . . . 9 ((Rel (𝐷 Full 𝐸) ∧ 𝐺 ∈ (𝐷 Full 𝐸)) → (1st𝐺)(𝐷 Full 𝐸)(2nd𝐺))
1916, 17, 18sylancr 587 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐺)(𝐷 Full 𝐸)(2nd𝐺))
20 eqid 2737 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
21 relfunc 17907 . . . . . . . . . . 11 Rel (𝐶 Func 𝐷)
224adantr 480 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐹 ∈ (𝐶 Func 𝐷))
23 1st2ndbr 8067 . . . . . . . . . . 11 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2421, 22, 23sylancr 587 . . . . . . . . . 10 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
2520, 13, 24funcf1 17911 . . . . . . . . 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 17959 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)):(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦))–onto→(((1st𝐺)‘((1st𝐹)‘𝑥))(Hom ‘𝐸)((1st𝐺)‘((1st𝐹)‘𝑦))))
31 eqid 2737 . . . . . . . 8 (Hom ‘𝐶) = (Hom ‘𝐶)
32 relfull 17955 . . . . . . . . 9 Rel (𝐶 Full 𝐷)
333adantr 480 . . . . . . . . 9 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝐹 ∈ (𝐶 Full 𝐷))
34 1st2ndbr 8067 . . . . . . . . 9 ((Rel (𝐶 Full 𝐷) ∧ 𝐹 ∈ (𝐶 Full 𝐷)) → (1st𝐹)(𝐶 Full 𝐷)(2nd𝐹))
3532, 33, 34sylancr 587 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐹)(𝐶 Full 𝐷)(2nd𝐹))
3620, 15, 31, 35, 26, 28fullfo 17959 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐹)𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st𝐹)‘𝑥)(Hom ‘𝐷)((1st𝐹)‘𝑦)))
37 foco 6834 . . . . . . 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 17930 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd ‘(𝐺func 𝐹))𝑦) = ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))
41 eqidd 2738 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(Hom ‘𝐶)𝑦) = (𝑥(Hom ‘𝐶)𝑦))
4220, 22, 39, 26cofu1 17929 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st ‘(𝐺func 𝐹))‘𝑥) = ((1st𝐺)‘((1st𝐹)‘𝑥)))
4320, 22, 39, 28cofu1 17929 . . . . . . . 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 6841 . . . . . 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 3202 . . . 4 (𝜑 → ∀𝑥 ∈ (Base‘𝐶)∀𝑦 ∈ (Base‘𝐶)(𝑥(2nd ‘(𝐺func 𝐹))𝑦):(𝑥(Hom ‘𝐶)𝑦)–onto→(((1st ‘(𝐺func 𝐹))‘𝑥)(Hom ‘𝐸)((1st ‘(𝐺func 𝐹))‘𝑦)))
4820, 14, 31isfull2 17958 . . . 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 5144 . . 3 ((1st ‘(𝐺func 𝐹))(𝐶 Full 𝐸)(2nd ‘(𝐺func 𝐹)) ↔ ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩ ∈ (𝐶 Full 𝐸))
5149, 50sylib 218 . 2 (𝜑 → ⟨(1st ‘(𝐺func 𝐹)), (2nd ‘(𝐺func 𝐹))⟩ ∈ (𝐶 Full 𝐸))
5210, 51eqeltrd 2841 1 (𝜑 → (𝐺func 𝐹) ∈ (𝐶 Full 𝐸))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1540  wcel 2108  wral 3061  cop 4632   class class class wbr 5143  ccom 5689  Rel wrel 5690  ontowfo 6559  cfv 6561  (class class class)co 7431  1st c1st 8012  2nd c2nd 8013  Basecbs 17247  Hom chom 17308   Func cfunc 17899  func ccofu 17901   Full cful 17949
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-rep 5279  ax-sep 5296  ax-nul 5306  ax-pow 5365  ax-pr 5432  ax-un 7755
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-ral 3062  df-rex 3071  df-rmo 3380  df-reu 3381  df-rab 3437  df-v 3482  df-sbc 3789  df-csb 3900  df-dif 3954  df-un 3956  df-in 3958  df-ss 3968  df-nul 4334  df-if 4526  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-id 5578  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-res 5697  df-ima 5698  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-1st 8014  df-2nd 8015  df-map 8868  df-ixp 8938  df-cat 17711  df-cid 17712  df-func 17903  df-cofu 17905  df-full 17951
This theorem is referenced by:  coffth  17983
  Copyright terms: Public domain W3C validator