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

Theorem ptolemy 22619
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 13761, 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 9570 . . . . . . . . . . 11  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( C  +  D
)  e.  CC )
213ad2ant2 1018 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( C  +  D
)  e.  CC )
32coscld 13720 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( C  +  D )
)  e.  CC )
43negnegd 9917 . . . . . . . 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 9758 . . . . . . . . . . . . . . 15  |-  ( ( C  +  D )  e.  CC  ->  (
0  +  ( C  +  D ) )  =  ( C  +  D ) )
65oveq1d 6297 . . . . . . . . . . . . . 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 9585 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
0  e.  CC )
9 addcl 9570 . . . . . . . . . . . . . . . 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 1016 . . . . . . . . . . . . . 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 9964 . . . . . . . . . . . . 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 998 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( ( A  +  B )  +  ( C  +  D ) )  =  pi )
1413oveq2d 6298 . . . . . . . . . . . . 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 2517 . . . . . . . . . . . 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 9804 . . . . . . . . . . . 12  |-  -u ( A  +  B )  =  ( 0  -  ( A  +  B
) )
1715, 16syl6eqr 2526 . . . . . . . . . . 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 5868 . . . . . . . . . 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 22611 . . . . . . . . . . 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 13736 . . . . . . . . . . 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 2516 . . . . . . . . 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 9810 . . . . . . . 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 2510 . . . . . . 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 6298 . . . . . 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 9815 . . . . . . . . . 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 13720 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  ( C  -  D )
)  e.  CC )
30293adant3 1016 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( cos `  ( C  -  D )
)  e.  CC )
3111coscld 13720 . . . . . . 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 9933 . . . . . 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 2508 . . . . 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 6297 . . . 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 6298 . . 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 9815 . . . . . . . 8  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( A  -  B
)  e.  CC )
37363ad2ant1 1017 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC )  /\  (
( A  +  B
)  +  ( C  +  D ) )  =  pi )  -> 
( A  -  B
)  e.  CC )
3837coscld 13720 . . . . . 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 9926 . . . . 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 9611 . . . . 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 10746 . . . . . 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 10226 . . . . 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 1228 . . . 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 9953 . . . . 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 6297 . . . 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 2510 . . 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 2508 . 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 13761 . . . 4  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( ( sin `  A
)  x.  ( sin `  B ) )  =  ( ( ( cos `  ( A  -  B
) )  -  ( cos `  ( A  +  B ) ) )  /  2 ) )
50493ad2ant1 1017 . . 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 13761 . . . 4  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( ( sin `  C
)  x.  ( sin `  D ) )  =  ( ( ( cos `  ( C  -  D
) )  -  ( cos `  ( C  +  D ) ) )  /  2 ) )
52513ad2ant2 1018 . . 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 6300 . 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 9964 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( ( B  +  C )  -  ( A  +  C )
)  =  ( B  -  A ) )
5857fveq2d 5868 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  (
( B  +  C
)  -  ( A  +  C ) ) )  =  ( cos `  ( B  -  A
) ) )
59583adant3 1016 . . . . . 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 1176 . . . . . . . . . . . 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 1016 . . . . . . . . . . 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 9575 . . . . . . . . . . 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 6289 . . . . . . . . . . 11  |-  ( ( ( A  +  B
)  +  ( C  +  D ) )  =  pi  ->  (
( ( A  +  B )  +  ( C  +  D ) )  +  ( C  -  D ) )  =  ( pi  +  ( C  -  D
) ) )
66653ad2ant3 1019 . . . . . . . . . 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 1176 . . . . . . . . . . . . 13  |-  ( ( C  e.  CC  /\  D  e.  CC )  ->  ( C  e.  CC  /\  D  e.  CC  /\  C  e.  CC )
)
70693ad2ant2 1018 . . . . . . . . . . . 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 9857 . . . . . . . . . . . . 13  |-  ( ( C  e.  CC  /\  D  e.  CC  /\  C  e.  CC )  ->  (
( C  +  D
)  +  ( C  -  D ) )  =  ( C  +  C ) )
7271oveq2d 6298 . . . . . . . . . . . 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 996 . . . . . . . . . . . 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 1018 . . . . . . . . . . . 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 9791 . . . . . . . . . . . 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 9570 . . . . . . . . . . . . . . 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 9570 . . . . . . . . . . . . . . 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 1016 . . . . . . . . . . . 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 9761 . . . . . . . . . . . 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 2512 . . . . . . . . . 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 2517 . . . . . . . . 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 22583 . . . . . . . . . . 11  |-  pi  e.  CC
90 addcom 9761 . . . . . . . . . . 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 1016 . . . . . . . . 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 2508 . . . . . . . 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 5868 . . . . . . 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 22613 . . . . . . . . 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 1016 . . . . . . 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 2508 . . . . . 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 6300 . . . . 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 9815 . . . . . . . . . 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 13720 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC )  /\  ( C  e.  CC  /\  D  e.  CC ) )  -> 
( cos `  ( B  -  A )
)  e.  CC )
104103, 29subnegd 9933 . . . . . 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 1016 . . . . 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 2508 . . . 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 6297 . . 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 13761 . . . . 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 1016 . . 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 13736 . . . . . . . 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 9874 . . . . . . . 8  |-  ( ( A  e.  CC  /\  B  e.  CC )  -> 
-u ( A  -  B )  =  ( B  -  A ) )
114113fveq2d 5868 . . . . . . 7  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( cos `  -u ( A  -  B )
)  =  ( cos `  ( B  -  A
) ) )
115112, 114eqtr3d 2510 . . . . . 6  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( cos `  ( A  -  B )
)  =  ( cos `  ( B  -  A
) ) )
1161153ad2ant1 1017 . . . . 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 6297 . . . 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 6297 . . 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 2518 . 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 2518 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 973    = wceq 1379    e. wcel 1767    =/= wne 2662   ` cfv 5586  (class class class)co 6282   CCcc 9486   0cc0 9488    + caddc 9491    x. cmul 9493    - cmin 9801   -ucneg 9802    / cdiv 10202   2c2 10581   sincsin 13654   cosccos 13655   picpi 13657
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6574  ax-inf2 8054  ax-cnex 9544  ax-resscn 9545  ax-1cn 9546  ax-icn 9547  ax-addcl 9548  ax-addrcl 9549  ax-mulcl 9550  ax-mulrcl 9551  ax-mulcom 9552  ax-addass 9553  ax-mulass 9554  ax-distr 9555  ax-i2m1 9556  ax-1ne0 9557  ax-1rid 9558  ax-rnegex 9559  ax-rrecex 9560  ax-cnre 9561  ax-pre-lttri 9562  ax-pre-lttrn 9563  ax-pre-ltadd 9564  ax-pre-mulgt0 9565  ax-pre-sup 9566  ax-addf 9567  ax-mulf 9568
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-fal 1385  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-iin 4328  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-se 4839  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5549  df-fun 5588  df-fn 5589  df-f 5590  df-f1 5591  df-fo 5592  df-f1o 5593  df-fv 5594  df-isom 5595  df-riota 6243  df-ov 6285  df-oprab 6286  df-mpt2 6287  df-of 6522  df-om 6679  df-1st 6781  df-2nd 6782  df-supp 6899  df-recs 7039  df-rdg 7073  df-1o 7127  df-2o 7128  df-oadd 7131  df-er 7308  df-map 7419  df-pm 7420  df-ixp 7467  df-en 7514  df-dom 7515  df-sdom 7516  df-fin 7517  df-fsupp 7826  df-fi 7867  df-sup 7897  df-oi 7931  df-card 8316  df-cda 8544  df-pnf 9626  df-mnf 9627  df-xr 9628  df-ltxr 9629  df-le 9630  df-sub 9803  df-neg 9804  df-div 10203  df-nn 10533  df-2 10590  df-3 10591  df-4 10592  df-5 10593  df-6 10594  df-7 10595  df-8 10596  df-9 10597  df-10 10598  df-n0 10792  df-z 10861  df-dec 10973  df-uz 11079  df-q 11179  df-rp 11217  df-xneg 11314  df-xadd 11315  df-xmul 11316  df-ioo 11529  df-ioc 11530  df-ico 11531  df-icc 11532  df-fz 11669  df-fzo 11789  df-fl 11893  df-seq 12071  df-exp 12130  df-fac 12316  df-bc 12343  df-hash 12368  df-shft 12857  df-cj 12889  df-re 12890  df-im 12891  df-sqrt 13025  df-abs 13026  df-limsup 13250  df-clim 13267  df-rlim 13268  df-sum 13465  df-ef 13658  df-sin 13660  df-cos 13661  df-pi 13663  df-struct 14485  df-ndx 14486  df-slot 14487  df-base 14488  df-sets 14489  df-ress 14490  df-plusg 14561  df-mulr 14562  df-starv 14563  df-sca 14564  df-vsca 14565  df-ip 14566  df-tset 14567  df-ple 14568  df-ds 14570  df-unif 14571  df-hom 14572  df-cco 14573  df-rest 14671  df-topn 14672  df-0g 14690  df-gsum 14691  df-topgen 14692  df-pt 14693  df-prds 14696  df-xrs 14750  df-qtop 14755  df-imas 14756  df-xps 14758  df-mre 14834  df-mrc 14835  df-acs 14837  df-mnd 15725  df-submnd 15775  df-mulg 15858  df-cntz 16147  df-cmn 16593  df-psmet 18179  df-xmet 18180  df-met 18181  df-bl 18182  df-mopn 18183  df-fbas 18184  df-fg 18185  df-cnfld 18189  df-top 19163  df-bases 19165  df-topon 19166  df-topsp 19167  df-cld 19283  df-ntr 19284  df-cls 19285  df-nei 19362  df-lp 19400  df-perf 19401  df-cn 19491  df-cnp 19492  df-haus 19579  df-tx 19795  df-hmeo 19988  df-fil 20079  df-fm 20171  df-flim 20172  df-flf 20173  df-xms 20555  df-ms 20556  df-tms 20557  df-cncf 21114  df-limc 22002  df-dv 22003
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator