Metamath Proof Explorer


Theorem dvmptcmul

Description: Function-builder for derivative, product rule for constant multiplier. (Contributed by Mario Carneiro, 1-Sep-2014) (Revised by Mario Carneiro, 11-Feb-2015)

Ref Expression
Hypotheses dvmptadd.s
|- ( ph -> S e. { RR , CC } )
dvmptadd.a
|- ( ( ph /\ x e. X ) -> A e. CC )
dvmptadd.b
|- ( ( ph /\ x e. X ) -> B e. V )
dvmptadd.da
|- ( ph -> ( S _D ( x e. X |-> A ) ) = ( x e. X |-> B ) )
dvmptcmul.c
|- ( ph -> C e. CC )
Assertion dvmptcmul
|- ( ph -> ( S _D ( x e. X |-> ( C x. A ) ) ) = ( x e. X |-> ( C x. B ) ) )

Proof

Step Hyp Ref Expression
1 dvmptadd.s
 |-  ( ph -> S e. { RR , CC } )
2 dvmptadd.a
 |-  ( ( ph /\ x e. X ) -> A e. CC )
3 dvmptadd.b
 |-  ( ( ph /\ x e. X ) -> B e. V )
4 dvmptadd.da
 |-  ( ph -> ( S _D ( x e. X |-> A ) ) = ( x e. X |-> B ) )
5 dvmptcmul.c
 |-  ( ph -> C e. CC )
6 5 adantr
 |-  ( ( ph /\ x e. X ) -> C e. CC )
7 0cnd
 |-  ( ( ph /\ x e. X ) -> 0 e. CC )
8 5 adantr
 |-  ( ( ph /\ x e. S ) -> C e. CC )
9 0cnd
 |-  ( ( ph /\ x e. S ) -> 0 e. CC )
10 1 5 dvmptc
 |-  ( ph -> ( S _D ( x e. S |-> C ) ) = ( x e. S |-> 0 ) )
11 4 dmeqd
 |-  ( ph -> dom ( S _D ( x e. X |-> A ) ) = dom ( x e. X |-> B ) )
12 3 ralrimiva
 |-  ( ph -> A. x e. X B e. V )
13 dmmptg
 |-  ( A. x e. X B e. V -> dom ( x e. X |-> B ) = X )
14 12 13 syl
 |-  ( ph -> dom ( x e. X |-> B ) = X )
15 11 14 eqtrd
 |-  ( ph -> dom ( S _D ( x e. X |-> A ) ) = X )
16 dvbsss
 |-  dom ( S _D ( x e. X |-> A ) ) C_ S
17 15 16 eqsstrrdi
 |-  ( ph -> X C_ S )
18 eqid
 |-  ( ( TopOpen ` CCfld ) |`t S ) = ( ( TopOpen ` CCfld ) |`t S )
19 eqid
 |-  ( TopOpen ` CCfld ) = ( TopOpen ` CCfld )
20 19 cnfldtopon
 |-  ( TopOpen ` CCfld ) e. ( TopOn ` CC )
21 recnprss
 |-  ( S e. { RR , CC } -> S C_ CC )
22 1 21 syl
 |-  ( ph -> S C_ CC )
23 resttopon
 |-  ( ( ( TopOpen ` CCfld ) e. ( TopOn ` CC ) /\ S C_ CC ) -> ( ( TopOpen ` CCfld ) |`t S ) e. ( TopOn ` S ) )
24 20 22 23 sylancr
 |-  ( ph -> ( ( TopOpen ` CCfld ) |`t S ) e. ( TopOn ` S ) )
25 topontop
 |-  ( ( ( TopOpen ` CCfld ) |`t S ) e. ( TopOn ` S ) -> ( ( TopOpen ` CCfld ) |`t S ) e. Top )
26 24 25 syl
 |-  ( ph -> ( ( TopOpen ` CCfld ) |`t S ) e. Top )
27 toponuni
 |-  ( ( ( TopOpen ` CCfld ) |`t S ) e. ( TopOn ` S ) -> S = U. ( ( TopOpen ` CCfld ) |`t S ) )
28 24 27 syl
 |-  ( ph -> S = U. ( ( TopOpen ` CCfld ) |`t S ) )
29 17 28 sseqtrd
 |-  ( ph -> X C_ U. ( ( TopOpen ` CCfld ) |`t S ) )
30 eqid
 |-  U. ( ( TopOpen ` CCfld ) |`t S ) = U. ( ( TopOpen ` CCfld ) |`t S )
31 30 ntrss2
 |-  ( ( ( ( TopOpen ` CCfld ) |`t S ) e. Top /\ X C_ U. ( ( TopOpen ` CCfld ) |`t S ) ) -> ( ( int ` ( ( TopOpen ` CCfld ) |`t S ) ) ` X ) C_ X )
32 26 29 31 syl2anc
 |-  ( ph -> ( ( int ` ( ( TopOpen ` CCfld ) |`t S ) ) ` X ) C_ X )
33 2 fmpttd
 |-  ( ph -> ( x e. X |-> A ) : X --> CC )
34 22 33 17 18 19 dvbssntr
 |-  ( ph -> dom ( S _D ( x e. X |-> A ) ) C_ ( ( int ` ( ( TopOpen ` CCfld ) |`t S ) ) ` X ) )
35 15 34 eqsstrrd
 |-  ( ph -> X C_ ( ( int ` ( ( TopOpen ` CCfld ) |`t S ) ) ` X ) )
36 32 35 eqssd
 |-  ( ph -> ( ( int ` ( ( TopOpen ` CCfld ) |`t S ) ) ` X ) = X )
37 1 8 9 10 17 18 19 36 dvmptres2
 |-  ( ph -> ( S _D ( x e. X |-> C ) ) = ( x e. X |-> 0 ) )
38 1 6 7 37 2 3 4 dvmptmul
 |-  ( ph -> ( S _D ( x e. X |-> ( C x. A ) ) ) = ( x e. X |-> ( ( 0 x. A ) + ( B x. C ) ) ) )
39 2 mul02d
 |-  ( ( ph /\ x e. X ) -> ( 0 x. A ) = 0 )
40 39 oveq1d
 |-  ( ( ph /\ x e. X ) -> ( ( 0 x. A ) + ( B x. C ) ) = ( 0 + ( B x. C ) ) )
41 1 2 3 4 dvmptcl
 |-  ( ( ph /\ x e. X ) -> B e. CC )
42 41 6 mulcld
 |-  ( ( ph /\ x e. X ) -> ( B x. C ) e. CC )
43 42 addid2d
 |-  ( ( ph /\ x e. X ) -> ( 0 + ( B x. C ) ) = ( B x. C ) )
44 41 6 mulcomd
 |-  ( ( ph /\ x e. X ) -> ( B x. C ) = ( C x. B ) )
45 40 43 44 3eqtrd
 |-  ( ( ph /\ x e. X ) -> ( ( 0 x. A ) + ( B x. C ) ) = ( C x. B ) )
46 45 mpteq2dva
 |-  ( ph -> ( x e. X |-> ( ( 0 x. A ) + ( B x. C ) ) ) = ( x e. X |-> ( C x. B ) ) )
47 38 46 eqtrd
 |-  ( ph -> ( S _D ( x e. X |-> ( C x. A ) ) ) = ( x e. X |-> ( C x. B ) ) )