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

Theorem funopg 5450
Description: A Kuratowski ordered pair is a function only if its components are equal. (Contributed by NM, 5-Jun-2008.) (Revised by Mario Carneiro, 26-Apr-2015.)
Assertion
Ref Expression
funopg  |-  ( ( A  e.  V  /\  B  e.  W  /\  Fun  <. A ,  B >. )  ->  A  =  B )

Proof of Theorem funopg
Dummy variables  u  t  v  w  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 opeq1 4059 . . . . 5  |-  ( u  =  A  ->  <. u ,  t >.  =  <. A ,  t >. )
21funeqd 5439 . . . 4  |-  ( u  =  A  ->  ( Fun  <. u ,  t
>. 
<->  Fun  <. A ,  t
>. ) )
3 eqeq1 2449 . . . 4  |-  ( u  =  A  ->  (
u  =  t  <->  A  =  t ) )
42, 3imbi12d 320 . . 3  |-  ( u  =  A  ->  (
( Fun  <. u ,  t >.  ->  u  =  t )  <->  ( Fun  <. A ,  t >.  ->  A  =  t )
) )
5 opeq2 4060 . . . . 5  |-  ( t  =  B  ->  <. A , 
t >.  =  <. A ,  B >. )
65funeqd 5439 . . . 4  |-  ( t  =  B  ->  ( Fun  <. A ,  t
>. 
<->  Fun  <. A ,  B >. ) )
7 eqeq2 2452 . . . 4  |-  ( t  =  B  ->  ( A  =  t  <->  A  =  B ) )
86, 7imbi12d 320 . . 3  |-  ( t  =  B  ->  (
( Fun  <. A , 
t >.  ->  A  =  t )  <->  ( Fun  <. A ,  B >.  ->  A  =  B )
) )
9 funrel 5435 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  Rel  <. u ,  t
>. )
10 vex 2975 . . . . . 6  |-  u  e. 
_V
11 vex 2975 . . . . . 6  |-  t  e. 
_V
1210, 11relop 4990 . . . . 5  |-  ( Rel 
<. u ,  t >.  <->  E. x E. y ( u  =  { x }  /\  t  =  {
x ,  y } ) )
139, 12sylib 196 . . . 4  |-  ( Fun 
<. u ,  t >.  ->  E. x E. y
( u  =  {
x }  /\  t  =  { x ,  y } ) )
1410, 11opth 4566 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  ( u  =  { x }  /\  t  =  { x ,  y } ) )
15 vex 2975 . . . . . . . . . . . 12  |-  x  e. 
_V
1615opid 4078 . . . . . . . . . . 11  |-  <. x ,  x >.  =  { { x } }
1716preq1i 3957 . . . . . . . . . 10  |-  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }  =  { { { x } } ,  { { x } ,  { x ,  y } } }
18 vex 2975 . . . . . . . . . . . 12  |-  y  e. 
_V
1915, 18dfop 4058 . . . . . . . . . . 11  |-  <. x ,  y >.  =  { { x } ,  { x ,  y } }
2019preq2i 3958 . . . . . . . . . 10  |-  { <. x ,  x >. ,  <. x ,  y >. }  =  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }
21 snex 4533 . . . . . . . . . . 11  |-  { x }  e.  _V
22 zfpair2 4532 . . . . . . . . . . 11  |-  { x ,  y }  e.  _V
2321, 22dfop 4058 . . . . . . . . . 10  |-  <. { x } ,  { x ,  y } >.  =  { { { x } } ,  { {
x } ,  {
x ,  y } } }
2417, 20, 233eqtr4ri 2474 . . . . . . . . 9  |-  <. { x } ,  { x ,  y } >.  =  { <. x ,  x >. ,  <. x ,  y
>. }
2524eqeq2i 2453 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. } )
2614, 25bitr3i 251 . . . . . . 7  |-  ( ( u  =  { x }  /\  t  =  {
x ,  y } )  <->  <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. } )
27 dffun4 5430 . . . . . . . . 9  |-  ( Fun 
<. u ,  t >.  <->  ( Rel  <. u ,  t
>.  /\  A. z A. w A. v ( (
<. z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v ) ) )
2827simprbi 464 . . . . . . . 8  |-  ( Fun 
<. u ,  t >.  ->  A. z A. w A. v ( ( <.
z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v ) )
29 opex 4556 . . . . . . . . . . 11  |-  <. x ,  x >.  e.  _V
3029prid1 3983 . . . . . . . . . 10  |-  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. }
31 eleq2 2504 . . . . . . . . . 10  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  <->  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. } ) )
3230, 31mpbiri 233 . . . . . . . . 9  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  <. x ,  x >.  e.  <. u ,  t >. )
33 opex 4556 . . . . . . . . . . 11  |-  <. x ,  y >.  e.  _V
3433prid2 3984 . . . . . . . . . 10  |-  <. x ,  y >.  e.  { <. x ,  x >. , 
<. x ,  y >. }
35 eleq2 2504 . . . . . . . . . 10  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  y >.  e.  <. u ,  t >.  <->  <. x ,  y >.  e.  { <. x ,  x >. ,  <. x ,  y >. } ) )
3634, 35mpbiri 233 . . . . . . . . 9  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  <. x ,  y >.  e.  <. u ,  t >. )
3732, 36jca 532 . . . . . . . 8  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  /\  <. x ,  y >.  e.  <. u ,  t >. )
)
38 opeq12 4061 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  w  =  x )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
39383adant3 1008 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
4039eleq1d 2509 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  w >.  e.  <. u ,  t
>. 
<-> 
<. x ,  x >.  e. 
<. u ,  t >.
) )
41 opeq12 4061 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
42413adant2 1007 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
4342eleq1d 2509 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  v
>.  e.  <. u ,  t
>. 
<-> 
<. x ,  y >.  e.  <. u ,  t
>. ) )
4440, 43anbi12d 710 . . . . . . . . . . 11  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( ( <. z ,  w >.  e.  <. u ,  t >.  /\  <. z ,  v >.  e.  <. u ,  t >. )  <->  (
<. x ,  x >.  e. 
<. u ,  t >.  /\  <. x ,  y
>.  e.  <. u ,  t
>. ) ) )
45 eqeq12 2455 . . . . . . . . . . . 12  |-  ( ( w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
46453adant1 1006 . . . . . . . . . . 11  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
4744, 46imbi12d 320 . . . . . . . . . 10  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( ( ( <.
z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v )  <->  ( ( <. x ,  x >.  e. 
<. u ,  t >.  /\  <. x ,  y
>.  e.  <. u ,  t
>. )  ->  x  =  y ) ) )
4847spc3gv 3062 . . . . . . . . 9  |-  ( ( x  e.  _V  /\  x  e.  _V  /\  y  e.  _V )  ->  ( A. z A. w A. v ( ( <.
z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v )  ->  (
( <. x ,  x >.  e.  <. u ,  t
>.  /\  <. x ,  y
>.  e.  <. u ,  t
>. )  ->  x  =  y ) ) )
4915, 15, 18, 48mp3an 1314 . . . . . . . 8  |-  ( A. z A. w A. v
( ( <. z ,  w >.  e.  <. u ,  t >.  /\  <. z ,  v >.  e.  <. u ,  t >. )  ->  w  =  v )  ->  ( ( <.
x ,  x >.  e. 
<. u ,  t >.  /\  <. x ,  y
>.  e.  <. u ,  t
>. )  ->  x  =  y ) )
5028, 37, 49syl2im 38 . . . . . . 7  |-  ( Fun 
<. u ,  t >.  ->  ( <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. }  ->  x  =  y ) )
5126, 50syl5bi 217 . . . . . 6  |-  ( Fun 
<. u ,  t >.  ->  ( ( u  =  { x }  /\  t  =  { x ,  y } )  ->  x  =  y ) )
52 dfsn2 3890 . . . . . . . . . . 11  |-  { x }  =  { x ,  x }
53 preq2 3955 . . . . . . . . . . 11  |-  ( x  =  y  ->  { x ,  x }  =  {
x ,  y } )
5452, 53syl5req 2488 . . . . . . . . . 10  |-  ( x  =  y  ->  { x ,  y }  =  { x } )
5554eqeq2d 2454 . . . . . . . . 9  |-  ( x  =  y  ->  (
t  =  { x ,  y }  <->  t  =  { x } ) )
56 eqtr3 2462 . . . . . . . . . 10  |-  ( ( u  =  { x }  /\  t  =  {
x } )  ->  u  =  t )
5756expcom 435 . . . . . . . . 9  |-  ( t  =  { x }  ->  ( u  =  {
x }  ->  u  =  t ) )
5855, 57syl6bi 228 . . . . . . . 8  |-  ( x  =  y  ->  (
t  =  { x ,  y }  ->  ( u  =  { x }  ->  u  =  t ) ) )
5958com13 80 . . . . . . 7  |-  ( u  =  { x }  ->  ( t  =  {
x ,  y }  ->  ( x  =  y  ->  u  =  t ) ) )
6059imp 429 . . . . . 6  |-  ( ( u  =  { x }  /\  t  =  {
x ,  y } )  ->  ( x  =  y  ->  u  =  t ) )
6151, 60sylcom 29 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  ( ( u  =  { x }  /\  t  =  { x ,  y } )  ->  u  =  t ) )
6261exlimdvv 1691 . . . 4  |-  ( Fun 
<. u ,  t >.  ->  ( E. x E. y ( u  =  { x }  /\  t  =  { x ,  y } )  ->  u  =  t ) )
6313, 62mpd 15 . . 3  |-  ( Fun 
<. u ,  t >.  ->  u  =  t )
644, 8, 63vtocl2g 3034 . 2  |-  ( ( A  e.  V  /\  B  e.  W )  ->  ( Fun  <. A ,  B >.  ->  A  =  B ) )
65643impia 1184 1  |-  ( ( A  e.  V  /\  B  e.  W  /\  Fun  <. A ,  B >. )  ->  A  =  B )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 965   A.wal 1367    = wceq 1369   E.wex 1586    e. wcel 1756   _Vcvv 2972   {csn 3877   {cpr 3879   <.cop 3883   Rel wrel 4845   Fun wfun 5412
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-sep 4413  ax-nul 4421  ax-pr 4531
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2568  df-ne 2608  df-ral 2720  df-rab 2724  df-v 2974  df-dif 3331  df-un 3333  df-in 3335  df-ss 3342  df-nul 3638  df-if 3792  df-sn 3878  df-pr 3880  df-op 3884  df-br 4293  df-opab 4351  df-id 4636  df-xp 4846  df-rel 4847  df-cnv 4848  df-co 4849  df-fun 5420
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator