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

Theorem israg 24194
Description: Property for 3 points A, B, C to form a right angle. Definition 8.1 of [Schwabhauser] p. 57. (Contributed by Thierry Arnoux, 25-Aug-2019.)
Hypotheses
Ref Expression
israg.p  |-  P  =  ( Base `  G
)
israg.d  |-  .-  =  ( dist `  G )
israg.i  |-  I  =  (Itv `  G )
israg.l  |-  L  =  (LineG `  G )
israg.s  |-  S  =  (pInvG `  G )
israg.g  |-  ( ph  ->  G  e. TarskiG )
israg.a  |-  ( ph  ->  A  e.  P )
israg.b  |-  ( ph  ->  B  e.  P )
israg.c  |-  ( ph  ->  C  e.  P )
Assertion
Ref Expression
israg  |-  ( ph  ->  ( <" A B C ">  e.  (∟G `  G )  <->  ( A  .-  C )  =  ( A  .-  ( ( S `  B ) `
 C ) ) ) )

Proof of Theorem israg
Dummy variables  g  w are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 israg.a . . . 4  |-  ( ph  ->  A  e.  P )
2 israg.b . . . 4  |-  ( ph  ->  B  e.  P )
3 israg.c . . . 4  |-  ( ph  ->  C  e.  P )
41, 2, 3s3cld 12746 . . 3  |-  ( ph  ->  <" A B C ">  e. Word  P )
5 fveq2 5774 . . . . . 6  |-  ( w  =  <" A B C ">  ->  (
# `  w )  =  ( # `  <" A B C "> ) )
65eqeq1d 2384 . . . . 5  |-  ( w  =  <" A B C ">  ->  ( ( # `  w
)  =  3  <->  ( # `
 <" A B C "> )  =  3 ) )
7 fveq1 5773 . . . . . . 7  |-  ( w  =  <" A B C ">  ->  ( w `  0 )  =  ( <" A B C "> `  0
) )
8 fveq1 5773 . . . . . . 7  |-  ( w  =  <" A B C ">  ->  ( w `  2 )  =  ( <" A B C "> `  2
) )
97, 8oveq12d 6214 . . . . . 6  |-  ( w  =  <" A B C ">  ->  ( ( w `  0
)  .-  ( w `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) ) )
10 fveq1 5773 . . . . . . . . 9  |-  ( w  =  <" A B C ">  ->  ( w `  1 )  =  ( <" A B C "> `  1
) )
1110fveq2d 5778 . . . . . . . 8  |-  ( w  =  <" A B C ">  ->  ( S `  ( w `
 1 ) )  =  ( S `  ( <" A B C "> `  1
) ) )
1211, 8fveq12d 5780 . . . . . . 7  |-  ( w  =  <" A B C ">  ->  ( ( S `  (
w `  1 )
) `  ( w `  2 ) )  =  ( ( S `
 ( <" A B C "> `  1
) ) `  ( <" A B C "> `  2
) ) )
137, 12oveq12d 6214 . . . . . 6  |-  ( w  =  <" A B C ">  ->  ( ( w `  0
)  .-  ( ( S `  ( w `  1 ) ) `
 ( w ` 
2 ) ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) )
149, 13eqeq12d 2404 . . . . 5  |-  ( w  =  <" A B C ">  ->  ( ( ( w ` 
0 )  .-  (
w `  2 )
)  =  ( ( w `  0 ) 
.-  ( ( S `
 ( w ` 
1 ) ) `  ( w `  2
) ) )  <->  ( ( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) )
156, 14anbi12d 708 . . . 4  |-  ( w  =  <" A B C ">  ->  ( ( ( # `  w
)  =  3  /\  ( ( w ` 
0 )  .-  (
w `  2 )
)  =  ( ( w `  0 ) 
.-  ( ( S `
 ( w ` 
1 ) ) `  ( w `  2
) ) ) )  <-> 
( ( # `  <" A B C "> )  =  3  /\  ( ( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) ) )
1615elrab3 3183 . . 3  |-  ( <" A B C ">  e. Word  P  ->  ( <" A B C ">  e.  { w  e. Word  P  | 
( ( # `  w
)  =  3  /\  ( ( w ` 
0 )  .-  (
w `  2 )
)  =  ( ( w `  0 ) 
.-  ( ( S `
 ( w ` 
1 ) ) `  ( w `  2
) ) ) ) }  <->  ( ( # `  <" A B C "> )  =  3  /\  (
( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) ) )
174, 16syl 16 . 2  |-  ( ph  ->  ( <" A B C ">  e.  { w  e. Word  P  | 
( ( # `  w
)  =  3  /\  ( ( w ` 
0 )  .-  (
w `  2 )
)  =  ( ( w `  0 ) 
.-  ( ( S `
 ( w ` 
1 ) ) `  ( w `  2
) ) ) ) }  <->  ( ( # `  <" A B C "> )  =  3  /\  (
( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) ) )
18 df-rag 24191 . . . . 5  |- ∟G  =  ( g  e.  _V  |->  { w  e. Word  ( Base `  g )  |  ( ( # `  w
)  =  3  /\  ( ( w ` 
0 ) ( dist `  g ) ( w `
 2 ) )  =  ( ( w `
 0 ) (
dist `  g )
( ( (pInvG `  g ) `  (
w `  1 )
) `  ( w `  2 ) ) ) ) } )
1918a1i 11 . . . 4  |-  ( ph  -> ∟G 
=  ( g  e. 
_V  |->  { w  e. Word 
( Base `  g )  |  ( ( # `  w )  =  3  /\  ( ( w `
 0 ) (
dist `  g )
( w `  2
) )  =  ( ( w `  0
) ( dist `  g
) ( ( (pInvG `  g ) `  (
w `  1 )
) `  ( w `  2 ) ) ) ) } ) )
20 simpr 459 . . . . . . . 8  |-  ( (
ph  /\  g  =  G )  ->  g  =  G )
2120fveq2d 5778 . . . . . . 7  |-  ( (
ph  /\  g  =  G )  ->  ( Base `  g )  =  ( Base `  G
) )
22 israg.p . . . . . . 7  |-  P  =  ( Base `  G
)
2321, 22syl6eqr 2441 . . . . . 6  |-  ( (
ph  /\  g  =  G )  ->  ( Base `  g )  =  P )
24 wrdeq 12471 . . . . . 6  |-  ( (
Base `  g )  =  P  -> Word  ( Base `  g )  = Word  P
)
2523, 24syl 16 . . . . 5  |-  ( (
ph  /\  g  =  G )  -> Word  ( Base `  g )  = Word  P
)
2620fveq2d 5778 . . . . . . . . 9  |-  ( (
ph  /\  g  =  G )  ->  ( dist `  g )  =  ( dist `  G
) )
27 israg.d . . . . . . . . 9  |-  .-  =  ( dist `  G )
2826, 27syl6eqr 2441 . . . . . . . 8  |-  ( (
ph  /\  g  =  G )  ->  ( dist `  g )  = 
.-  )
2928oveqd 6213 . . . . . . 7  |-  ( (
ph  /\  g  =  G )  ->  (
( w `  0
) ( dist `  g
) ( w ` 
2 ) )  =  ( ( w ` 
0 )  .-  (
w `  2 )
) )
30 eqidd 2383 . . . . . . . 8  |-  ( (
ph  /\  g  =  G )  ->  (
w `  0 )  =  ( w ` 
0 ) )
3120fveq2d 5778 . . . . . . . . . . 11  |-  ( (
ph  /\  g  =  G )  ->  (pInvG `  g )  =  (pInvG `  G ) )
32 israg.s . . . . . . . . . . 11  |-  S  =  (pInvG `  G )
3331, 32syl6eqr 2441 . . . . . . . . . 10  |-  ( (
ph  /\  g  =  G )  ->  (pInvG `  g )  =  S )
3433fveq1d 5776 . . . . . . . . 9  |-  ( (
ph  /\  g  =  G )  ->  (
(pInvG `  g ) `  ( w `  1
) )  =  ( S `  ( w `
 1 ) ) )
3534fveq1d 5776 . . . . . . . 8  |-  ( (
ph  /\  g  =  G )  ->  (
( (pInvG `  g
) `  ( w `  1 ) ) `
 ( w ` 
2 ) )  =  ( ( S `  ( w `  1
) ) `  (
w `  2 )
) )
3628, 30, 35oveq123d 6217 . . . . . . 7  |-  ( (
ph  /\  g  =  G )  ->  (
( w `  0
) ( dist `  g
) ( ( (pInvG `  g ) `  (
w `  1 )
) `  ( w `  2 ) ) )  =  ( ( w `  0 ) 
.-  ( ( S `
 ( w ` 
1 ) ) `  ( w `  2
) ) ) )
3729, 36eqeq12d 2404 . . . . . 6  |-  ( (
ph  /\  g  =  G )  ->  (
( ( w ` 
0 ) ( dist `  g ) ( w `
 2 ) )  =  ( ( w `
 0 ) (
dist `  g )
( ( (pInvG `  g ) `  (
w `  1 )
) `  ( w `  2 ) ) )  <->  ( ( w `
 0 )  .-  ( w `  2
) )  =  ( ( w `  0
)  .-  ( ( S `  ( w `  1 ) ) `
 ( w ` 
2 ) ) ) ) )
3837anbi2d 701 . . . . 5  |-  ( (
ph  /\  g  =  G )  ->  (
( ( # `  w
)  =  3  /\  ( ( w ` 
0 ) ( dist `  g ) ( w `
 2 ) )  =  ( ( w `
 0 ) (
dist `  g )
( ( (pInvG `  g ) `  (
w `  1 )
) `  ( w `  2 ) ) ) )  <->  ( ( # `
 w )  =  3  /\  ( ( w `  0 ) 
.-  ( w ` 
2 ) )  =  ( ( w ` 
0 )  .-  (
( S `  (
w `  1 )
) `  ( w `  2 ) ) ) ) ) )
3925, 38rabeqbidv 3029 . . . 4  |-  ( (
ph  /\  g  =  G )  ->  { w  e. Word  ( Base `  g
)  |  ( (
# `  w )  =  3  /\  (
( w `  0
) ( dist `  g
) ( w ` 
2 ) )  =  ( ( w ` 
0 ) ( dist `  g ) ( ( (pInvG `  g ) `  ( w `  1
) ) `  (
w `  2 )
) ) ) }  =  { w  e. Word  P  |  ( ( # `
 w )  =  3  /\  ( ( w `  0 ) 
.-  ( w ` 
2 ) )  =  ( ( w ` 
0 )  .-  (
( S `  (
w `  1 )
) `  ( w `  2 ) ) ) ) } )
40 israg.g . . . . 5  |-  ( ph  ->  G  e. TarskiG )
41 elex 3043 . . . . 5  |-  ( G  e. TarskiG  ->  G  e.  _V )
4240, 41syl 16 . . . 4  |-  ( ph  ->  G  e.  _V )
43 fvex 5784 . . . . . . . 8  |-  ( Base `  G )  e.  _V
4422, 43eqeltri 2466 . . . . . . 7  |-  P  e. 
_V
45 wrdexg 12464 . . . . . . 7  |-  ( P  e.  _V  -> Word  P  e. 
_V )
4644, 45ax-mp 5 . . . . . 6  |- Word  P  e. 
_V
4746rabex 4516 . . . . 5  |-  { w  e. Word  P  |  ( (
# `  w )  =  3  /\  (
( w `  0
)  .-  ( w `  2 ) )  =  ( ( w `
 0 )  .-  ( ( S `  ( w `  1
) ) `  (
w `  2 )
) ) ) }  e.  _V
4847a1i 11 . . . 4  |-  ( ph  ->  { w  e. Word  P  |  ( ( # `  w )  =  3  /\  ( ( w `
 0 )  .-  ( w `  2
) )  =  ( ( w `  0
)  .-  ( ( S `  ( w `  1 ) ) `
 ( w ` 
2 ) ) ) ) }  e.  _V )
4919, 39, 42, 48fvmptd 5862 . . 3  |-  ( ph  ->  (∟G `  G )  =  { w  e. Word  P  |  ( ( # `  w )  =  3  /\  ( ( w `
 0 )  .-  ( w `  2
) )  =  ( ( w `  0
)  .-  ( ( S `  ( w `  1 ) ) `
 ( w ` 
2 ) ) ) ) } )
5049eleq2d 2452 . 2  |-  ( ph  ->  ( <" A B C ">  e.  (∟G `  G )  <->  <" A B C ">  e.  { w  e. Word  P  | 
( ( # `  w
)  =  3  /\  ( ( w ` 
0 )  .-  (
w `  2 )
)  =  ( ( w `  0 ) 
.-  ( ( S `
 ( w ` 
1 ) ) `  ( w `  2
) ) ) ) } ) )
51 s3fv0 12764 . . . . . . 7  |-  ( A  e.  P  ->  ( <" A B C "> `  0
)  =  A )
521, 51syl 16 . . . . . 6  |-  ( ph  ->  ( <" A B C "> `  0
)  =  A )
5352eqcomd 2390 . . . . 5  |-  ( ph  ->  A  =  ( <" A B C "> `  0
) )
54 s3fv2 12766 . . . . . . 7  |-  ( C  e.  P  ->  ( <" A B C "> `  2
)  =  C )
553, 54syl 16 . . . . . 6  |-  ( ph  ->  ( <" A B C "> `  2
)  =  C )
5655eqcomd 2390 . . . . 5  |-  ( ph  ->  C  =  ( <" A B C "> `  2
) )
5753, 56oveq12d 6214 . . . 4  |-  ( ph  ->  ( A  .-  C
)  =  ( (
<" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) ) )
58 s3fv1 12765 . . . . . . . . 9  |-  ( B  e.  P  ->  ( <" A B C "> `  1
)  =  B )
592, 58syl 16 . . . . . . . 8  |-  ( ph  ->  ( <" A B C "> `  1
)  =  B )
6059eqcomd 2390 . . . . . . 7  |-  ( ph  ->  B  =  ( <" A B C "> `  1
) )
6160fveq2d 5778 . . . . . 6  |-  ( ph  ->  ( S `  B
)  =  ( S `
 ( <" A B C "> `  1
) ) )
6261, 56fveq12d 5780 . . . . 5  |-  ( ph  ->  ( ( S `  B ) `  C
)  =  ( ( S `  ( <" A B C "> `  1
) ) `  ( <" A B C "> `  2
) ) )
6353, 62oveq12d 6214 . . . 4  |-  ( ph  ->  ( A  .-  (
( S `  B
) `  C )
)  =  ( (
<" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) )
6457, 63eqeq12d 2404 . . 3  |-  ( ph  ->  ( ( A  .-  C )  =  ( A  .-  ( ( S `  B ) `
 C ) )  <-> 
( ( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) )
65 s3len 12767 . . . . 5  |-  ( # `  <" A B C "> )  =  3
6665a1i 11 . . . 4  |-  ( ph  ->  ( # `  <" A B C "> )  =  3
)
6766biantrurd 506 . . 3  |-  ( ph  ->  ( ( ( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) )  <->  ( ( # `
 <" A B C "> )  =  3  /\  (
( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) ) )
6864, 67bitrd 253 . 2  |-  ( ph  ->  ( ( A  .-  C )  =  ( A  .-  ( ( S `  B ) `
 C ) )  <-> 
( ( # `  <" A B C "> )  =  3  /\  ( ( <" A B C "> `  0
)  .-  ( <" A B C "> `  2 ) )  =  ( ( <" A B C "> `  0
)  .-  ( ( S `  ( <" A B C "> `  1 ) ) `
 ( <" A B C "> `  2
) ) ) ) ) )
6917, 50, 683bitr4d 285 1  |-  ( ph  ->  ( <" A B C ">  e.  (∟G `  G )  <->  ( A  .-  C )  =  ( A  .-  ( ( S `  B ) `
 C ) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 367    = wceq 1399    e. wcel 1826   {crab 2736   _Vcvv 3034    |-> cmpt 4425   ` cfv 5496  (class class class)co 6196   0cc0 9403   1c1 9404   2c2 10502   3c3 10503   #chash 12307  Word cword 12438   <"cs3 12718   Basecbs 14634   distcds 14711  TarskiGcstrkg 23942  Itvcitv 23949  LineGclng 23950  pInvGcmir 24153  ∟Gcrag 24190
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1626  ax-4 1639  ax-5 1712  ax-6 1755  ax-7 1798  ax-8 1828  ax-9 1830  ax-10 1845  ax-11 1850  ax-12 1862  ax-13 2006  ax-ext 2360  ax-rep 4478  ax-sep 4488  ax-nul 4496  ax-pow 4543  ax-pr 4601  ax-un 6491  ax-cnex 9459  ax-resscn 9460  ax-1cn 9461  ax-icn 9462  ax-addcl 9463  ax-addrcl 9464  ax-mulcl 9465  ax-mulrcl 9466  ax-mulcom 9467  ax-addass 9468  ax-mulass 9469  ax-distr 9470  ax-i2m1 9471  ax-1ne0 9472  ax-1rid 9473  ax-rnegex 9474  ax-rrecex 9475  ax-cnre 9476  ax-pre-lttri 9477  ax-pre-lttrn 9478  ax-pre-ltadd 9479  ax-pre-mulgt0 9480
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-3or 972  df-3an 973  df-tru 1402  df-ex 1621  df-nf 1625  df-sb 1748  df-eu 2222  df-mo 2223  df-clab 2368  df-cleq 2374  df-clel 2377  df-nfc 2532  df-ne 2579  df-nel 2580  df-ral 2737  df-rex 2738  df-reu 2739  df-rmo 2740  df-rab 2741  df-v 3036  df-sbc 3253  df-csb 3349  df-dif 3392  df-un 3394  df-in 3396  df-ss 3403  df-pss 3405  df-nul 3712  df-if 3858  df-pw 3929  df-sn 3945  df-pr 3947  df-tp 3949  df-op 3951  df-uni 4164  df-int 4200  df-iun 4245  df-br 4368  df-opab 4426  df-mpt 4427  df-tr 4461  df-eprel 4705  df-id 4709  df-po 4714  df-so 4715  df-fr 4752  df-we 4754  df-ord 4795  df-on 4796  df-lim 4797  df-suc 4798  df-xp 4919  df-rel 4920  df-cnv 4921  df-co 4922  df-dm 4923  df-rn 4924  df-res 4925  df-ima 4926  df-iota 5460  df-fun 5498  df-fn 5499  df-f 5500  df-f1 5501  df-fo 5502  df-f1o 5503  df-fv 5504  df-riota 6158  df-ov 6199  df-oprab 6200  df-mpt2 6201  df-om 6600  df-1st 6699  df-2nd 6700  df-recs 6960  df-rdg 6994  df-1o 7048  df-oadd 7052  df-er 7229  df-map 7340  df-pm 7341  df-en 7436  df-dom 7437  df-sdom 7438  df-fin 7439  df-card 8233  df-cda 8461  df-pnf 9541  df-mnf 9542  df-xr 9543  df-ltxr 9544  df-le 9545  df-sub 9720  df-neg 9721  df-nn 10453  df-2 10511  df-3 10512  df-n0 10713  df-z 10782  df-uz 11002  df-fz 11594  df-fzo 11718  df-hash 12308  df-word 12446  df-concat 12448  df-s1 12449  df-s2 12724  df-s3 12725  df-rag 24191
This theorem is referenced by:  ragcom  24195  ragcol  24196  ragmir  24197  mirrag  24198  ragtrivb  24199  ragflat2  24200  ragflat  24201  ragcgr  24204  footex  24215  colperpexlem1  24224  colperpexlem3  24226  mideulem2  24228  opphllem  24229  lmiisolem  24281  hypcgrlem1  24284  hypcgrlem2  24285
  Copyright terms: Public domain W3C validator