Metamath Proof Explorer


Theorem dvcof

Description: The chain rule for everywhere-differentiable functions. (Contributed by Mario Carneiro, 10-Aug-2014) (Revised by Mario Carneiro, 10-Feb-2015)

Ref Expression
Hypotheses dvcof.s ( 𝜑𝑆 ∈ { ℝ , ℂ } )
dvcof.t ( 𝜑𝑇 ∈ { ℝ , ℂ } )
dvcof.f ( 𝜑𝐹 : 𝑋 ⟶ ℂ )
dvcof.g ( 𝜑𝐺 : 𝑌𝑋 )
dvcof.df ( 𝜑 → dom ( 𝑆 D 𝐹 ) = 𝑋 )
dvcof.dg ( 𝜑 → dom ( 𝑇 D 𝐺 ) = 𝑌 )
Assertion dvcof ( 𝜑 → ( 𝑇 D ( 𝐹𝐺 ) ) = ( ( ( 𝑆 D 𝐹 ) ∘ 𝐺 ) ∘f · ( 𝑇 D 𝐺 ) ) )

Proof

Step Hyp Ref Expression
1 dvcof.s ( 𝜑𝑆 ∈ { ℝ , ℂ } )
2 dvcof.t ( 𝜑𝑇 ∈ { ℝ , ℂ } )
3 dvcof.f ( 𝜑𝐹 : 𝑋 ⟶ ℂ )
4 dvcof.g ( 𝜑𝐺 : 𝑌𝑋 )
5 dvcof.df ( 𝜑 → dom ( 𝑆 D 𝐹 ) = 𝑋 )
6 dvcof.dg ( 𝜑 → dom ( 𝑇 D 𝐺 ) = 𝑌 )
7 3 adantr ( ( 𝜑𝑥𝑌 ) → 𝐹 : 𝑋 ⟶ ℂ )
8 dvbsss dom ( 𝑆 D 𝐹 ) ⊆ 𝑆
9 5 8 eqsstrrdi ( 𝜑𝑋𝑆 )
10 9 adantr ( ( 𝜑𝑥𝑌 ) → 𝑋𝑆 )
11 4 adantr ( ( 𝜑𝑥𝑌 ) → 𝐺 : 𝑌𝑋 )
12 dvbsss dom ( 𝑇 D 𝐺 ) ⊆ 𝑇
13 6 12 eqsstrrdi ( 𝜑𝑌𝑇 )
14 13 adantr ( ( 𝜑𝑥𝑌 ) → 𝑌𝑇 )
15 1 adantr ( ( 𝜑𝑥𝑌 ) → 𝑆 ∈ { ℝ , ℂ } )
16 2 adantr ( ( 𝜑𝑥𝑌 ) → 𝑇 ∈ { ℝ , ℂ } )
17 4 ffvelrnda ( ( 𝜑𝑥𝑌 ) → ( 𝐺𝑥 ) ∈ 𝑋 )
18 5 adantr ( ( 𝜑𝑥𝑌 ) → dom ( 𝑆 D 𝐹 ) = 𝑋 )
19 17 18 eleqtrrd ( ( 𝜑𝑥𝑌 ) → ( 𝐺𝑥 ) ∈ dom ( 𝑆 D 𝐹 ) )
20 6 eleq2d ( 𝜑 → ( 𝑥 ∈ dom ( 𝑇 D 𝐺 ) ↔ 𝑥𝑌 ) )
21 20 biimpar ( ( 𝜑𝑥𝑌 ) → 𝑥 ∈ dom ( 𝑇 D 𝐺 ) )
22 7 10 11 14 15 16 19 21 dvco ( ( 𝜑𝑥𝑌 ) → ( ( 𝑇 D ( 𝐹𝐺 ) ) ‘ 𝑥 ) = ( ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) · ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) )
23 22 mpteq2dva ( 𝜑 → ( 𝑥𝑌 ↦ ( ( 𝑇 D ( 𝐹𝐺 ) ) ‘ 𝑥 ) ) = ( 𝑥𝑌 ↦ ( ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) · ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) ) )
24 dvfg ( 𝑇 ∈ { ℝ , ℂ } → ( 𝑇 D ( 𝐹𝐺 ) ) : dom ( 𝑇 D ( 𝐹𝐺 ) ) ⟶ ℂ )
25 2 24 syl ( 𝜑 → ( 𝑇 D ( 𝐹𝐺 ) ) : dom ( 𝑇 D ( 𝐹𝐺 ) ) ⟶ ℂ )
26 recnprss ( 𝑇 ∈ { ℝ , ℂ } → 𝑇 ⊆ ℂ )
27 2 26 syl ( 𝜑𝑇 ⊆ ℂ )
28 fco ( ( 𝐹 : 𝑋 ⟶ ℂ ∧ 𝐺 : 𝑌𝑋 ) → ( 𝐹𝐺 ) : 𝑌 ⟶ ℂ )
29 3 4 28 syl2anc ( 𝜑 → ( 𝐹𝐺 ) : 𝑌 ⟶ ℂ )
30 27 29 13 dvbss ( 𝜑 → dom ( 𝑇 D ( 𝐹𝐺 ) ) ⊆ 𝑌 )
31 recnprss ( 𝑆 ∈ { ℝ , ℂ } → 𝑆 ⊆ ℂ )
32 15 31 syl ( ( 𝜑𝑥𝑌 ) → 𝑆 ⊆ ℂ )
33 16 26 syl ( ( 𝜑𝑥𝑌 ) → 𝑇 ⊆ ℂ )
34 fvexd ( ( 𝜑𝑥𝑌 ) → ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) ∈ V )
35 fvexd ( ( 𝜑𝑥𝑌 ) → ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ∈ V )
36 dvfg ( 𝑆 ∈ { ℝ , ℂ } → ( 𝑆 D 𝐹 ) : dom ( 𝑆 D 𝐹 ) ⟶ ℂ )
37 ffun ( ( 𝑆 D 𝐹 ) : dom ( 𝑆 D 𝐹 ) ⟶ ℂ → Fun ( 𝑆 D 𝐹 ) )
38 funfvbrb ( Fun ( 𝑆 D 𝐹 ) → ( ( 𝐺𝑥 ) ∈ dom ( 𝑆 D 𝐹 ) ↔ ( 𝐺𝑥 ) ( 𝑆 D 𝐹 ) ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) ) )
39 15 36 37 38 4syl ( ( 𝜑𝑥𝑌 ) → ( ( 𝐺𝑥 ) ∈ dom ( 𝑆 D 𝐹 ) ↔ ( 𝐺𝑥 ) ( 𝑆 D 𝐹 ) ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) ) )
40 19 39 mpbid ( ( 𝜑𝑥𝑌 ) → ( 𝐺𝑥 ) ( 𝑆 D 𝐹 ) ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) )
41 dvfg ( 𝑇 ∈ { ℝ , ℂ } → ( 𝑇 D 𝐺 ) : dom ( 𝑇 D 𝐺 ) ⟶ ℂ )
42 ffun ( ( 𝑇 D 𝐺 ) : dom ( 𝑇 D 𝐺 ) ⟶ ℂ → Fun ( 𝑇 D 𝐺 ) )
43 funfvbrb ( Fun ( 𝑇 D 𝐺 ) → ( 𝑥 ∈ dom ( 𝑇 D 𝐺 ) ↔ 𝑥 ( 𝑇 D 𝐺 ) ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) )
44 16 41 42 43 4syl ( ( 𝜑𝑥𝑌 ) → ( 𝑥 ∈ dom ( 𝑇 D 𝐺 ) ↔ 𝑥 ( 𝑇 D 𝐺 ) ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) )
45 21 44 mpbid ( ( 𝜑𝑥𝑌 ) → 𝑥 ( 𝑇 D 𝐺 ) ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) )
46 eqid ( TopOpen ‘ ℂfld ) = ( TopOpen ‘ ℂfld )
47 7 10 11 14 32 33 34 35 40 45 46 dvcobr ( ( 𝜑𝑥𝑌 ) → 𝑥 ( 𝑇 D ( 𝐹𝐺 ) ) ( ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) · ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) )
48 reldv Rel ( 𝑇 D ( 𝐹𝐺 ) )
49 48 releldmi ( 𝑥 ( 𝑇 D ( 𝐹𝐺 ) ) ( ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) · ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) → 𝑥 ∈ dom ( 𝑇 D ( 𝐹𝐺 ) ) )
50 47 49 syl ( ( 𝜑𝑥𝑌 ) → 𝑥 ∈ dom ( 𝑇 D ( 𝐹𝐺 ) ) )
51 30 50 eqelssd ( 𝜑 → dom ( 𝑇 D ( 𝐹𝐺 ) ) = 𝑌 )
52 51 feq2d ( 𝜑 → ( ( 𝑇 D ( 𝐹𝐺 ) ) : dom ( 𝑇 D ( 𝐹𝐺 ) ) ⟶ ℂ ↔ ( 𝑇 D ( 𝐹𝐺 ) ) : 𝑌 ⟶ ℂ ) )
53 25 52 mpbid ( 𝜑 → ( 𝑇 D ( 𝐹𝐺 ) ) : 𝑌 ⟶ ℂ )
54 53 feqmptd ( 𝜑 → ( 𝑇 D ( 𝐹𝐺 ) ) = ( 𝑥𝑌 ↦ ( ( 𝑇 D ( 𝐹𝐺 ) ) ‘ 𝑥 ) ) )
55 2 13 ssexd ( 𝜑𝑌 ∈ V )
56 4 feqmptd ( 𝜑𝐺 = ( 𝑥𝑌 ↦ ( 𝐺𝑥 ) ) )
57 1 36 syl ( 𝜑 → ( 𝑆 D 𝐹 ) : dom ( 𝑆 D 𝐹 ) ⟶ ℂ )
58 5 feq2d ( 𝜑 → ( ( 𝑆 D 𝐹 ) : dom ( 𝑆 D 𝐹 ) ⟶ ℂ ↔ ( 𝑆 D 𝐹 ) : 𝑋 ⟶ ℂ ) )
59 57 58 mpbid ( 𝜑 → ( 𝑆 D 𝐹 ) : 𝑋 ⟶ ℂ )
60 59 feqmptd ( 𝜑 → ( 𝑆 D 𝐹 ) = ( 𝑦𝑋 ↦ ( ( 𝑆 D 𝐹 ) ‘ 𝑦 ) ) )
61 fveq2 ( 𝑦 = ( 𝐺𝑥 ) → ( ( 𝑆 D 𝐹 ) ‘ 𝑦 ) = ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) )
62 17 56 60 61 fmptco ( 𝜑 → ( ( 𝑆 D 𝐹 ) ∘ 𝐺 ) = ( 𝑥𝑌 ↦ ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) ) )
63 2 41 syl ( 𝜑 → ( 𝑇 D 𝐺 ) : dom ( 𝑇 D 𝐺 ) ⟶ ℂ )
64 6 feq2d ( 𝜑 → ( ( 𝑇 D 𝐺 ) : dom ( 𝑇 D 𝐺 ) ⟶ ℂ ↔ ( 𝑇 D 𝐺 ) : 𝑌 ⟶ ℂ ) )
65 63 64 mpbid ( 𝜑 → ( 𝑇 D 𝐺 ) : 𝑌 ⟶ ℂ )
66 65 feqmptd ( 𝜑 → ( 𝑇 D 𝐺 ) = ( 𝑥𝑌 ↦ ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) )
67 55 34 35 62 66 offval2 ( 𝜑 → ( ( ( 𝑆 D 𝐹 ) ∘ 𝐺 ) ∘f · ( 𝑇 D 𝐺 ) ) = ( 𝑥𝑌 ↦ ( ( ( 𝑆 D 𝐹 ) ‘ ( 𝐺𝑥 ) ) · ( ( 𝑇 D 𝐺 ) ‘ 𝑥 ) ) ) )
68 23 54 67 3eqtr4d ( 𝜑 → ( 𝑇 D ( 𝐹𝐺 ) ) = ( ( ( 𝑆 D 𝐹 ) ∘ 𝐺 ) ∘f · ( 𝑇 D 𝐺 ) ) )