Metamath Proof Explorer


Theorem dvmptres3

Description: Function-builder for derivative: restrict a derivative to a subset. (Contributed by Mario Carneiro, 11-Feb-2015)

Ref Expression
Hypotheses dvmptres3.j 𝐽 = ( TopOpen ‘ ℂfld )
dvmptres3.s ( 𝜑𝑆 ∈ { ℝ , ℂ } )
dvmptres3.x ( 𝜑𝑋𝐽 )
dvmptres3.y ( 𝜑 → ( 𝑆𝑋 ) = 𝑌 )
dvmptres3.a ( ( 𝜑𝑥𝑋 ) → 𝐴 ∈ ℂ )
dvmptres3.b ( ( 𝜑𝑥𝑋 ) → 𝐵𝑉 )
dvmptres3.d ( 𝜑 → ( ℂ D ( 𝑥𝑋𝐴 ) ) = ( 𝑥𝑋𝐵 ) )
Assertion dvmptres3 ( 𝜑 → ( 𝑆 D ( 𝑥𝑌𝐴 ) ) = ( 𝑥𝑌𝐵 ) )

Proof

Step Hyp Ref Expression
1 dvmptres3.j 𝐽 = ( TopOpen ‘ ℂfld )
2 dvmptres3.s ( 𝜑𝑆 ∈ { ℝ , ℂ } )
3 dvmptres3.x ( 𝜑𝑋𝐽 )
4 dvmptres3.y ( 𝜑 → ( 𝑆𝑋 ) = 𝑌 )
5 dvmptres3.a ( ( 𝜑𝑥𝑋 ) → 𝐴 ∈ ℂ )
6 dvmptres3.b ( ( 𝜑𝑥𝑋 ) → 𝐵𝑉 )
7 dvmptres3.d ( 𝜑 → ( ℂ D ( 𝑥𝑋𝐴 ) ) = ( 𝑥𝑋𝐵 ) )
8 5 fmpttd ( 𝜑 → ( 𝑥𝑋𝐴 ) : 𝑋 ⟶ ℂ )
9 7 dmeqd ( 𝜑 → dom ( ℂ D ( 𝑥𝑋𝐴 ) ) = dom ( 𝑥𝑋𝐵 ) )
10 eqid ( 𝑥𝑋𝐵 ) = ( 𝑥𝑋𝐵 )
11 10 6 dmmptd ( 𝜑 → dom ( 𝑥𝑋𝐵 ) = 𝑋 )
12 9 11 eqtrd ( 𝜑 → dom ( ℂ D ( 𝑥𝑋𝐴 ) ) = 𝑋 )
13 1 dvres3a ( ( ( 𝑆 ∈ { ℝ , ℂ } ∧ ( 𝑥𝑋𝐴 ) : 𝑋 ⟶ ℂ ) ∧ ( 𝑋𝐽 ∧ dom ( ℂ D ( 𝑥𝑋𝐴 ) ) = 𝑋 ) ) → ( 𝑆 D ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) ) = ( ( ℂ D ( 𝑥𝑋𝐴 ) ) ↾ 𝑆 ) )
14 2 8 3 12 13 syl22anc ( 𝜑 → ( 𝑆 D ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) ) = ( ( ℂ D ( 𝑥𝑋𝐴 ) ) ↾ 𝑆 ) )
15 rescom ( ( ( 𝑥𝑋𝐴 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) ↾ 𝑋 )
16 resres ( ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) ↾ 𝑋 ) = ( ( 𝑥𝑋𝐴 ) ↾ ( 𝑆𝑋 ) )
17 15 16 eqtri ( ( ( 𝑥𝑋𝐴 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( 𝑥𝑋𝐴 ) ↾ ( 𝑆𝑋 ) )
18 4 reseq2d ( 𝜑 → ( ( 𝑥𝑋𝐴 ) ↾ ( 𝑆𝑋 ) ) = ( ( 𝑥𝑋𝐴 ) ↾ 𝑌 ) )
19 17 18 eqtrid ( 𝜑 → ( ( ( 𝑥𝑋𝐴 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( 𝑥𝑋𝐴 ) ↾ 𝑌 ) )
20 ffn ( ( 𝑥𝑋𝐴 ) : 𝑋 ⟶ ℂ → ( 𝑥𝑋𝐴 ) Fn 𝑋 )
21 fnresdm ( ( 𝑥𝑋𝐴 ) Fn 𝑋 → ( ( 𝑥𝑋𝐴 ) ↾ 𝑋 ) = ( 𝑥𝑋𝐴 ) )
22 8 20 21 3syl ( 𝜑 → ( ( 𝑥𝑋𝐴 ) ↾ 𝑋 ) = ( 𝑥𝑋𝐴 ) )
23 22 reseq1d ( 𝜑 → ( ( ( 𝑥𝑋𝐴 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) )
24 inss2 ( 𝑆𝑋 ) ⊆ 𝑋
25 4 24 eqsstrrdi ( 𝜑𝑌𝑋 )
26 25 resmptd ( 𝜑 → ( ( 𝑥𝑋𝐴 ) ↾ 𝑌 ) = ( 𝑥𝑌𝐴 ) )
27 19 23 26 3eqtr3d ( 𝜑 → ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) = ( 𝑥𝑌𝐴 ) )
28 27 oveq2d ( 𝜑 → ( 𝑆 D ( ( 𝑥𝑋𝐴 ) ↾ 𝑆 ) ) = ( 𝑆 D ( 𝑥𝑌𝐴 ) ) )
29 rescom ( ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( ( 𝑥𝑋𝐵 ) ↾ 𝑆 ) ↾ 𝑋 )
30 resres ( ( ( 𝑥𝑋𝐵 ) ↾ 𝑆 ) ↾ 𝑋 ) = ( ( 𝑥𝑋𝐵 ) ↾ ( 𝑆𝑋 ) )
31 29 30 eqtri ( ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( 𝑥𝑋𝐵 ) ↾ ( 𝑆𝑋 ) )
32 4 reseq2d ( 𝜑 → ( ( 𝑥𝑋𝐵 ) ↾ ( 𝑆𝑋 ) ) = ( ( 𝑥𝑋𝐵 ) ↾ 𝑌 ) )
33 31 32 eqtrid ( 𝜑 → ( ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( 𝑥𝑋𝐵 ) ↾ 𝑌 ) )
34 6 ralrimiva ( 𝜑 → ∀ 𝑥𝑋 𝐵𝑉 )
35 10 fnmpt ( ∀ 𝑥𝑋 𝐵𝑉 → ( 𝑥𝑋𝐵 ) Fn 𝑋 )
36 fnresdm ( ( 𝑥𝑋𝐵 ) Fn 𝑋 → ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) = ( 𝑥𝑋𝐵 ) )
37 34 35 36 3syl ( 𝜑 → ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) = ( 𝑥𝑋𝐵 ) )
38 37 7 eqtr4d ( 𝜑 → ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) = ( ℂ D ( 𝑥𝑋𝐴 ) ) )
39 38 reseq1d ( 𝜑 → ( ( ( 𝑥𝑋𝐵 ) ↾ 𝑋 ) ↾ 𝑆 ) = ( ( ℂ D ( 𝑥𝑋𝐴 ) ) ↾ 𝑆 ) )
40 25 resmptd ( 𝜑 → ( ( 𝑥𝑋𝐵 ) ↾ 𝑌 ) = ( 𝑥𝑌𝐵 ) )
41 33 39 40 3eqtr3d ( 𝜑 → ( ( ℂ D ( 𝑥𝑋𝐴 ) ) ↾ 𝑆 ) = ( 𝑥𝑌𝐵 ) )
42 14 28 41 3eqtr3d ( 𝜑 → ( 𝑆 D ( 𝑥𝑌𝐴 ) ) = ( 𝑥𝑌𝐵 ) )