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

Theorem funopg 5447
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 4056 . . . . 5  |-  ( u  =  A  ->  <. u ,  t >.  =  <. A ,  t >. )
21funeqd 5436 . . . 4  |-  ( u  =  A  ->  ( Fun  <. u ,  t
>. 
<->  Fun  <. A ,  t
>. ) )
3 eqeq1 2447 . . . 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 4057 . . . . 5  |-  ( t  =  B  ->  <. A , 
t >.  =  <. A ,  B >. )
65funeqd 5436 . . . 4  |-  ( t  =  B  ->  ( Fun  <. A ,  t
>. 
<->  Fun  <. A ,  B >. ) )
7 eqeq2 2450 . . . 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 5432 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  Rel  <. u ,  t
>. )
10 vex 2973 . . . . . 6  |-  u  e. 
_V
11 vex 2973 . . . . . 6  |-  t  e. 
_V
1210, 11relop 4986 . . . . 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 4563 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  ( u  =  { x }  /\  t  =  { x ,  y } ) )
15 vex 2973 . . . . . . . . . . . 12  |-  x  e. 
_V
1615opid 4075 . . . . . . . . . . 11  |-  <. x ,  x >.  =  { { x } }
1716preq1i 3954 . . . . . . . . . 10  |-  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }  =  { { { x } } ,  { { x } ,  { x ,  y } } }
18 vex 2973 . . . . . . . . . . . 12  |-  y  e. 
_V
1915, 18dfop 4055 . . . . . . . . . . 11  |-  <. x ,  y >.  =  { { x } ,  { x ,  y } }
2019preq2i 3955 . . . . . . . . . 10  |-  { <. x ,  x >. ,  <. x ,  y >. }  =  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }
21 snex 4530 . . . . . . . . . . 11  |-  { x }  e.  _V
22 zfpair2 4529 . . . . . . . . . . 11  |-  { x ,  y }  e.  _V
2321, 22dfop 4055 . . . . . . . . . 10  |-  <. { x } ,  { x ,  y } >.  =  { { { x } } ,  { {
x } ,  {
x ,  y } } }
2417, 20, 233eqtr4ri 2472 . . . . . . . . 9  |-  <. { x } ,  { x ,  y } >.  =  { <. x ,  x >. ,  <. x ,  y
>. }
2524eqeq2i 2451 . . . . . . . 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 5427 . . . . . . . . 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 461 . . . . . . . 8  |-  ( Fun 
<. u ,  t >.  ->  A. z A. w A. v ( ( <.
z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v ) )
29 opex 4553 . . . . . . . . . . 11  |-  <. x ,  x >.  e.  _V
3029prid1 3980 . . . . . . . . . 10  |-  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. }
31 eleq2 2502 . . . . . . . . . 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 4553 . . . . . . . . . . 11  |-  <. x ,  y >.  e.  _V
3433prid2 3981 . . . . . . . . . 10  |-  <. x ,  y >.  e.  { <. x ,  x >. , 
<. x ,  y >. }
35 eleq2 2502 . . . . . . . . . 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 529 . . . . . . . 8  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  /\  <. x ,  y >.  e.  <. u ,  t >. )
)
38 opeq12 4058 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  w  =  x )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
39383adant3 1003 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
4039eleq1d 2507 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  w >.  e.  <. u ,  t
>. 
<-> 
<. x ,  x >.  e. 
<. u ,  t >.
) )
41 opeq12 4058 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
42413adant2 1002 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
4342eleq1d 2507 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  v
>.  e.  <. u ,  t
>. 
<-> 
<. x ,  y >.  e.  <. u ,  t
>. ) )
4440, 43anbi12d 705 . . . . . . . . . . 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 2453 . . . . . . . . . . . 12  |-  ( ( w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
46453adant1 1001 . . . . . . . . . . 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 3059 . . . . . . . . 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 1309 . . . . . . . 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 3887 . . . . . . . . . . 11  |-  { x }  =  { x ,  x }
53 preq2 3952 . . . . . . . . . . 11  |-  ( x  =  y  ->  { x ,  x }  =  {
x ,  y } )
5452, 53syl5req 2486 . . . . . . . . . 10  |-  ( x  =  y  ->  { x ,  y }  =  { x } )
5554eqeq2d 2452 . . . . . . . . 9  |-  ( x  =  y  ->  (
t  =  { x ,  y }  <->  t  =  { x } ) )
56 eqtr3 2460 . . . . . . . . . 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 1696 . . . 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 3031 . 2  |-  ( ( A  e.  V  /\  B  e.  W )  ->  ( Fun  <. A ,  B >.  ->  A  =  B ) )
65643impia 1179 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 960   A.wal 1362    = wceq 1364   E.wex 1591    e. wcel 1761   _Vcvv 2970   {csn 3874   {cpr 3876   <.cop 3880   Rel wrel 4841   Fun wfun 5409
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1713  ax-7 1733  ax-9 1765  ax-10 1780  ax-11 1785  ax-12 1797  ax-13 1948  ax-ext 2422  ax-sep 4410  ax-nul 4418  ax-pr 4528
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 962  df-tru 1367  df-ex 1592  df-nf 1595  df-sb 1706  df-eu 2263  df-mo 2264  df-clab 2428  df-cleq 2434  df-clel 2437  df-nfc 2566  df-ne 2606  df-ral 2718  df-rab 2722  df-v 2972  df-dif 3328  df-un 3330  df-in 3332  df-ss 3339  df-nul 3635  df-if 3789  df-sn 3875  df-pr 3877  df-op 3881  df-br 4290  df-opab 4348  df-id 4632  df-xp 4842  df-rel 4843  df-cnv 4844  df-co 4845  df-fun 5417
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator