MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ptolemy Structured version   Unicode version

Theorem ptolemy 21938
Description: Ptolemy's Theorem. This theorem is named after the Greek astronomer and mathematician Ptolemy (Claudius Ptolemaeus). This particular version is expressed using the sine function. It is proved by expanding all the multiplication of sines to a product of cosines of differences using sinmul 13448, then using algebraic simplification to show that both sides are equal. This formalization is based on the proof in "Trigonometry" by Gelfand and Saul. This is Metamath 100 proof #95. (Contributed by David A. Wheeler, 31-May-2015.)
Assertion
Ref Expression
ptolemy  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( sin `  A )  x.  ( sin `  B ) )  +  ( ( sin `  C )  x.  ( sin `  D ) ) )  =  ( ( sin `  ( B  +  C ) )  x.  ( sin `  ( A  +  C )
) ) )

Proof of Theorem ptolemy
StepHypRef Expression
1 addcl 9356 . . . . . . . . . . 11  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( C  +  D
)  e.  CC )
213ad2ant2 1010 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( C  +  D
)  e.  CC )
32coscld 13407 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( C  +  D )
)  e.  CC )
43negnegd 9702 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  ->  -u -u ( cos `  ( C  +  D )
)  =  ( cos `  ( C  +  D
) ) )
5 addid2 9544 . . . . . . . . . . . . . . 15  |-  ( ( C  +  D )  e.  CC  ->  (
0  +  ( C  +  D ) )  =  ( C  +  D ) )
65oveq1d 6101 . . . . . . . . . . . . . 14  |-  ( ( C  +  D )  e.  CC  ->  (
( 0  +  ( C  +  D ) )  -  ( ( A  +  B )  +  ( C  +  D ) ) )  =  ( ( C  +  D )  -  ( ( A  +  B )  +  ( C  +  D ) ) ) )
72, 6syl 16 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( 0  +  ( C  +  D
) )  -  (
( A  +  B
)  +  ( C  +  D ) ) )  =  ( ( C  +  D )  -  ( ( A  +  B )  +  ( C  +  D
) ) ) )
8 0cnd 9371 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
0  e.  CC )
9 addcl 9356 . . . . . . . . . . . . . . . 16  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( A  +  B
)  e.  CC )
109adantr 465 . . . . . . . . . . . . . . 15  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( A  +  B
)  e.  CC )
11103adant3 1008 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( A  +  B
)  e.  CC )
128, 11, 2pnpcan2d 9749 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( 0  +  ( C  +  D
) )  -  (
( A  +  B
)  +  ( C  +  D ) ) )  =  ( 0  -  ( A  +  B ) ) )
13 simp3 990 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  B )  +  ( C  +  D ) )  =  pi )
1413oveq2d 6102 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( C  +  D )  -  (
( A  +  B
)  +  ( C  +  D ) ) )  =  ( ( C  +  D )  -  pi ) )
157, 12, 143eqtr3rd 2479 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( C  +  D )  -  pi )  =  ( 0  -  ( A  +  B ) ) )
16 df-neg 9590 . . . . . . . . . . . 12  |-  -u ( A  +  B )  =  ( 0  -  ( A  +  B
) )
1715, 16syl6eqr 2488 . . . . . . . . . . 11  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( C  +  D )  -  pi )  =  -u ( A  +  B ) )
1817fveq2d 5690 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  (
( C  +  D
)  -  pi ) )  =  ( cos `  -u ( A  +  B ) ) )
19 cosmpi 21930 . . . . . . . . . . 11  |-  ( ( C  +  D )  e.  CC  ->  ( cos `  ( ( C  +  D )  -  pi ) )  =  -u ( cos `  ( C  +  D ) ) )
202, 19syl 16 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  (
( C  +  D
)  -  pi ) )  =  -u ( cos `  ( C  +  D ) ) )
21 cosneg 13423 . . . . . . . . . . 11  |-  ( ( A  +  B )  e.  CC  ->  ( cos `  -u ( A  +  B ) )  =  ( cos `  ( A  +  B )
) )
2211, 21syl 16 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  -u ( A  +  B )
)  =  ( cos `  ( A  +  B
) ) )
2318, 20, 223eqtr3d 2478 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  ->  -u ( cos `  ( C  +  D )
)  =  ( cos `  ( A  +  B
) ) )
2423negeqd 9596 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  ->  -u -u ( cos `  ( C  +  D )
)  =  -u ( cos `  ( A  +  B ) ) )
254, 24eqtr3d 2472 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( C  +  D )
)  =  -u ( cos `  ( A  +  B ) ) )
2625oveq2d 6102 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( C  -  D )
)  -  ( cos `  ( C  +  D
) ) )  =  ( ( cos `  ( C  -  D )
)  -  -u ( cos `  ( A  +  B ) ) ) )
27 subcl 9601 . . . . . . . . . 10  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( C  -  D
)  e.  CC )
2827adantl 466 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( C  -  D
)  e.  CC )
2928coscld 13407 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  ( C  -  D )
)  e.  CC )
30293adant3 1008 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( C  -  D )
)  e.  CC )
3111coscld 13407 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( A  +  B )
)  e.  CC )
3230, 31subnegd 9718 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( C  -  D )
)  -  -u ( cos `  ( A  +  B ) ) )  =  ( ( cos `  ( C  -  D
) )  +  ( cos `  ( A  +  B ) ) ) )
3326, 32eqtrd 2470 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( C  -  D )
)  -  ( cos `  ( C  +  D
) ) )  =  ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) ) )
3433oveq1d 6101 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( cos `  ( C  -  D
) )  -  ( cos `  ( C  +  D ) ) )  /  2 )  =  ( ( ( cos `  ( C  -  D
) )  +  ( cos `  ( A  +  B ) ) )  /  2 ) )
3534oveq2d 6102 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  /  2
)  +  ( ( ( cos `  ( C  -  D )
)  -  ( cos `  ( C  +  D
) ) )  / 
2 ) )  =  ( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  /  2
)  +  ( ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) )  / 
2 ) ) )
36 subcl 9601 . . . . . . . 8  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( A  -  B
)  e.  CC )
37363ad2ant1 1009 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( A  -  B
)  e.  CC )
3837coscld 13407 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( A  -  B )
)  e.  CC )
3938, 31subcld 9711 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( A  -  B )
)  -  ( cos `  ( A  +  B
) ) )  e.  CC )
4030, 31addcld 9397 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) )  e.  CC )
41 2cnne0 10528 . . . . . 6  |-  ( 2  e.  CC  /\  2  =/=  0 )
4241a1i 11 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( 2  e.  CC  /\  2  =/=  0 ) )
43 divdir 10009 . . . . 5  |-  ( ( ( ( cos `  ( A  -  B )
)  -  ( cos `  ( A  +  B
) ) )  e.  CC  /\  ( ( cos `  ( C  -  D ) )  +  ( cos `  ( A  +  B )
) )  e.  CC  /\  ( 2  e.  CC  /\  2  =/=  0 ) )  ->  ( (
( ( cos `  ( A  -  B )
)  -  ( cos `  ( A  +  B
) ) )  +  ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) ) )  /  2 )  =  ( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  /  2
)  +  ( ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) )  / 
2 ) ) )
4439, 40, 42, 43syl3anc 1218 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  +  ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) ) )  /  2 )  =  ( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  /  2
)  +  ( ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) )  / 
2 ) ) )
4538, 31, 30nppcan3d 9738 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( cos `  ( A  -  B
) )  -  ( cos `  ( A  +  B ) ) )  +  ( ( cos `  ( C  -  D
) )  +  ( cos `  ( A  +  B ) ) ) )  =  ( ( cos `  ( A  -  B )
)  +  ( cos `  ( C  -  D
) ) ) )
4645oveq1d 6101 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  +  ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) ) )  /  2 )  =  ( ( ( cos `  ( A  -  B
) )  +  ( cos `  ( C  -  D ) ) )  /  2 ) )
4744, 46eqtr3d 2472 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  /  2
)  +  ( ( ( cos `  ( C  -  D )
)  +  ( cos `  ( A  +  B
) ) )  / 
2 ) )  =  ( ( ( cos `  ( A  -  B
) )  +  ( cos `  ( C  -  D ) ) )  /  2 ) )
4835, 47eqtrd 2470 . 2  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( ( cos `  ( A  -  B ) )  -  ( cos `  ( A  +  B )
) )  /  2
)  +  ( ( ( cos `  ( C  -  D )
)  -  ( cos `  ( C  +  D
) ) )  / 
2 ) )  =  ( ( ( cos `  ( A  -  B
) )  +  ( cos `  ( C  -  D ) ) )  /  2 ) )
49 sinmul 13448 . . . 4  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( ( sin `  A
)  x.  ( sin `  B ) )  =  ( ( ( cos `  ( A  -  B
) )  -  ( cos `  ( A  +  B ) ) )  /  2 ) )
50493ad2ant1 1009 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( sin `  A
)  x.  ( sin `  B ) )  =  ( ( ( cos `  ( A  -  B
) )  -  ( cos `  ( A  +  B ) ) )  /  2 ) )
51 sinmul 13448 . . . 4  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( ( sin `  C
)  x.  ( sin `  D ) )  =  ( ( ( cos `  ( C  -  D
) )  -  ( cos `  ( C  +  D ) ) )  /  2 ) )
52513ad2ant2 1010 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( sin `  C
)  x.  ( sin `  D ) )  =  ( ( ( cos `  ( C  -  D
) )  -  ( cos `  ( C  +  D ) ) )  /  2 ) )
5350, 52oveq12d 6104 . 2  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( sin `  A )  x.  ( sin `  B ) )  +  ( ( sin `  C )  x.  ( sin `  D ) ) )  =  ( ( ( ( cos `  ( A  -  B )
)  -  ( cos `  ( A  +  B
) ) )  / 
2 )  +  ( ( ( cos `  ( C  -  D )
)  -  ( cos `  ( C  +  D
) ) )  / 
2 ) ) )
54 simplr 754 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  ->  B  e.  CC )
55 simpll 753 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  ->  A  e.  CC )
56 simprl 755 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  ->  C  e.  CC )
5754, 55, 56pnpcan2d 9749 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( ( B  +  C )  -  ( A  +  C )
)  =  ( B  -  A ) )
5857fveq2d 5690 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  (
( B  +  C
)  -  ( A  +  C ) ) )  =  ( cos `  ( B  -  A
) ) )
59583adant3 1008 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  (
( B  +  C
)  -  ( A  +  C ) ) )  =  ( cos `  ( B  -  A
) ) )
601adantl 466 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( C  +  D
)  e.  CC )
6110, 60, 283jca 1168 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( ( A  +  B )  e.  CC  /\  ( C  +  D
)  e.  CC  /\  ( C  -  D
)  e.  CC ) )
62613adant3 1008 . . . . . . . . . . 11  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  B )  e.  CC  /\  ( C  +  D
)  e.  CC  /\  ( C  -  D
)  e.  CC ) )
63 addass 9361 . . . . . . . . . . 11  |-  ( ( ( A  +  B
)  e.  CC  /\  ( C  +  D
)  e.  CC  /\  ( C  -  D
)  e.  CC )  ->  ( ( ( A  +  B )  +  ( C  +  D ) )  +  ( C  -  D
) )  =  ( ( A  +  B
)  +  ( ( C  +  D )  +  ( C  -  D ) ) ) )
6462, 63syl 16 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( A  +  B )  +  ( C  +  D
) )  +  ( C  -  D ) )  =  ( ( A  +  B )  +  ( ( C  +  D )  +  ( C  -  D
) ) ) )
65 oveq1 6093 . . . . . . . . . . 11  |-  ( ( ( A  +  B
)  +  ( C  +  D ) )  =  pi  ->  (
( ( A  +  B )  +  ( C  +  D ) )  +  ( C  -  D ) )  =  ( pi  +  ( C  -  D
) ) )
66653ad2ant3 1011 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( A  +  B )  +  ( C  +  D
) )  +  ( C  -  D ) )  =  ( pi  +  ( C  -  D ) ) )
67 simpl 457 . . . . . . . . . . . . . 14  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  C  e.  CC )
68 simpr 461 . . . . . . . . . . . . . 14  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  D  e.  CC )
6967, 68, 673jca 1168 . . . . . . . . . . . . 13  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( C  e.  CC  /\  D  e.  CC  /\  C  e.  CC )
)
70693ad2ant2 1010 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( C  e.  CC  /\  D  e.  CC  /\  C  e.  CC )
)
71 ppncan 9643 . . . . . . . . . . . . 13  |-  ( ( C  e.  CC  /\  D  e.  CC  /\  C  e.  CC )  ->  (
( C  +  D
)  +  ( C  -  D ) )  =  ( C  +  C ) )
7271oveq2d 6102 . . . . . . . . . . . 12  |-  ( ( C  e.  CC  /\  D  e.  CC  /\  C  e.  CC )  ->  (
( A  +  B
)  +  ( ( C  +  D )  +  ( C  -  D ) ) )  =  ( ( A  +  B )  +  ( C  +  C
) ) )
7370, 72syl 16 . . . . . . . . . . 11  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  B )  +  ( ( C  +  D
)  +  ( C  -  D ) ) )  =  ( ( A  +  B )  +  ( C  +  C ) ) )
74 simp1 988 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( A  e.  CC  /\  B  e.  CC ) )
7567, 67jca 532 . . . . . . . . . . . . 13  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( C  e.  CC  /\  C  e.  CC ) )
76753ad2ant2 1010 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( C  e.  CC  /\  C  e.  CC ) )
77 add4 9577 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  C  e.  CC ) )  -> 
( ( A  +  B )  +  ( C  +  C ) )  =  ( ( A  +  C )  +  ( B  +  C ) ) )
7874, 76, 77syl2anc 661 . . . . . . . . . . 11  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  B )  +  ( C  +  C ) )  =  ( ( A  +  C )  +  ( B  +  C ) ) )
79 addcl 9356 . . . . . . . . . . . . . . 15  |-  ( ( A  e.  CC  /\  C  e.  CC )  ->  ( A  +  C
)  e.  CC )
8079ad2ant2r 746 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( A  +  C
)  e.  CC )
81 addcl 9356 . . . . . . . . . . . . . . 15  |-  ( ( B  e.  CC  /\  C  e.  CC )  ->  ( B  +  C
)  e.  CC )
8281ad2ant2lr 747 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( B  +  C
)  e.  CC )
8380, 82jca 532 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( ( A  +  C )  e.  CC  /\  ( B  +  C
)  e.  CC ) )
84833adant3 1008 . . . . . . . . . . . 12  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  C )  e.  CC  /\  ( B  +  C
)  e.  CC ) )
85 addcom 9547 . . . . . . . . . . . 12  |-  ( ( ( A  +  C
)  e.  CC  /\  ( B  +  C
)  e.  CC )  ->  ( ( A  +  C )  +  ( B  +  C
) )  =  ( ( B  +  C
)  +  ( A  +  C ) ) )
8684, 85syl 16 . . . . . . . . . . 11  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  C )  +  ( B  +  C ) )  =  ( ( B  +  C )  +  ( A  +  C ) ) )
8773, 78, 863eqtrd 2474 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  B )  +  ( ( C  +  D
)  +  ( C  -  D ) ) )  =  ( ( B  +  C )  +  ( A  +  C ) ) )
8864, 66, 873eqtr3rd 2479 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( B  +  C )  +  ( A  +  C ) )  =  ( pi  +  ( C  -  D ) ) )
89 picn 21902 . . . . . . . . . . 11  |-  pi  e.  CC
90 addcom 9547 . . . . . . . . . . 11  |-  ( ( pi  e.  CC  /\  ( C  -  D
)  e.  CC )  ->  ( pi  +  ( C  -  D
) )  =  ( ( C  -  D
)  +  pi ) )
9189, 28, 90sylancr 663 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( pi  +  ( C  -  D ) )  =  ( ( C  -  D )  +  pi ) )
92913adant3 1008 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( pi  +  ( C  -  D ) )  =  ( ( C  -  D )  +  pi ) )
9388, 92eqtrd 2470 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( B  +  C )  +  ( A  +  C ) )  =  ( ( C  -  D )  +  pi ) )
9493fveq2d 5690 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  (
( B  +  C
)  +  ( A  +  C ) ) )  =  ( cos `  ( ( C  -  D )  +  pi ) ) )
95 cosppi 21932 . . . . . . . . 9  |-  ( ( C  -  D )  e.  CC  ->  ( cos `  ( ( C  -  D )  +  pi ) )  = 
-u ( cos `  ( C  -  D )
) )
9628, 95syl 16 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  (
( C  -  D
)  +  pi ) )  =  -u ( cos `  ( C  -  D ) ) )
97963adant3 1008 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  (
( C  -  D
)  +  pi ) )  =  -u ( cos `  ( C  -  D ) ) )
9894, 97eqtrd 2470 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  (
( B  +  C
)  +  ( A  +  C ) ) )  =  -u ( cos `  ( C  -  D ) ) )
9959, 98oveq12d 6104 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  (
( B  +  C
)  -  ( A  +  C ) ) )  -  ( cos `  ( ( B  +  C )  +  ( A  +  C ) ) ) )  =  ( ( cos `  ( B  -  A )
)  -  -u ( cos `  ( C  -  D ) ) ) )
100 subcl 9601 . . . . . . . . . 10  |-  ( ( B  e.  CC  /\  A  e.  CC )  ->  ( B  -  A
)  e.  CC )
101100ancoms 453 . . . . . . . . 9  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( B  -  A
)  e.  CC )
102101adantr 465 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( B  -  A
)  e.  CC )
103102coscld 13407 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  ( B  -  A )
)  e.  CC )
104103, 29subnegd 9718 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( ( cos `  ( B  -  A )
)  -  -u ( cos `  ( C  -  D ) ) )  =  ( ( cos `  ( B  -  A
) )  +  ( cos `  ( C  -  D ) ) ) )
1051043adant3 1008 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( B  -  A )
)  -  -u ( cos `  ( C  -  D ) ) )  =  ( ( cos `  ( B  -  A
) )  +  ( cos `  ( C  -  D ) ) ) )
10699, 105eqtrd 2470 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  (
( B  +  C
)  -  ( A  +  C ) ) )  -  ( cos `  ( ( B  +  C )  +  ( A  +  C ) ) ) )  =  ( ( cos `  ( B  -  A )
)  +  ( cos `  ( C  -  D
) ) ) )
107106oveq1d 6101 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( cos `  ( ( B  +  C )  -  ( A  +  C )
) )  -  ( cos `  ( ( B  +  C )  +  ( A  +  C
) ) ) )  /  2 )  =  ( ( ( cos `  ( B  -  A
) )  +  ( cos `  ( C  -  D ) ) )  /  2 ) )
108 sinmul 13448 . . . . 5  |-  ( ( ( B  +  C
)  e.  CC  /\  ( A  +  C
)  e.  CC )  ->  ( ( sin `  ( B  +  C
) )  x.  ( sin `  ( A  +  C ) ) )  =  ( ( ( cos `  ( ( B  +  C )  -  ( A  +  C ) ) )  -  ( cos `  (
( B  +  C
)  +  ( A  +  C ) ) ) )  /  2
) )
10982, 80, 108syl2anc 661 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( ( sin `  ( B  +  C )
)  x.  ( sin `  ( A  +  C
) ) )  =  ( ( ( cos `  ( ( B  +  C )  -  ( A  +  C )
) )  -  ( cos `  ( ( B  +  C )  +  ( A  +  C
) ) ) )  /  2 ) )
1101093adant3 1008 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( sin `  ( B  +  C )
)  x.  ( sin `  ( A  +  C
) ) )  =  ( ( ( cos `  ( ( B  +  C )  -  ( A  +  C )
) )  -  ( cos `  ( ( B  +  C )  +  ( A  +  C
) ) ) )  /  2 ) )
111 cosneg 13423 . . . . . . . 8  |-  ( ( A  -  B )  e.  CC  ->  ( cos `  -u ( A  -  B ) )  =  ( cos `  ( A  -  B )
) )
11236, 111syl 16 . . . . . . 7  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( cos `  -u ( A  -  B )
)  =  ( cos `  ( A  -  B
) ) )
113 negsubdi2 9660 . . . . . . . 8  |-  ( ( A  e.  CC  /\  B  e.  CC )  -> 
-u ( A  -  B )  =  ( B  -  A ) )
114113fveq2d 5690 . . . . . . 7  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( cos `  -u ( A  -  B )
)  =  ( cos `  ( B  -  A
) ) )
115112, 114eqtr3d 2472 . . . . . 6  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( cos `  ( A  -  B )
)  =  ( cos `  ( B  -  A
) ) )
1161153ad2ant1 1009 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( A  -  B )
)  =  ( cos `  ( B  -  A
) ) )
117116oveq1d 6101 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( cos `  ( A  -  B )
)  +  ( cos `  ( C  -  D
) ) )  =  ( ( cos `  ( B  -  A )
)  +  ( cos `  ( C  -  D
) ) ) )
118117oveq1d 6101 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( cos `  ( A  -  B
) )  +  ( cos `  ( C  -  D ) ) )  /  2 )  =  ( ( ( cos `  ( B  -  A ) )  +  ( cos `  ( C  -  D )
) )  /  2
) )
119107, 110, 1183eqtr4d 2480 . 2  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( sin `  ( B  +  C )
)  x.  ( sin `  ( A  +  C
) ) )  =  ( ( ( cos `  ( A  -  B
) )  +  ( cos `  ( C  -  D ) ) )  /  2 ) )
12048, 53, 1193eqtr4d 2480 1  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( ( sin `  A )  x.  ( sin `  B ) )  +  ( ( sin `  C )  x.  ( sin `  D ) ) )  =  ( ( sin `  ( B  +  C ) )  x.  ( sin `  ( A  +  C )
) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 369    /\ w3a 965    = wceq 1369    e. wcel 1756    =/= wne 2601   ` cfv 5413  (class class class)co 6086   CCcc 9272   0cc0 9274    + caddc 9277    x. cmul 9279    - cmin 9587   -ucneg 9588    / cdiv 9985   2c2 10363   sincsin 13341   cosccos 13342   picpi 13344
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2419  ax-rep 4398  ax-sep 4408  ax-nul 4416  ax-pow 4465  ax-pr 4526  ax-un 6367  ax-inf2 7839  ax-cnex 9330  ax-resscn 9331  ax-1cn 9332  ax-icn 9333  ax-addcl 9334  ax-addrcl 9335  ax-mulcl 9336  ax-mulrcl 9337  ax-mulcom 9338  ax-addass 9339  ax-mulass 9340  ax-distr 9341  ax-i2m1 9342  ax-1ne0 9343  ax-1rid 9344  ax-rnegex 9345  ax-rrecex 9346  ax-cnre 9347  ax-pre-lttri 9348  ax-pre-lttrn 9349  ax-pre-ltadd 9350  ax-pre-mulgt0 9351  ax-pre-sup 9352  ax-addf 9353  ax-mulf 9354
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-fal 1375  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2256  df-mo 2257  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2715  df-rex 2716  df-reu 2717  df-rmo 2718  df-rab 2719  df-v 2969  df-sbc 3182  df-csb 3284  df-dif 3326  df-un 3328  df-in 3330  df-ss 3337  df-pss 3339  df-nul 3633  df-if 3787  df-pw 3857  df-sn 3873  df-pr 3875  df-tp 3877  df-op 3879  df-uni 4087  df-int 4124  df-iun 4168  df-iin 4169  df-br 4288  df-opab 4346  df-mpt 4347  df-tr 4381  df-eprel 4627  df-id 4631  df-po 4636  df-so 4637  df-fr 4674  df-se 4675  df-we 4676  df-ord 4717  df-on 4718  df-lim 4719  df-suc 4720  df-xp 4841  df-rel 4842  df-cnv 4843  df-co 4844  df-dm 4845  df-rn 4846  df-res 4847  df-ima 4848  df-iota 5376  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-isom 5422  df-riota 6047  df-ov 6089  df-oprab 6090  df-mpt2 6091  df-of 6315  df-om 6472  df-1st 6572  df-2nd 6573  df-supp 6686  df-recs 6824  df-rdg 6858  df-1o 6912  df-2o 6913  df-oadd 6916  df-er 7093  df-map 7208  df-pm 7209  df-ixp 7256  df-en 7303  df-dom 7304  df-sdom 7305  df-fin 7306  df-fsupp 7613  df-fi 7653  df-sup 7683  df-oi 7716  df-card 8101  df-cda 8329  df-pnf 9412  df-mnf 9413  df-xr 9414  df-ltxr 9415  df-le 9416  df-sub 9589  df-neg 9590  df-div 9986  df-nn 10315  df-2 10372  df-3 10373  df-4 10374  df-5 10375  df-6 10376  df-7 10377  df-8 10378  df-9 10379  df-10 10380  df-n0 10572  df-z 10639  df-dec 10748  df-uz 10854  df-q 10946  df-rp 10984  df-xneg 11081  df-xadd 11082  df-xmul 11083  df-ioo 11296  df-ioc 11297  df-ico 11298  df-icc 11299  df-fz 11430  df-fzo 11541  df-fl 11634  df-seq 11799  df-exp 11858  df-fac 12044  df-bc 12071  df-hash 12096  df-shft 12548  df-cj 12580  df-re 12581  df-im 12582  df-sqr 12716  df-abs 12717  df-limsup 12941  df-clim 12958  df-rlim 12959  df-sum 13156  df-ef 13345  df-sin 13347  df-cos 13348  df-pi 13350  df-struct 14168  df-ndx 14169  df-slot 14170  df-base 14171  df-sets 14172  df-ress 14173  df-plusg 14243  df-mulr 14244  df-starv 14245  df-sca 14246  df-vsca 14247  df-ip 14248  df-tset 14249  df-ple 14250  df-ds 14252  df-unif 14253  df-hom 14254  df-cco 14255  df-rest 14353  df-topn 14354  df-0g 14372  df-gsum 14373  df-topgen 14374  df-pt 14375  df-prds 14378  df-xrs 14432  df-qtop 14437  df-imas 14438  df-xps 14440  df-mre 14516  df-mrc 14517  df-acs 14519  df-mnd 15407  df-submnd 15457  df-mulg 15539  df-cntz 15826  df-cmn 16270  df-psmet 17789  df-xmet 17790  df-met 17791  df-bl 17792  df-mopn 17793  df-fbas 17794  df-fg 17795  df-cnfld 17799  df-top 18483  df-bases 18485  df-topon 18486  df-topsp 18487  df-cld 18603  df-ntr 18604  df-cls 18605  df-nei 18682  df-lp 18720  df-perf 18721  df-cn 18811  df-cnp 18812  df-haus 18899  df-tx 19115  df-hmeo 19308  df-fil 19399  df-fm 19491  df-flim 19492  df-flf 19493  df-xms 19875  df-ms 19876  df-tms 19877  df-cncf 20434  df-limc 21321  df-dv 21322
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator