Metamath Proof Explorer


Theorem addcos

Description: Sum of cosines. (Contributed by Paul Chapman, 12-Oct-2007)

Ref Expression
Assertion addcos
|- ( ( A e. CC /\ B e. CC ) -> ( ( cos ` A ) + ( cos ` B ) ) = ( 2 x. ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 coscl
 |-  ( A e. CC -> ( cos ` A ) e. CC )
2 coscl
 |-  ( B e. CC -> ( cos ` B ) e. CC )
3 addcom
 |-  ( ( ( cos ` A ) e. CC /\ ( cos ` B ) e. CC ) -> ( ( cos ` A ) + ( cos ` B ) ) = ( ( cos ` B ) + ( cos ` A ) ) )
4 1 2 3 syl2an
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( cos ` A ) + ( cos ` B ) ) = ( ( cos ` B ) + ( cos ` A ) ) )
5 halfaddsub
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) = A /\ ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) = B ) )
6 5 simprd
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) = B )
7 6 fveq2d
 |-  ( ( A e. CC /\ B e. CC ) -> ( cos ` ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) ) = ( cos ` B ) )
8 5 simpld
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) = A )
9 8 fveq2d
 |-  ( ( A e. CC /\ B e. CC ) -> ( cos ` ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) ) = ( cos ` A ) )
10 7 9 oveq12d
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( cos ` ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) ) + ( cos ` ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) ) ) = ( ( cos ` B ) + ( cos ` A ) ) )
11 halfaddsubcl
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( ( A + B ) / 2 ) e. CC /\ ( ( A - B ) / 2 ) e. CC ) )
12 coscl
 |-  ( ( ( A + B ) / 2 ) e. CC -> ( cos ` ( ( A + B ) / 2 ) ) e. CC )
13 coscl
 |-  ( ( ( A - B ) / 2 ) e. CC -> ( cos ` ( ( A - B ) / 2 ) ) e. CC )
14 mulcl
 |-  ( ( ( cos ` ( ( A + B ) / 2 ) ) e. CC /\ ( cos ` ( ( A - B ) / 2 ) ) e. CC ) -> ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) e. CC )
15 12 13 14 syl2an
 |-  ( ( ( ( A + B ) / 2 ) e. CC /\ ( ( A - B ) / 2 ) e. CC ) -> ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) e. CC )
16 11 15 syl
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) e. CC )
17 sincl
 |-  ( ( ( A + B ) / 2 ) e. CC -> ( sin ` ( ( A + B ) / 2 ) ) e. CC )
18 sincl
 |-  ( ( ( A - B ) / 2 ) e. CC -> ( sin ` ( ( A - B ) / 2 ) ) e. CC )
19 mulcl
 |-  ( ( ( sin ` ( ( A + B ) / 2 ) ) e. CC /\ ( sin ` ( ( A - B ) / 2 ) ) e. CC ) -> ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) e. CC )
20 17 18 19 syl2an
 |-  ( ( ( ( A + B ) / 2 ) e. CC /\ ( ( A - B ) / 2 ) e. CC ) -> ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) e. CC )
21 11 20 syl
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) e. CC )
22 16 21 16 ppncand
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) + ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) + ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) - ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) ) = ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) + ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) ) )
23 cossub
 |-  ( ( ( ( A + B ) / 2 ) e. CC /\ ( ( A - B ) / 2 ) e. CC ) -> ( cos ` ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) ) = ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) + ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) )
24 cosadd
 |-  ( ( ( ( A + B ) / 2 ) e. CC /\ ( ( A - B ) / 2 ) e. CC ) -> ( cos ` ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) ) = ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) - ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) )
25 23 24 oveq12d
 |-  ( ( ( ( A + B ) / 2 ) e. CC /\ ( ( A - B ) / 2 ) e. CC ) -> ( ( cos ` ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) ) + ( cos ` ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) ) ) = ( ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) + ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) + ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) - ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) ) )
26 11 25 syl
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( cos ` ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) ) + ( cos ` ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) ) ) = ( ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) + ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) + ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) - ( ( sin ` ( ( A + B ) / 2 ) ) x. ( sin ` ( ( A - B ) / 2 ) ) ) ) ) )
27 16 2timesd
 |-  ( ( A e. CC /\ B e. CC ) -> ( 2 x. ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) ) = ( ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) + ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) ) )
28 22 26 27 3eqtr4d
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( cos ` ( ( ( A + B ) / 2 ) - ( ( A - B ) / 2 ) ) ) + ( cos ` ( ( ( A + B ) / 2 ) + ( ( A - B ) / 2 ) ) ) ) = ( 2 x. ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) ) )
29 4 10 28 3eqtr2d
 |-  ( ( A e. CC /\ B e. CC ) -> ( ( cos ` A ) + ( cos ` B ) ) = ( 2 x. ( ( cos ` ( ( A + B ) / 2 ) ) x. ( cos ` ( ( A - B ) / 2 ) ) ) ) )