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

Theorem perpln2 23796
Description: Derive a line from perpendicularity (Contributed by Thierry Arnoux, 27-Nov-2019.)
Hypotheses
Ref Expression
perpln.l  |-  L  =  (LineG `  G )
perpln.1  |-  ( ph  ->  G  e. TarskiG )
perpln.2  |-  ( ph  ->  A (⟂G `  G
) B )
Assertion
Ref Expression
perpln2  |-  ( ph  ->  B  e.  ran  L
)

Proof of Theorem perpln2
Dummy variables  a 
b  g  u  v  x are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-perpg 23781 . . . . . . 7  |- ⟂G  =  ( g  e.  _V  |->  {
<. a ,  b >.  |  ( ( a  e.  ran  (LineG `  g )  /\  b  e.  ran  (LineG `  g
) )  /\  E. x  e.  ( a  i^i  b ) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  g )
) } )
21a1i 11 . . . . . 6  |-  ( ph  -> ⟂G  =  ( g  e. 
_V  |->  { <. a ,  b >.  |  ( ( a  e.  ran  (LineG `  g )  /\  b  e.  ran  (LineG `  g ) )  /\  E. x  e.  ( a  i^i  b ) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  g
) ) } ) )
3 simpr 461 . . . . . . . . . . . . 13  |-  ( (
ph  /\  g  =  G )  ->  g  =  G )
43fveq2d 5868 . . . . . . . . . . . 12  |-  ( (
ph  /\  g  =  G )  ->  (LineG `  g )  =  (LineG `  G ) )
5 perpln.l . . . . . . . . . . . 12  |-  L  =  (LineG `  G )
64, 5syl6eqr 2526 . . . . . . . . . . 11  |-  ( (
ph  /\  g  =  G )  ->  (LineG `  g )  =  L )
76rneqd 5228 . . . . . . . . . 10  |-  ( (
ph  /\  g  =  G )  ->  ran  (LineG `  g )  =  ran  L )
87eleq2d 2537 . . . . . . . . 9  |-  ( (
ph  /\  g  =  G )  ->  (
a  e.  ran  (LineG `  g )  <->  a  e.  ran  L ) )
97eleq2d 2537 . . . . . . . . 9  |-  ( (
ph  /\  g  =  G )  ->  (
b  e.  ran  (LineG `  g )  <->  b  e.  ran  L ) )
108, 9anbi12d 710 . . . . . . . 8  |-  ( (
ph  /\  g  =  G )  ->  (
( a  e.  ran  (LineG `  g )  /\  b  e.  ran  (LineG `  g ) )  <->  ( a  e.  ran  L  /\  b  e.  ran  L ) ) )
113fveq2d 5868 . . . . . . . . . . 11  |-  ( (
ph  /\  g  =  G )  ->  (∟G `  g )  =  (∟G `  G ) )
1211eleq2d 2537 . . . . . . . . . 10  |-  ( (
ph  /\  g  =  G )  ->  ( <" u x v ">  e.  (∟G `  g )  <->  <" u x v ">  e.  (∟G `  G )
) )
1312ralbidv 2903 . . . . . . . . 9  |-  ( (
ph  /\  g  =  G )  ->  ( A. v  e.  b  <" u x v ">  e.  (∟G `  g )  <->  A. v  e.  b  <" u x v ">  e.  (∟G `  G )
) )
1413rexralbidv 2981 . . . . . . . 8  |-  ( (
ph  /\  g  =  G )  ->  ( E. x  e.  (
a  i^i  b ) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  g )  <->  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) )
1510, 14anbi12d 710 . . . . . . 7  |-  ( (
ph  /\  g  =  G )  ->  (
( ( a  e. 
ran  (LineG `  g )  /\  b  e.  ran  (LineG `  g ) )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  g ) )  <-> 
( ( a  e. 
ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b ) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G
) ) ) )
1615opabbidv 4510 . . . . . 6  |-  ( (
ph  /\  g  =  G )  ->  { <. a ,  b >.  |  ( ( a  e.  ran  (LineG `  g )  /\  b  e.  ran  (LineG `  g ) )  /\  E. x  e.  ( a  i^i  b ) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  g
) ) }  =  { <. a ,  b
>.  |  ( (
a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) } )
17 perpln.1 . . . . . . 7  |-  ( ph  ->  G  e. TarskiG )
18 elex 3122 . . . . . . 7  |-  ( G  e. TarskiG  ->  G  e.  _V )
1917, 18syl 16 . . . . . 6  |-  ( ph  ->  G  e.  _V )
20 opabssxp 5072 . . . . . . . 8  |-  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  C_  ( ran  L  X.  ran  L )
2120a1i 11 . . . . . . 7  |-  ( ph  ->  { <. a ,  b
>.  |  ( (
a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  C_  ( ran  L  X.  ran  L ) )
22 fvex 5874 . . . . . . . . . 10  |-  (LineG `  G )  e.  _V
235, 22eqeltri 2551 . . . . . . . . 9  |-  L  e. 
_V
24 rnexg 6713 . . . . . . . . 9  |-  ( L  e.  _V  ->  ran  L  e.  _V )
2523, 24mp1i 12 . . . . . . . 8  |-  ( ph  ->  ran  L  e.  _V )
26 xpexg 6709 . . . . . . . 8  |-  ( ( ran  L  e.  _V  /\ 
ran  L  e.  _V )  ->  ( ran  L  X.  ran  L )  e. 
_V )
2725, 25, 26syl2anc 661 . . . . . . 7  |-  ( ph  ->  ( ran  L  X.  ran  L )  e.  _V )
28 ssexg 4593 . . . . . . 7  |-  ( ( { <. a ,  b
>.  |  ( (
a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  C_  ( ran  L  X.  ran  L )  /\  ( ran  L  X.  ran  L )  e. 
_V )  ->  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  e.  _V )
2921, 27, 28syl2anc 661 . . . . . 6  |-  ( ph  ->  { <. a ,  b
>.  |  ( (
a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  e.  _V )
302, 16, 19, 29fvmptd 5953 . . . . 5  |-  ( ph  ->  (⟂G `  G )  =  { <. a ,  b
>.  |  ( (
a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) } )
3130rneqd 5228 . . . 4  |-  ( ph  ->  ran  (⟂G `  G )  =  ran  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) } )
32 rnss 5229 . . . . 5  |-  ( {
<. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  C_  ( ran  L  X.  ran  L )  ->  ran  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  C_  ran  ( ran 
L  X.  ran  L
) )
3320, 32ax-mp 5 . . . 4  |-  ran  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }  C_  ran  ( ran 
L  X.  ran  L
)
3431, 33syl6eqss 3554 . . 3  |-  ( ph  ->  ran  (⟂G `  G )  C_ 
ran  ( ran  L  X.  ran  L ) )
35 rnxpss 5437 . . 3  |-  ran  ( ran  L  X.  ran  L
)  C_  ran  L
3634, 35syl6ss 3516 . 2  |-  ( ph  ->  ran  (⟂G `  G )  C_ 
ran  L )
37 relopab 5127 . . . . . 6  |-  Rel  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) }
3830releqd 5085 . . . . . 6  |-  ( ph  ->  ( Rel  (⟂G `  G
)  <->  Rel  { <. a ,  b >.  |  ( ( a  e.  ran  L  /\  b  e.  ran  L )  /\  E. x  e.  ( a  i^i  b
) A. u  e.  a  A. v  e.  b  <" u x v ">  e.  (∟G `  G ) ) } ) )
3937, 38mpbiri 233 . . . . 5  |-  ( ph  ->  Rel  (⟂G `  G )
)
40 perpln.2 . . . . 5  |-  ( ph  ->  A (⟂G `  G
) B )
41 brrelex12 5036 . . . . 5  |-  ( ( Rel  (⟂G `  G )  /\  A (⟂G `  G
) B )  -> 
( A  e.  _V  /\  B  e.  _V )
)
4239, 40, 41syl2anc 661 . . . 4  |-  ( ph  ->  ( A  e.  _V  /\  B  e.  _V )
)
4342simpld 459 . . 3  |-  ( ph  ->  A  e.  _V )
4442simprd 463 . . 3  |-  ( ph  ->  B  e.  _V )
45 brelrng 5230 . . 3  |-  ( ( A  e.  _V  /\  B  e.  _V  /\  A
(⟂G `  G ) B )  ->  B  e.  ran  (⟂G `  G )
)
4643, 44, 40, 45syl3anc 1228 . 2  |-  ( ph  ->  B  e.  ran  (⟂G `  G ) )
4736, 46sseldd 3505 1  |-  ( ph  ->  B  e.  ran  L
)
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 369    = wceq 1379    e. wcel 1767   A.wral 2814   E.wrex 2815   _Vcvv 3113    i^i cin 3475    C_ wss 3476   class class class wbr 4447   {copab 4504    |-> cmpt 4505    X. cxp 4997   ran crn 5000   Rel wrel 5004   ` cfv 5586   <"cs3 12766  TarskiGcstrkg 23553  LineGclng 23561  ∟Gcrag 23778  ⟂Gcperpg 23780
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-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6574
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 975  df-tru 1382  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-ral 2819  df-rex 2820  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-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-op 4034  df-uni 4246  df-br 4448  df-opab 4506  df-mpt 4507  df-id 4795  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-iota 5549  df-fun 5588  df-fv 5594  df-perpg 23781
This theorem is referenced by:  mideulem  23813
  Copyright terms: Public domain W3C validator