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

Theorem funopg 5485
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 3984 . . . . 5  |-  ( u  =  A  ->  <. u ,  t >.  =  <. A ,  t >. )
21funeqd 5475 . . . 4  |-  ( u  =  A  ->  ( Fun  <. u ,  t
>. 
<->  Fun  <. A ,  t
>. ) )
3 eqeq1 2442 . . . 4  |-  ( u  =  A  ->  (
u  =  t  <->  A  =  t ) )
42, 3imbi12d 312 . . 3  |-  ( u  =  A  ->  (
( Fun  <. u ,  t >.  ->  u  =  t )  <->  ( Fun  <. A ,  t >.  ->  A  =  t )
) )
5 opeq2 3985 . . . . 5  |-  ( t  =  B  ->  <. A , 
t >.  =  <. A ,  B >. )
65funeqd 5475 . . . 4  |-  ( t  =  B  ->  ( Fun  <. A ,  t
>. 
<->  Fun  <. A ,  B >. ) )
7 eqeq2 2445 . . . 4  |-  ( t  =  B  ->  ( A  =  t  <->  A  =  B ) )
86, 7imbi12d 312 . . 3  |-  ( t  =  B  ->  (
( Fun  <. A , 
t >.  ->  A  =  t )  <->  ( Fun  <. A ,  B >.  ->  A  =  B )
) )
9 funrel 5471 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  Rel  <. u ,  t
>. )
10 vex 2959 . . . . . 6  |-  u  e. 
_V
11 vex 2959 . . . . . 6  |-  t  e. 
_V
1210, 11relop 5023 . . . . 5  |-  ( Rel 
<. u ,  t >.  <->  E. x E. y ( u  =  { x }  /\  t  =  {
x ,  y } ) )
139, 12sylib 189 . . . 4  |-  ( Fun 
<. u ,  t >.  ->  E. x E. y
( u  =  {
x }  /\  t  =  { x ,  y } ) )
1410, 11opth 4435 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  ( u  =  { x }  /\  t  =  { x ,  y } ) )
15 vex 2959 . . . . . . . . . . . 12  |-  x  e. 
_V
1615opid 4002 . . . . . . . . . . 11  |-  <. x ,  x >.  =  { { x } }
1716preq1i 3886 . . . . . . . . . 10  |-  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }  =  { { { x } } ,  { { x } ,  { x ,  y } } }
18 vex 2959 . . . . . . . . . . . 12  |-  y  e. 
_V
1915, 18dfop 3983 . . . . . . . . . . 11  |-  <. x ,  y >.  =  { { x } ,  { x ,  y } }
2019preq2i 3887 . . . . . . . . . 10  |-  { <. x ,  x >. ,  <. x ,  y >. }  =  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }
21 snex 4405 . . . . . . . . . . 11  |-  { x }  e.  _V
22 zfpair2 4404 . . . . . . . . . . 11  |-  { x ,  y }  e.  _V
2321, 22dfop 3983 . . . . . . . . . 10  |-  <. { x } ,  { x ,  y } >.  =  { { { x } } ,  { {
x } ,  {
x ,  y } } }
2417, 20, 233eqtr4ri 2467 . . . . . . . . 9  |-  <. { x } ,  { x ,  y } >.  =  { <. x ,  x >. ,  <. x ,  y
>. }
2524eqeq2i 2446 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. } )
2614, 25bitr3i 243 . . . . . . 7  |-  ( ( u  =  { x }  /\  t  =  {
x ,  y } )  <->  <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. } )
27 dffun4 5466 . . . . . . . . 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 451 . . . . . . . 8  |-  ( Fun 
<. u ,  t >.  ->  A. z A. w A. v ( ( <.
z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v ) )
29 opex 4427 . . . . . . . . . . 11  |-  <. x ,  x >.  e.  _V
3029prid1 3912 . . . . . . . . . 10  |-  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. }
31 eleq2 2497 . . . . . . . . . 10  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  <->  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. } ) )
3230, 31mpbiri 225 . . . . . . . . 9  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  <. x ,  x >.  e.  <. u ,  t >. )
33 opex 4427 . . . . . . . . . . 11  |-  <. x ,  y >.  e.  _V
3433prid2 3913 . . . . . . . . . 10  |-  <. x ,  y >.  e.  { <. x ,  x >. , 
<. x ,  y >. }
35 eleq2 2497 . . . . . . . . . 10  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  y >.  e.  <. u ,  t >.  <->  <. x ,  y >.  e.  { <. x ,  x >. ,  <. x ,  y >. } ) )
3634, 35mpbiri 225 . . . . . . . . 9  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  <. x ,  y >.  e.  <. u ,  t >. )
3732, 36jca 519 . . . . . . . 8  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  /\  <. x ,  y >.  e.  <. u ,  t >. )
)
38 opeq12 3986 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  w  =  x )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
39383adant3 977 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
4039eleq1d 2502 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  w >.  e.  <. u ,  t
>. 
<-> 
<. x ,  x >.  e. 
<. u ,  t >.
) )
41 opeq12 3986 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
42413adant2 976 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
4342eleq1d 2502 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  v
>.  e.  <. u ,  t
>. 
<-> 
<. x ,  y >.  e.  <. u ,  t
>. ) )
4440, 43anbi12d 692 . . . . . . . . . . 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 2448 . . . . . . . . . . . 12  |-  ( ( w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
46453adant1 975 . . . . . . . . . . 11  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
4744, 46imbi12d 312 . . . . . . . . . 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 3041 . . . . . . . . 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 1279 . . . . . . . 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 36 . . . . . . 7  |-  ( Fun 
<. u ,  t >.  ->  ( <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. }  ->  x  =  y ) )
5126, 50syl5bi 209 . . . . . 6  |-  ( Fun 
<. u ,  t >.  ->  ( ( u  =  { x }  /\  t  =  { x ,  y } )  ->  x  =  y ) )
52 dfsn2 3828 . . . . . . . . . . 11  |-  { x }  =  { x ,  x }
53 preq2 3884 . . . . . . . . . . 11  |-  ( x  =  y  ->  { x ,  x }  =  {
x ,  y } )
5452, 53syl5req 2481 . . . . . . . . . 10  |-  ( x  =  y  ->  { x ,  y }  =  { x } )
5554eqeq2d 2447 . . . . . . . . 9  |-  ( x  =  y  ->  (
t  =  { x ,  y }  <->  t  =  { x } ) )
56 eqtr3 2455 . . . . . . . . . 10  |-  ( ( u  =  { x }  /\  t  =  {
x } )  ->  u  =  t )
5756expcom 425 . . . . . . . . 9  |-  ( t  =  { x }  ->  ( u  =  {
x }  ->  u  =  t ) )
5855, 57syl6bi 220 . . . . . . . 8  |-  ( x  =  y  ->  (
t  =  { x ,  y }  ->  ( u  =  { x }  ->  u  =  t ) ) )
5958com13 76 . . . . . . 7  |-  ( u  =  { x }  ->  ( t  =  {
x ,  y }  ->  ( x  =  y  ->  u  =  t ) ) )
6059imp 419 . . . . . 6  |-  ( ( u  =  { x }  /\  t  =  {
x ,  y } )  ->  ( x  =  y  ->  u  =  t ) )
6151, 60sylcom 27 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  ( ( u  =  { x }  /\  t  =  { x ,  y } )  ->  u  =  t ) )
6261exlimdvv 1647 . . . 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 3015 . 2  |-  ( ( A  e.  V  /\  B  e.  W )  ->  ( Fun  <. A ,  B >.  ->  A  =  B ) )
65643impia 1150 1  |-  ( ( A  e.  V  /\  B  e.  W  /\  Fun  <. A ,  B >. )  ->  A  =  B )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359    /\ w3a 936   A.wal 1549   E.wex 1550    = wceq 1652    e. wcel 1725   _Vcvv 2956   {csn 3814   {cpr 3815   <.cop 3817   Rel wrel 4883   Fun wfun 5448
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2417  ax-sep 4330  ax-nul 4338  ax-pr 4403
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2285  df-mo 2286  df-clab 2423  df-cleq 2429  df-clel 2432  df-nfc 2561  df-ne 2601  df-ral 2710  df-rab 2714  df-v 2958  df-dif 3323  df-un 3325  df-in 3327  df-ss 3334  df-nul 3629  df-if 3740  df-sn 3820  df-pr 3821  df-op 3823  df-br 4213  df-opab 4267  df-id 4498  df-xp 4884  df-rel 4885  df-cnv 4886  df-co 4887  df-fun 5456
  Copyright terms: Public domain W3C validator