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

Theorem lawcos 23610
Description: Law of cosines (also known as the Al-Kashi theorem or the generalized Pythagorean theorem, or the cosine formula or cosine rule). Given three distinct points A, B, and C, prove a relationship between their segment lengths. This theorem is expressed using the complex number plane as a plane, where  F is the signed angle construct (as used in ang180 23608),  X is the distance of line segment BC,  Y is the distance of line segment AC,  Z is the distance of line segment AB, and  O is the signed angle m/_ BCA on the complex plane. We translate triangle ABC to move C to the origin (C-C), B to U=(B-C), and A to V=(A-C), then use lemma lawcoslem1 23609 to prove this algebraically simpler case. The metamath convention is to use a signed angle; in this case the sign doesn't matter because we use the cosine of the angle (see cosneg 14179). The Pythagorean theorem pythag 23611 is a special case of the law of cosines. The theorem's expression and approach were suggested by Mario Carneiro. This is Metamath 100 proof #94. (Contributed by David A. Wheeler, 12-Jun-2015.)
Hypotheses
Ref Expression
lawcos.1  |-  F  =  ( x  e.  ( CC  \  { 0 } ) ,  y  e.  ( CC  \  { 0 } ) 
|->  ( Im `  ( log `  ( y  /  x ) ) ) )
lawcos.2  |-  X  =  ( abs `  ( B  -  C )
)
lawcos.3  |-  Y  =  ( abs `  ( A  -  C )
)
lawcos.4  |-  Z  =  ( abs `  ( A  -  B )
)
lawcos.5  |-  O  =  ( ( B  -  C ) F ( A  -  C ) )
Assertion
Ref Expression
lawcos  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( Z ^ 2 )  =  ( ( ( X ^ 2 )  +  ( Y ^ 2 ) )  -  (
2  x.  ( ( X  x.  Y )  x.  ( cos `  O
) ) ) ) )
Distinct variable groups:    x, y, A    x, B, y    x, C, y
Allowed substitution hints:    F( x, y)    O( x, y)    X( x, y)    Y( x, y)    Z( x, y)

Proof of Theorem lawcos
StepHypRef Expression
1 subcl 9873 . . . . 5  |-  ( ( A  e.  CC  /\  C  e.  CC )  ->  ( A  -  C
)  e.  CC )
213adant2 1024 . . . 4  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  ( A  -  C )  e.  CC )
32adantr 466 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( A  -  C )  e.  CC )
4 subcl 9873 . . . . 5  |-  ( ( B  e.  CC  /\  C  e.  CC )  ->  ( B  -  C
)  e.  CC )
543adant1 1023 . . . 4  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  ( B  -  C )  e.  CC )
65adantr 466 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( B  -  C )  e.  CC )
7 subeq0 9899 . . . . . . . 8  |-  ( ( A  e.  CC  /\  C  e.  CC )  ->  ( ( A  -  C )  =  0  <-> 
A  =  C ) )
87necon3bid 2689 . . . . . . 7  |-  ( ( A  e.  CC  /\  C  e.  CC )  ->  ( ( A  -  C )  =/=  0  <->  A  =/=  C ) )
98bicomd 204 . . . . . 6  |-  ( ( A  e.  CC  /\  C  e.  CC )  ->  ( A  =/=  C  <->  ( A  -  C )  =/=  0 ) )
1093adant2 1024 . . . . 5  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  ( A  =/=  C  <->  ( A  -  C )  =/=  0
) )
1110biimpa 486 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  A  =/=  C
)  ->  ( A  -  C )  =/=  0
)
1211adantrr 721 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( A  -  C )  =/=  0 )
13 subeq0 9899 . . . . . . . 8  |-  ( ( B  e.  CC  /\  C  e.  CC )  ->  ( ( B  -  C )  =  0  <-> 
B  =  C ) )
1413necon3bid 2689 . . . . . . 7  |-  ( ( B  e.  CC  /\  C  e.  CC )  ->  ( ( B  -  C )  =/=  0  <->  B  =/=  C ) )
1514bicomd 204 . . . . . 6  |-  ( ( B  e.  CC  /\  C  e.  CC )  ->  ( B  =/=  C  <->  ( B  -  C )  =/=  0 ) )
16153adant1 1023 . . . . 5  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  ( B  =/=  C  <->  ( B  -  C )  =/=  0
) )
1716biimpa 486 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  B  =/=  C
)  ->  ( B  -  C )  =/=  0
)
1817adantrl 720 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( B  -  C )  =/=  0 )
193, 6, 12, 18lawcoslem1 23609 . 2  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( abs `  (
( A  -  C
)  -  ( B  -  C ) ) ) ^ 2 )  =  ( ( ( ( abs `  ( A  -  C )
) ^ 2 )  +  ( ( abs `  ( B  -  C
) ) ^ 2 ) )  -  (
2  x.  ( ( ( abs `  ( A  -  C )
)  x.  ( abs `  ( B  -  C
) ) )  x.  ( ( Re `  ( ( A  -  C )  /  ( B  -  C )
) )  /  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) ) ) ) ) ) )
20 nnncan2 9910 . . . . . 6  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  (
( A  -  C
)  -  ( B  -  C ) )  =  ( A  -  B ) )
2120fveq2d 5885 . . . . 5  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  ( abs `  ( ( A  -  C )  -  ( B  -  C
) ) )  =  ( abs `  ( A  -  B )
) )
22 lawcos.4 . . . . 5  |-  Z  =  ( abs `  ( A  -  B )
)
2321, 22syl6reqr 2489 . . . 4  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  Z  =  ( abs `  (
( A  -  C
)  -  ( B  -  C ) ) ) )
2423oveq1d 6320 . . 3  |-  ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  ->  ( Z ^ 2 )  =  ( ( abs `  (
( A  -  C
)  -  ( B  -  C ) ) ) ^ 2 ) )
2524adantr 466 . 2  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( Z ^ 2 )  =  ( ( abs `  (
( A  -  C
)  -  ( B  -  C ) ) ) ^ 2 ) )
263abscld 13476 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( abs `  ( A  -  C ) )  e.  RR )
2726recnd 9668 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( abs `  ( A  -  C ) )  e.  CC )
2827sqcld 12411 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( abs `  ( A  -  C )
) ^ 2 )  e.  CC )
296abscld 13476 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( abs `  ( B  -  C ) )  e.  RR )
3029recnd 9668 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( abs `  ( B  -  C ) )  e.  CC )
3130sqcld 12411 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( abs `  ( B  -  C )
) ^ 2 )  e.  CC )
3228, 31addcomd 9834 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( ( abs `  ( A  -  C )
) ^ 2 )  +  ( ( abs `  ( B  -  C
) ) ^ 2 ) )  =  ( ( ( abs `  ( B  -  C )
) ^ 2 )  +  ( ( abs `  ( A  -  C
) ) ^ 2 ) ) )
33 lawcos.2 . . . . . 6  |-  X  =  ( abs `  ( B  -  C )
)
3433oveq1i 6315 . . . . 5  |-  ( X ^ 2 )  =  ( ( abs `  ( B  -  C )
) ^ 2 )
35 lawcos.3 . . . . . 6  |-  Y  =  ( abs `  ( A  -  C )
)
3635oveq1i 6315 . . . . 5  |-  ( Y ^ 2 )  =  ( ( abs `  ( A  -  C )
) ^ 2 )
3734, 36oveq12i 6317 . . . 4  |-  ( ( X ^ 2 )  +  ( Y ^
2 ) )  =  ( ( ( abs `  ( B  -  C
) ) ^ 2 )  +  ( ( abs `  ( A  -  C ) ) ^ 2 ) )
3832, 37syl6reqr 2489 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( X ^ 2 )  +  ( Y ^ 2 ) )  =  ( ( ( abs `  ( A  -  C ) ) ^ 2 )  +  ( ( abs `  ( B  -  C )
) ^ 2 ) ) )
3927, 30mulcomd 9663 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( abs `  ( A  -  C )
)  x.  ( abs `  ( B  -  C
) ) )  =  ( ( abs `  ( B  -  C )
)  x.  ( abs `  ( A  -  C
) ) ) )
4033, 35oveq12i 6317 . . . . . 6  |-  ( X  x.  Y )  =  ( ( abs `  ( B  -  C )
)  x.  ( abs `  ( A  -  C
) ) )
4139, 40syl6reqr 2489 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( X  x.  Y )  =  ( ( abs `  ( A  -  C
) )  x.  ( abs `  ( B  -  C ) ) ) )
42 lawcos.5 . . . . . . . . 9  |-  O  =  ( ( B  -  C ) F ( A  -  C ) )
4342fveq2i 5884 . . . . . . . 8  |-  ( cos `  O )  =  ( cos `  ( ( B  -  C ) F ( A  -  C ) ) )
44 lawcos.1 . . . . . . . . . 10  |-  F  =  ( x  e.  ( CC  \  { 0 } ) ,  y  e.  ( CC  \  { 0 } ) 
|->  ( Im `  ( log `  ( y  /  x ) ) ) )
4544, 6, 18, 3, 12angvald 23598 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( B  -  C
) F ( A  -  C ) )  =  ( Im `  ( log `  ( ( A  -  C )  /  ( B  -  C ) ) ) ) )
4645fveq2d 5885 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( cos `  ( ( B  -  C ) F ( A  -  C
) ) )  =  ( cos `  (
Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) ) ) )
4743, 46syl5eq 2482 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( cos `  O )  =  ( cos `  (
Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) ) ) )
483, 6, 18divcld 10382 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( A  -  C
)  /  ( B  -  C ) )  e.  CC )
493, 6, 12, 18divne0d 10398 . . . . . . . . . 10  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( A  -  C
)  /  ( B  -  C ) )  =/=  0 )
5048, 49logcld 23385 . . . . . . . . 9  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( log `  ( ( A  -  C )  / 
( B  -  C
) ) )  e.  CC )
5150imcld 13237 . . . . . . . 8  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) )  e.  RR )
52 recosval 14168 . . . . . . . 8  |-  ( ( Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) )  e.  RR  ->  ( cos `  ( Im `  ( log `  ( ( A  -  C )  / 
( B  -  C
) ) ) ) )  =  ( Re
`  ( exp `  (
_i  x.  ( Im `  ( log `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) ) ) ) )
5351, 52syl 17 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( cos `  ( Im `  ( log `  ( ( A  -  C )  /  ( B  -  C ) ) ) ) )  =  ( Re `  ( exp `  ( _i  x.  (
Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) ) ) ) ) )
5447, 53eqtrd 2470 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( cos `  O )  =  ( Re `  ( exp `  ( _i  x.  ( Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) ) ) ) ) )
55 efiarg 23421 . . . . . . . 8  |-  ( ( ( ( A  -  C )  /  ( B  -  C )
)  e.  CC  /\  ( ( A  -  C )  /  ( B  -  C )
)  =/=  0 )  ->  ( exp `  (
_i  x.  ( Im `  ( log `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) ) )  =  ( ( ( A  -  C )  /  ( B  -  C ) )  / 
( abs `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) )
5648, 49, 55syl2anc 665 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( exp `  ( _i  x.  ( Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) ) ) )  =  ( ( ( A  -  C
)  /  ( B  -  C ) )  /  ( abs `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) )
5756fveq2d 5885 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
Re `  ( exp `  ( _i  x.  (
Im `  ( log `  ( ( A  -  C )  /  ( B  -  C )
) ) ) ) ) )  =  ( Re `  ( ( ( A  -  C
)  /  ( B  -  C ) )  /  ( abs `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) ) )
5848abscld 13476 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) )  e.  RR )
5948, 49absne0d 13487 . . . . . . 7  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) )  =/=  0 )
6058, 48, 59redivd 13271 . . . . . 6  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
Re `  ( (
( A  -  C
)  /  ( B  -  C ) )  /  ( abs `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) )  =  ( ( Re `  ( ( A  -  C )  /  ( B  -  C )
) )  /  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) ) ) )
6154, 57, 603eqtrd 2474 . . . . 5  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( cos `  O )  =  ( ( Re `  ( ( A  -  C )  /  ( B  -  C )
) )  /  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) ) ) )
6241, 61oveq12d 6323 . . . 4  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( X  x.  Y
)  x.  ( cos `  O ) )  =  ( ( ( abs `  ( A  -  C
) )  x.  ( abs `  ( B  -  C ) ) )  x.  ( ( Re
`  ( ( A  -  C )  / 
( B  -  C
) ) )  / 
( abs `  (
( A  -  C
)  /  ( B  -  C ) ) ) ) ) )
6362oveq2d 6321 . . 3  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
2  x.  ( ( X  x.  Y )  x.  ( cos `  O
) ) )  =  ( 2  x.  (
( ( abs `  ( A  -  C )
)  x.  ( abs `  ( B  -  C
) ) )  x.  ( ( Re `  ( ( A  -  C )  /  ( B  -  C )
) )  /  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) ) ) ) ) )
6438, 63oveq12d 6323 . 2  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  (
( ( X ^
2 )  +  ( Y ^ 2 ) )  -  ( 2  x.  ( ( X  x.  Y )  x.  ( cos `  O
) ) ) )  =  ( ( ( ( abs `  ( A  -  C )
) ^ 2 )  +  ( ( abs `  ( B  -  C
) ) ^ 2 ) )  -  (
2  x.  ( ( ( abs `  ( A  -  C )
)  x.  ( abs `  ( B  -  C
) ) )  x.  ( ( Re `  ( ( A  -  C )  /  ( B  -  C )
) )  /  ( abs `  ( ( A  -  C )  / 
( B  -  C
) ) ) ) ) ) ) )
6519, 25, 643eqtr4d 2480 1  |-  ( ( ( A  e.  CC  /\  B  e.  CC  /\  C  e.  CC )  /\  ( A  =/=  C  /\  B  =/=  C
) )  ->  ( Z ^ 2 )  =  ( ( ( X ^ 2 )  +  ( Y ^ 2 ) )  -  (
2  x.  ( ( X  x.  Y )  x.  ( cos `  O
) ) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 187    /\ wa 370    /\ w3a 982    = wceq 1437    e. wcel 1870    =/= wne 2625    \ cdif 3439   {csn 4002   ` cfv 5601  (class class class)co 6305    |-> cmpt2 6307   CCcc 9536   RRcr 9537   0cc0 9538   _ici 9540    + caddc 9541    x. cmul 9543    - cmin 9859    / cdiv 10268   2c2 10659   ^cexp 12269   Recre 13139   Imcim 13140   abscabs 13276   expce 14092   cosccos 14095   logclog 23369
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-rep 4538  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-inf2 8146  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615  ax-pre-sup 9616  ax-addf 9617  ax-mulf 9618
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-fal 1443  df-ex 1660  df-nf 1664  df-sb 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rmo 2790  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-iin 4305  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-se 4814  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-isom 5610  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-of 6545  df-om 6707  df-1st 6807  df-2nd 6808  df-supp 6926  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-2o 7191  df-oadd 7194  df-er 7371  df-map 7482  df-pm 7483  df-ixp 7531  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-fsupp 7890  df-fi 7931  df-sup 7962  df-inf 7963  df-oi 8025  df-card 8372  df-cda 8596  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-div 10269  df-nn 10610  df-2 10668  df-3 10669  df-4 10670  df-5 10671  df-6 10672  df-7 10673  df-8 10674  df-9 10675  df-10 10676  df-n0 10870  df-z 10938  df-dec 11052  df-uz 11160  df-q 11265  df-rp 11303  df-xneg 11409  df-xadd 11410  df-xmul 11411  df-ioo 11639  df-ioc 11640  df-ico 11641  df-icc 11642  df-fz 11783  df-fzo 11914  df-fl 12025  df-mod 12094  df-seq 12211  df-exp 12270  df-fac 12457  df-bc 12485  df-hash 12513  df-shft 13109  df-cj 13141  df-re 13142  df-im 13143  df-sqrt 13277  df-abs 13278  df-limsup 13504  df-clim 13530  df-rlim 13531  df-sum 13731  df-ef 14099  df-sin 14101  df-cos 14102  df-pi 14104  df-struct 15086  df-ndx 15087  df-slot 15088  df-base 15089  df-sets 15090  df-ress 15091  df-plusg 15165  df-mulr 15166  df-starv 15167  df-sca 15168  df-vsca 15169  df-ip 15170  df-tset 15171  df-ple 15172  df-ds 15174  df-unif 15175  df-hom 15176  df-cco 15177  df-rest 15280  df-topn 15281  df-0g 15299  df-gsum 15300  df-topgen 15301  df-pt 15302  df-prds 15305  df-xrs 15359  df-qtop 15364  df-imas 15365  df-xps 15367  df-mre 15443  df-mrc 15444  df-acs 15446  df-mgm 16439  df-sgrp 16478  df-mnd 16488  df-submnd 16534  df-mulg 16627  df-cntz 16922  df-cmn 17367  df-psmet 18897  df-xmet 18898  df-met 18899  df-bl 18900  df-mopn 18901  df-fbas 18902  df-fg 18903  df-cnfld 18906  df-top 19852  df-bases 19853  df-topon 19854  df-topsp 19855  df-cld 19965  df-ntr 19966  df-cls 19967  df-nei 20045  df-lp 20083  df-perf 20084  df-cn 20174  df-cnp 20175  df-haus 20262  df-tx 20508  df-hmeo 20701  df-fil 20792  df-fm 20884  df-flim 20885  df-flf 20886  df-xms 21266  df-ms 21267  df-tms 21268  df-cncf 21806  df-limc 22698  df-dv 22699  df-log 23371
This theorem is referenced by:  pythag  23611  ssscongptld  23616  heron  23629
  Copyright terms: Public domain W3C validator