Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  funline Structured version   Unicode version

Theorem funline 30908
Description: Show that the Line relationship is a function. (Contributed by Scott Fenton, 25-Oct-2013.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
funline  |-  Fun Line

Proof of Theorem funline
Dummy variables  a 
b  k  l  m  n are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 reeanv 2997 . . . . . 6  |-  ( E. n  e.  NN  E. m  e.  NN  (
( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  ( ( a  e.  ( EE `  m
)  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  <-> 
( E. n  e.  NN  ( ( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n
)  /\  a  =/=  b )  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  E. m  e.  NN  (
( a  e.  ( EE `  m )  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) ) )
2 eqtr3 2451 . . . . . . . . 9  |-  ( ( l  =  [ <. a ,  b >. ] `'  Colinear  /\  k  =  [ <. a ,  b >. ] `'  Colinear  )  ->  l  =  k )
32ad2ant2l 751 . . . . . . . 8  |-  ( ( ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  ( ( a  e.  ( EE `  m
)  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  ->  l  =  k )
43a1i 11 . . . . . . 7  |-  ( ( n  e.  NN  /\  m  e.  NN )  ->  ( ( ( ( a  e.  ( EE
`  n )  /\  b  e.  ( EE `  n )  /\  a  =/=  b )  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  ( ( a  e.  ( EE `  m
)  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  ->  l  =  k ) )
54rexlimivv 2923 . . . . . 6  |-  ( E. n  e.  NN  E. m  e.  NN  (
( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  ( ( a  e.  ( EE `  m
)  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  ->  l  =  k )
61, 5sylbir 217 . . . . 5  |-  ( ( E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  E. m  e.  NN  (
( a  e.  ( EE `  m )  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  ->  l  =  k )
76gen2 1667 . . . 4  |-  A. l A. k ( ( E. n  e.  NN  (
( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  E. m  e.  NN  (
( a  e.  ( EE `  m )  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  ->  l  =  k )
8 eqeq1 2427 . . . . . . . 8  |-  ( l  =  k  ->  (
l  =  [ <. a ,  b >. ] `'  Colinear  <->  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )
98anbi2d 709 . . . . . . 7  |-  ( l  =  k  ->  (
( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  <->  ( (
a  e.  ( EE
`  n )  /\  b  e.  ( EE `  n )  /\  a  =/=  b )  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) ) )
109rexbidv 2940 . . . . . 6  |-  ( l  =  k  ->  ( E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  <->  E. n  e.  NN  ( ( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n
)  /\  a  =/=  b )  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) ) )
11 fveq2 5879 . . . . . . . . . 10  |-  ( n  =  m  ->  ( EE `  n )  =  ( EE `  m
) )
1211eleq2d 2493 . . . . . . . . 9  |-  ( n  =  m  ->  (
a  e.  ( EE
`  n )  <->  a  e.  ( EE `  m ) ) )
1311eleq2d 2493 . . . . . . . . 9  |-  ( n  =  m  ->  (
b  e.  ( EE
`  n )  <->  b  e.  ( EE `  m ) ) )
1412, 133anbi12d 1337 . . . . . . . 8  |-  ( n  =  m  ->  (
( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  <->  ( a  e.  ( EE `  m
)  /\  b  e.  ( EE `  m )  /\  a  =/=  b
) ) )
1514anbi1d 710 . . . . . . 7  |-  ( n  =  m  ->  (
( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  )  <->  ( (
a  e.  ( EE
`  m )  /\  b  e.  ( EE `  m )  /\  a  =/=  b )  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) ) )
1615cbvrexv 3057 . . . . . 6  |-  ( E. n  e.  NN  (
( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  )  <->  E. m  e.  NN  ( ( a  e.  ( EE `  m )  /\  b  e.  ( EE `  m
)  /\  a  =/=  b )  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )
1710, 16syl6bb 265 . . . . 5  |-  ( l  =  k  ->  ( E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  <->  E. m  e.  NN  ( ( a  e.  ( EE `  m )  /\  b  e.  ( EE `  m
)  /\  a  =/=  b )  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) ) )
1817mo4 2314 . . . 4  |-  ( E* l E. n  e.  NN  ( ( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n
)  /\  a  =/=  b )  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  <->  A. l A. k ( ( E. n  e.  NN  (
( a  e.  ( EE `  n )  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )  /\  E. m  e.  NN  (
( a  e.  ( EE `  m )  /\  b  e.  ( EE `  m )  /\  a  =/=  b
)  /\  k  =  [ <. a ,  b
>. ] `'  Colinear  ) )  ->  l  =  k ) )
197, 18mpbir 213 . . 3  |-  E* l E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  )
2019funoprab 6408 . 2  |-  Fun  { <. <. a ,  b
>. ,  l >.  |  E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  ) }
21 df-line2 30903 . . 3  |- Line  =  { <. <. a ,  b
>. ,  l >.  |  E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  ) }
2221funeqi 5619 . 2  |-  ( Fun Line  <->  Fun 
{ <. <. a ,  b
>. ,  l >.  |  E. n  e.  NN  ( ( a  e.  ( EE `  n
)  /\  b  e.  ( EE `  n )  /\  a  =/=  b
)  /\  l  =  [ <. a ,  b
>. ] `'  Colinear  ) } )
2320, 22mpbir 213 1  |-  Fun Line
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 371    /\ w3a 983   A.wal 1436    = wceq 1438    e. wcel 1869   E*wmo 2267    =/= wne 2619   E.wrex 2777   <.cop 4003   `'ccnv 4850   Fun wfun 5593   ` cfv 5599   {coprab 6304   [cec 7367   NNcn 10611   EEcee 24910    Colinear ccolin 30803  Linecline2 30900
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1666  ax-4 1679  ax-5 1749  ax-6 1795  ax-7 1840  ax-9 1873  ax-10 1888  ax-11 1893  ax-12 1906  ax-13 2054  ax-ext 2401  ax-sep 4544  ax-nul 4553  ax-pr 4658
This theorem depends on definitions:  df-bi 189  df-or 372  df-an 373  df-3an 985  df-tru 1441  df-ex 1661  df-nf 1665  df-sb 1788  df-eu 2270  df-mo 2271  df-clab 2409  df-cleq 2415  df-clel 2418  df-nfc 2573  df-ne 2621  df-ral 2781  df-rex 2782  df-rab 2785  df-v 3084  df-dif 3440  df-un 3442  df-in 3444  df-ss 3451  df-nul 3763  df-if 3911  df-sn 3998  df-pr 4000  df-op 4004  df-uni 4218  df-br 4422  df-opab 4481  df-id 4766  df-xp 4857  df-rel 4858  df-cnv 4859  df-co 4860  df-iota 5563  df-fun 5601  df-fv 5607  df-oprab 6307  df-line2 30903
This theorem is referenced by:  fvline  30910
  Copyright terms: Public domain W3C validator