Metamath Proof Explorer


Theorem dvmptco

Description: Function-builder for derivative, chain rule. (Contributed by Mario Carneiro, 1-Sep-2014)

Ref Expression
Hypotheses dvmptco.s ( 𝜑𝑆 ∈ { ℝ , ℂ } )
dvmptco.t ( 𝜑𝑇 ∈ { ℝ , ℂ } )
dvmptco.a ( ( 𝜑𝑥𝑋 ) → 𝐴𝑌 )
dvmptco.b ( ( 𝜑𝑥𝑋 ) → 𝐵𝑉 )
dvmptco.c ( ( 𝜑𝑦𝑌 ) → 𝐶 ∈ ℂ )
dvmptco.d ( ( 𝜑𝑦𝑌 ) → 𝐷𝑊 )
dvmptco.da ( 𝜑 → ( 𝑆 D ( 𝑥𝑋𝐴 ) ) = ( 𝑥𝑋𝐵 ) )
dvmptco.dc ( 𝜑 → ( 𝑇 D ( 𝑦𝑌𝐶 ) ) = ( 𝑦𝑌𝐷 ) )
dvmptco.e ( 𝑦 = 𝐴𝐶 = 𝐸 )
dvmptco.f ( 𝑦 = 𝐴𝐷 = 𝐹 )
Assertion dvmptco ( 𝜑 → ( 𝑆 D ( 𝑥𝑋𝐸 ) ) = ( 𝑥𝑋 ↦ ( 𝐹 · 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 dvmptco.s ( 𝜑𝑆 ∈ { ℝ , ℂ } )
2 dvmptco.t ( 𝜑𝑇 ∈ { ℝ , ℂ } )
3 dvmptco.a ( ( 𝜑𝑥𝑋 ) → 𝐴𝑌 )
4 dvmptco.b ( ( 𝜑𝑥𝑋 ) → 𝐵𝑉 )
5 dvmptco.c ( ( 𝜑𝑦𝑌 ) → 𝐶 ∈ ℂ )
6 dvmptco.d ( ( 𝜑𝑦𝑌 ) → 𝐷𝑊 )
7 dvmptco.da ( 𝜑 → ( 𝑆 D ( 𝑥𝑋𝐴 ) ) = ( 𝑥𝑋𝐵 ) )
8 dvmptco.dc ( 𝜑 → ( 𝑇 D ( 𝑦𝑌𝐶 ) ) = ( 𝑦𝑌𝐷 ) )
9 dvmptco.e ( 𝑦 = 𝐴𝐶 = 𝐸 )
10 dvmptco.f ( 𝑦 = 𝐴𝐷 = 𝐹 )
11 5 fmpttd ( 𝜑 → ( 𝑦𝑌𝐶 ) : 𝑌 ⟶ ℂ )
12 3 fmpttd ( 𝜑 → ( 𝑥𝑋𝐴 ) : 𝑋𝑌 )
13 8 dmeqd ( 𝜑 → dom ( 𝑇 D ( 𝑦𝑌𝐶 ) ) = dom ( 𝑦𝑌𝐷 ) )
14 6 ralrimiva ( 𝜑 → ∀ 𝑦𝑌 𝐷𝑊 )
15 dmmptg ( ∀ 𝑦𝑌 𝐷𝑊 → dom ( 𝑦𝑌𝐷 ) = 𝑌 )
16 14 15 syl ( 𝜑 → dom ( 𝑦𝑌𝐷 ) = 𝑌 )
17 13 16 eqtrd ( 𝜑 → dom ( 𝑇 D ( 𝑦𝑌𝐶 ) ) = 𝑌 )
18 7 dmeqd ( 𝜑 → dom ( 𝑆 D ( 𝑥𝑋𝐴 ) ) = dom ( 𝑥𝑋𝐵 ) )
19 4 ralrimiva ( 𝜑 → ∀ 𝑥𝑋 𝐵𝑉 )
20 dmmptg ( ∀ 𝑥𝑋 𝐵𝑉 → dom ( 𝑥𝑋𝐵 ) = 𝑋 )
21 19 20 syl ( 𝜑 → dom ( 𝑥𝑋𝐵 ) = 𝑋 )
22 18 21 eqtrd ( 𝜑 → dom ( 𝑆 D ( 𝑥𝑋𝐴 ) ) = 𝑋 )
23 2 1 11 12 17 22 dvcof ( 𝜑 → ( 𝑆 D ( ( 𝑦𝑌𝐶 ) ∘ ( 𝑥𝑋𝐴 ) ) ) = ( ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) ∘ ( 𝑥𝑋𝐴 ) ) ∘f · ( 𝑆 D ( 𝑥𝑋𝐴 ) ) ) )
24 eqidd ( 𝜑 → ( 𝑥𝑋𝐴 ) = ( 𝑥𝑋𝐴 ) )
25 eqidd ( 𝜑 → ( 𝑦𝑌𝐶 ) = ( 𝑦𝑌𝐶 ) )
26 3 24 25 9 fmptco ( 𝜑 → ( ( 𝑦𝑌𝐶 ) ∘ ( 𝑥𝑋𝐴 ) ) = ( 𝑥𝑋𝐸 ) )
27 26 oveq2d ( 𝜑 → ( 𝑆 D ( ( 𝑦𝑌𝐶 ) ∘ ( 𝑥𝑋𝐴 ) ) ) = ( 𝑆 D ( 𝑥𝑋𝐸 ) ) )
28 ovex ( 𝑆 D ( 𝑥𝑋𝐴 ) ) ∈ V
29 28 dmex dom ( 𝑆 D ( 𝑥𝑋𝐴 ) ) ∈ V
30 22 29 eqeltrrdi ( 𝜑𝑋 ∈ V )
31 2 5 6 8 dvmptcl ( ( 𝜑𝑦𝑌 ) → 𝐷 ∈ ℂ )
32 8 31 fmpt3d ( 𝜑 → ( 𝑇 D ( 𝑦𝑌𝐶 ) ) : 𝑌 ⟶ ℂ )
33 fco ( ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) : 𝑌 ⟶ ℂ ∧ ( 𝑥𝑋𝐴 ) : 𝑋𝑌 ) → ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) ∘ ( 𝑥𝑋𝐴 ) ) : 𝑋 ⟶ ℂ )
34 32 12 33 syl2anc ( 𝜑 → ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) ∘ ( 𝑥𝑋𝐴 ) ) : 𝑋 ⟶ ℂ )
35 3 24 8 10 fmptco ( 𝜑 → ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) ∘ ( 𝑥𝑋𝐴 ) ) = ( 𝑥𝑋𝐹 ) )
36 35 feq1d ( 𝜑 → ( ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) ∘ ( 𝑥𝑋𝐴 ) ) : 𝑋 ⟶ ℂ ↔ ( 𝑥𝑋𝐹 ) : 𝑋 ⟶ ℂ ) )
37 34 36 mpbid ( 𝜑 → ( 𝑥𝑋𝐹 ) : 𝑋 ⟶ ℂ )
38 37 fvmptelrn ( ( 𝜑𝑥𝑋 ) → 𝐹 ∈ ℂ )
39 30 38 4 35 7 offval2 ( 𝜑 → ( ( ( 𝑇 D ( 𝑦𝑌𝐶 ) ) ∘ ( 𝑥𝑋𝐴 ) ) ∘f · ( 𝑆 D ( 𝑥𝑋𝐴 ) ) ) = ( 𝑥𝑋 ↦ ( 𝐹 · 𝐵 ) ) )
40 23 27 39 3eqtr3d ( 𝜑 → ( 𝑆 D ( 𝑥𝑋𝐸 ) ) = ( 𝑥𝑋 ↦ ( 𝐹 · 𝐵 ) ) )