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

Theorem cofuval 16808
Description: Value of the composition of two functors. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
cofuval.b 𝐵 = (Base‘𝐶)
cofuval.f (𝜑𝐹 ∈ (𝐶 Func 𝐷))
cofuval.g (𝜑𝐺 ∈ (𝐷 Func 𝐸))
Assertion
Ref Expression
cofuval (𝜑 → (𝐺func 𝐹) = ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩)
Distinct variable groups:   𝑥,𝑦,𝐵   𝑥,𝐹,𝑦   𝑥,𝐺,𝑦   𝜑,𝑥,𝑦
Allowed substitution hints:   𝐶(𝑥,𝑦)   𝐷(𝑥,𝑦)   𝐸(𝑥,𝑦)

Proof of Theorem cofuval
Dummy variables 𝑓 𝑔 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-cofu 16786 . . 3 func = (𝑔 ∈ V, 𝑓 ∈ V ↦ ⟨((1st𝑔) ∘ (1st𝑓)), (𝑥 ∈ dom dom (2nd𝑓), 𝑦 ∈ dom dom (2nd𝑓) ↦ ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦)))⟩)
21a1i 11 . 2 (𝜑 → ∘func = (𝑔 ∈ V, 𝑓 ∈ V ↦ ⟨((1st𝑔) ∘ (1st𝑓)), (𝑥 ∈ dom dom (2nd𝑓), 𝑦 ∈ dom dom (2nd𝑓) ↦ ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦)))⟩))
3 simprl 787 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → 𝑔 = 𝐺)
43fveq2d 6378 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (1st𝑔) = (1st𝐺))
5 simprr 789 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → 𝑓 = 𝐹)
65fveq2d 6378 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (1st𝑓) = (1st𝐹))
74, 6coeq12d 5454 . . 3 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((1st𝑔) ∘ (1st𝑓)) = ((1st𝐺) ∘ (1st𝐹)))
85fveq2d 6378 . . . . . . . 8 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (2nd𝑓) = (2nd𝐹))
98dmeqd 5493 . . . . . . 7 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom (2nd𝑓) = dom (2nd𝐹))
10 cofuval.b . . . . . . . . . 10 𝐵 = (Base‘𝐶)
11 relfunc 16788 . . . . . . . . . . 11 Rel (𝐶 Func 𝐷)
12 cofuval.f . . . . . . . . . . 11 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
13 1st2ndbr 7416 . . . . . . . . . . 11 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1411, 12, 13sylancr 581 . . . . . . . . . 10 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1510, 14funcfn2 16795 . . . . . . . . 9 (𝜑 → (2nd𝐹) Fn (𝐵 × 𝐵))
16 fndm 6167 . . . . . . . . 9 ((2nd𝐹) Fn (𝐵 × 𝐵) → dom (2nd𝐹) = (𝐵 × 𝐵))
1715, 16syl 17 . . . . . . . 8 (𝜑 → dom (2nd𝐹) = (𝐵 × 𝐵))
1817adantr 472 . . . . . . 7 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom (2nd𝐹) = (𝐵 × 𝐵))
199, 18eqtrd 2798 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom (2nd𝑓) = (𝐵 × 𝐵))
2019dmeqd 5493 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom dom (2nd𝑓) = dom (𝐵 × 𝐵))
21 dmxpid 5512 . . . . 5 dom (𝐵 × 𝐵) = 𝐵
2220, 21syl6eq 2814 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom dom (2nd𝑓) = 𝐵)
233fveq2d 6378 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (2nd𝑔) = (2nd𝐺))
246fveq1d 6376 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((1st𝑓)‘𝑥) = ((1st𝐹)‘𝑥))
256fveq1d 6376 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((1st𝑓)‘𝑦) = ((1st𝐹)‘𝑦))
2623, 24, 25oveq123d 6862 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) = (((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)))
278oveqd 6858 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (𝑥(2nd𝑓)𝑦) = (𝑥(2nd𝐹)𝑦))
2826, 27coeq12d 5454 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦)) = ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))
2922, 22, 28mpt2eq123dv 6914 . . 3 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (𝑥 ∈ dom dom (2nd𝑓), 𝑦 ∈ dom dom (2nd𝑓) ↦ ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦))) = (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦))))
307, 29opeq12d 4566 . 2 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ⟨((1st𝑔) ∘ (1st𝑓)), (𝑥 ∈ dom dom (2nd𝑓), 𝑦 ∈ dom dom (2nd𝑓) ↦ ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦)))⟩ = ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩)
31 cofuval.g . . 3 (𝜑𝐺 ∈ (𝐷 Func 𝐸))
32 elex 3364 . . 3 (𝐺 ∈ (𝐷 Func 𝐸) → 𝐺 ∈ V)
3331, 32syl 17 . 2 (𝜑𝐺 ∈ V)
34 elex 3364 . . 3 (𝐹 ∈ (𝐶 Func 𝐷) → 𝐹 ∈ V)
3512, 34syl 17 . 2 (𝜑𝐹 ∈ V)
36 opex 5087 . . 3 ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩ ∈ V
3736a1i 11 . 2 (𝜑 → ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩ ∈ V)
382, 30, 33, 35, 37ovmpt2d 6985 1 (𝜑 → (𝐺func 𝐹) = ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 384   = wceq 1652  wcel 2155  Vcvv 3349  cop 4339   class class class wbr 4808   × cxp 5274  dom cdm 5276  ccom 5280  Rel wrel 5281   Fn wfn 6062  cfv 6067  (class class class)co 6841  cmpt2 6843  1st c1st 7363  2nd c2nd 7364  Basecbs 16131   Func cfunc 16780  func ccofu 16782
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1890  ax-4 1904  ax-5 2005  ax-6 2069  ax-7 2105  ax-8 2157  ax-9 2164  ax-10 2183  ax-11 2198  ax-12 2211  ax-13 2349  ax-ext 2742  ax-rep 4929  ax-sep 4940  ax-nul 4948  ax-pow 5000  ax-pr 5061  ax-un 7146
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 874  df-3an 1109  df-tru 1656  df-ex 1875  df-nf 1879  df-sb 2062  df-mo 2564  df-eu 2581  df-clab 2751  df-cleq 2757  df-clel 2760  df-nfc 2895  df-ne 2937  df-ral 3059  df-rex 3060  df-reu 3061  df-rab 3063  df-v 3351  df-sbc 3596  df-csb 3691  df-dif 3734  df-un 3736  df-in 3738  df-ss 3745  df-nul 4079  df-if 4243  df-pw 4316  df-sn 4334  df-pr 4336  df-op 4340  df-uni 4594  df-iun 4677  df-br 4809  df-opab 4871  df-mpt 4888  df-id 5184  df-xp 5282  df-rel 5283  df-cnv 5284  df-co 5285  df-dm 5286  df-rn 5287  df-res 5288  df-ima 5289  df-iota 6030  df-fun 6069  df-fn 6070  df-f 6071  df-f1 6072  df-fo 6073  df-f1o 6074  df-fv 6075  df-ov 6844  df-oprab 6845  df-mpt2 6846  df-1st 7365  df-2nd 7366  df-map 8061  df-ixp 8113  df-func 16784  df-cofu 16786
This theorem is referenced by:  cofu1st  16809  cofu2nd  16811  cofuval2  16813  cofucl  16814  cofuass  16815  cofulid  16816  cofurid  16817  prf1st  17111  prf2nd  17112
  Copyright terms: Public domain W3C validator