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

Theorem cofuval 17851
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 17829 . . 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 770 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → 𝑔 = 𝐺)
43fveq2d 6865 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (1st𝑔) = (1st𝐺))
5 simprr 772 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → 𝑓 = 𝐹)
65fveq2d 6865 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (1st𝑓) = (1st𝐹))
74, 6coeq12d 5831 . . 3 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((1st𝑔) ∘ (1st𝑓)) = ((1st𝐺) ∘ (1st𝐹)))
85fveq2d 6865 . . . . . . . 8 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (2nd𝑓) = (2nd𝐹))
98dmeqd 5872 . . . . . . 7 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom (2nd𝑓) = dom (2nd𝐹))
10 cofuval.b . . . . . . . . . 10 𝐵 = (Base‘𝐶)
11 relfunc 17831 . . . . . . . . . . 11 Rel (𝐶 Func 𝐷)
12 cofuval.f . . . . . . . . . . 11 (𝜑𝐹 ∈ (𝐶 Func 𝐷))
13 1st2ndbr 8024 . . . . . . . . . . 11 ((Rel (𝐶 Func 𝐷) ∧ 𝐹 ∈ (𝐶 Func 𝐷)) → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1411, 12, 13sylancr 587 . . . . . . . . . 10 (𝜑 → (1st𝐹)(𝐶 Func 𝐷)(2nd𝐹))
1510, 14funcfn2 17838 . . . . . . . . 9 (𝜑 → (2nd𝐹) Fn (𝐵 × 𝐵))
1615fndmd 6626 . . . . . . . 8 (𝜑 → dom (2nd𝐹) = (𝐵 × 𝐵))
1716adantr 480 . . . . . . 7 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom (2nd𝐹) = (𝐵 × 𝐵))
189, 17eqtrd 2765 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom (2nd𝑓) = (𝐵 × 𝐵))
1918dmeqd 5872 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom dom (2nd𝑓) = dom (𝐵 × 𝐵))
20 dmxpid 5897 . . . . 5 dom (𝐵 × 𝐵) = 𝐵
2119, 20eqtrdi 2781 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → dom dom (2nd𝑓) = 𝐵)
223fveq2d 6865 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (2nd𝑔) = (2nd𝐺))
236fveq1d 6863 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((1st𝑓)‘𝑥) = ((1st𝐹)‘𝑥))
246fveq1d 6863 . . . . . 6 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((1st𝑓)‘𝑦) = ((1st𝐹)‘𝑦))
2522, 23, 24oveq123d 7411 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) = (((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)))
268oveqd 7407 . . . . 5 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (𝑥(2nd𝑓)𝑦) = (𝑥(2nd𝐹)𝑦))
2725, 26coeq12d 5831 . . . 4 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦)) = ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))
2821, 21, 27mpoeq123dv 7467 . . 3 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → (𝑥 ∈ dom dom (2nd𝑓), 𝑦 ∈ dom dom (2nd𝑓) ↦ ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦))) = (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦))))
297, 28opeq12d 4848 . 2 ((𝜑 ∧ (𝑔 = 𝐺𝑓 = 𝐹)) → ⟨((1st𝑔) ∘ (1st𝑓)), (𝑥 ∈ dom dom (2nd𝑓), 𝑦 ∈ dom dom (2nd𝑓) ↦ ((((1st𝑓)‘𝑥)(2nd𝑔)((1st𝑓)‘𝑦)) ∘ (𝑥(2nd𝑓)𝑦)))⟩ = ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩)
30 cofuval.g . . 3 (𝜑𝐺 ∈ (𝐷 Func 𝐸))
3130elexd 3474 . 2 (𝜑𝐺 ∈ V)
3212elexd 3474 . 2 (𝜑𝐹 ∈ V)
33 opex 5427 . . 3 ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩ ∈ V
3433a1i 11 . 2 (𝜑 → ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩ ∈ V)
352, 29, 31, 32, 34ovmpod 7544 1 (𝜑 → (𝐺func 𝐹) = ⟨((1st𝐺) ∘ (1st𝐹)), (𝑥𝐵, 𝑦𝐵 ↦ ((((1st𝐹)‘𝑥)(2nd𝐺)((1st𝐹)‘𝑦)) ∘ (𝑥(2nd𝐹)𝑦)))⟩)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1540  wcel 2109  Vcvv 3450  cop 4598   class class class wbr 5110   × cxp 5639  dom cdm 5641  ccom 5645  Rel wrel 5646  cfv 6514  (class class class)co 7390  cmpo 7392  1st c1st 7969  2nd c2nd 7970  Basecbs 17186   Func cfunc 17823  func ccofu 17825
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 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2702  ax-rep 5237  ax-sep 5254  ax-nul 5264  ax-pow 5323  ax-pr 5390  ax-un 7714
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-ral 3046  df-rex 3055  df-rab 3409  df-v 3452  df-sbc 3757  df-csb 3866  df-dif 3920  df-un 3922  df-in 3924  df-ss 3934  df-nul 4300  df-if 4492  df-pw 4568  df-sn 4593  df-pr 4595  df-op 4599  df-uni 4875  df-iun 4960  df-br 5111  df-opab 5173  df-mpt 5192  df-id 5536  df-xp 5647  df-rel 5648  df-cnv 5649  df-co 5650  df-dm 5651  df-rn 5652  df-res 5653  df-ima 5654  df-iota 6467  df-fun 6516  df-fn 6517  df-f 6518  df-fv 6522  df-ov 7393  df-oprab 7394  df-mpo 7395  df-1st 7971  df-2nd 7972  df-map 8804  df-ixp 8874  df-func 17827  df-cofu 17829
This theorem is referenced by:  cofu1st  17852  cofu2nd  17854  cofuval2  17856  cofucl  17857  cofuass  17858  cofulid  17859  cofurid  17860  prf1st  18172  prf2nd  18173  cofidvala  49109  cofuoppf  49143
  Copyright terms: Public domain W3C validator