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

Theorem funopg 5922
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.) (Avoid depending on this detail.)
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 4402 . . . . 5  |-  ( u  =  A  ->  <. u ,  t >.  =  <. A ,  t >. )
21funeqd 5910 . . . 4  |-  ( u  =  A  ->  ( Fun  <. u ,  t
>. 
<->  Fun  <. A ,  t
>. ) )
3 eqeq1 2626 . . . 4  |-  ( u  =  A  ->  (
u  =  t  <->  A  =  t ) )
42, 3imbi12d 334 . . 3  |-  ( u  =  A  ->  (
( Fun  <. u ,  t >.  ->  u  =  t )  <->  ( Fun  <. A ,  t >.  ->  A  =  t )
) )
5 opeq2 4403 . . . . 5  |-  ( t  =  B  ->  <. A , 
t >.  =  <. A ,  B >. )
65funeqd 5910 . . . 4  |-  ( t  =  B  ->  ( Fun  <. A ,  t
>. 
<->  Fun  <. A ,  B >. ) )
7 eqeq2 2633 . . . 4  |-  ( t  =  B  ->  ( A  =  t  <->  A  =  B ) )
86, 7imbi12d 334 . . 3  |-  ( t  =  B  ->  (
( Fun  <. A , 
t >.  ->  A  =  t )  <->  ( Fun  <. A ,  B >.  ->  A  =  B )
) )
9 funrel 5905 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  Rel  <. u ,  t
>. )
10 vex 3203 . . . . . 6  |-  u  e. 
_V
11 vex 3203 . . . . . 6  |-  t  e. 
_V
1210, 11relop 5272 . . . . 5  |-  ( Rel 
<. u ,  t >.  <->  E. x E. y ( u  =  { x }  /\  t  =  {
x ,  y } ) )
139, 12sylib 208 . . . 4  |-  ( Fun 
<. u ,  t >.  ->  E. x E. y
( u  =  {
x }  /\  t  =  { x ,  y } ) )
1410, 11opth 4945 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  ( u  =  { x }  /\  t  =  { x ,  y } ) )
15 vex 3203 . . . . . . . . . . . 12  |-  x  e. 
_V
1615opid 4421 . . . . . . . . . . 11  |-  <. x ,  x >.  =  { { x } }
1716preq1i 4271 . . . . . . . . . 10  |-  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }  =  { { { x } } ,  { { x } ,  { x ,  y } } }
18 vex 3203 . . . . . . . . . . . 12  |-  y  e. 
_V
1915, 18dfop 4401 . . . . . . . . . . 11  |-  <. x ,  y >.  =  { { x } ,  { x ,  y } }
2019preq2i 4272 . . . . . . . . . 10  |-  { <. x ,  x >. ,  <. x ,  y >. }  =  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }
21 snex 4908 . . . . . . . . . . 11  |-  { x }  e.  _V
22 zfpair2 4907 . . . . . . . . . . 11  |-  { x ,  y }  e.  _V
2321, 22dfop 4401 . . . . . . . . . 10  |-  <. { x } ,  { x ,  y } >.  =  { { { x } } ,  { {
x } ,  {
x ,  y } } }
2417, 20, 233eqtr4ri 2655 . . . . . . . . 9  |-  <. { x } ,  { x ,  y } >.  =  { <. x ,  x >. ,  <. x ,  y
>. }
2524eqeq2i 2634 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. } )
2614, 25bitr3i 266 . . . . . . 7  |-  ( ( u  =  { x }  /\  t  =  {
x ,  y } )  <->  <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. } )
27 dffun4 5900 . . . . . . . . 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 480 . . . . . . . 8  |-  ( Fun 
<. u ,  t >.  ->  A. z A. w A. v ( ( <.
z ,  w >.  e. 
<. u ,  t >.  /\  <. z ,  v
>.  e.  <. u ,  t
>. )  ->  w  =  v ) )
29 opex 4932 . . . . . . . . . . 11  |-  <. x ,  x >.  e.  _V
3029prid1 4297 . . . . . . . . . 10  |-  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. }
31 eleq2 2690 . . . . . . . . . 10  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  <->  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. } ) )
3230, 31mpbiri 248 . . . . . . . . 9  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  <. x ,  x >.  e.  <. u ,  t >. )
33 opex 4932 . . . . . . . . . . 11  |-  <. x ,  y >.  e.  _V
3433prid2 4298 . . . . . . . . . 10  |-  <. x ,  y >.  e.  { <. x ,  x >. , 
<. x ,  y >. }
35 eleq2 2690 . . . . . . . . . 10  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  y >.  e.  <. u ,  t >.  <->  <. x ,  y >.  e.  { <. x ,  x >. ,  <. x ,  y >. } ) )
3634, 35mpbiri 248 . . . . . . . . 9  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  <. x ,  y >.  e.  <. u ,  t >. )
3732, 36jca 554 . . . . . . . 8  |-  ( <.
u ,  t >.  =  { <. x ,  x >. ,  <. x ,  y
>. }  ->  ( <. x ,  x >.  e.  <. u ,  t >.  /\  <. x ,  y >.  e.  <. u ,  t >. )
)
38 opeq12 4404 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  w  =  x )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
39383adant3 1081 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
4039eleq1d 2686 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  w >.  e.  <. u ,  t
>. 
<-> 
<. x ,  x >.  e. 
<. u ,  t >.
) )
41 opeq12 4404 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
42413adant2 1080 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
4342eleq1d 2686 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  v
>.  e.  <. u ,  t
>. 
<-> 
<. x ,  y >.  e.  <. u ,  t
>. ) )
4440, 43anbi12d 747 . . . . . . . . . . 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 2635 . . . . . . . . . . . 12  |-  ( ( w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
46453adant1 1079 . . . . . . . . . . 11  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
4744, 46imbi12d 334 . . . . . . . . . 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 3298 . . . . . . . . 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 1424 . . . . . . . 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 40 . . . . . . 7  |-  ( Fun 
<. u ,  t >.  ->  ( <. u ,  t
>.  =  { <. x ,  x >. ,  <. x ,  y >. }  ->  x  =  y ) )
5126, 50syl5bi 232 . . . . . 6  |-  ( Fun 
<. u ,  t >.  ->  ( ( u  =  { x }  /\  t  =  { x ,  y } )  ->  x  =  y ) )
52 dfsn2 4190 . . . . . . . . . . 11  |-  { x }  =  { x ,  x }
53 preq2 4269 . . . . . . . . . . 11  |-  ( x  =  y  ->  { x ,  x }  =  {
x ,  y } )
5452, 53syl5req 2669 . . . . . . . . . 10  |-  ( x  =  y  ->  { x ,  y }  =  { x } )
5554eqeq2d 2632 . . . . . . . . 9  |-  ( x  =  y  ->  (
t  =  { x ,  y }  <->  t  =  { x } ) )
56 eqtr3 2643 . . . . . . . . . 10  |-  ( ( u  =  { x }  /\  t  =  {
x } )  ->  u  =  t )
5756expcom 451 . . . . . . . . 9  |-  ( t  =  { x }  ->  ( u  =  {
x }  ->  u  =  t ) )
5855, 57syl6bi 243 . . . . . . . 8  |-  ( x  =  y  ->  (
t  =  { x ,  y }  ->  ( u  =  { x }  ->  u  =  t ) ) )
5958com13 88 . . . . . . 7  |-  ( u  =  { x }  ->  ( t  =  {
x ,  y }  ->  ( x  =  y  ->  u  =  t ) ) )
6059imp 445 . . . . . 6  |-  ( ( u  =  { x }  /\  t  =  {
x ,  y } )  ->  ( x  =  y  ->  u  =  t ) )
6151, 60sylcom 30 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  ( ( u  =  { x }  /\  t  =  { x ,  y } )  ->  u  =  t ) )
6261exlimdvv 1862 . . . 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 3270 . 2  |-  ( ( A  e.  V  /\  B  e.  W )  ->  ( Fun  <. A ,  B >.  ->  A  =  B ) )
65643impia 1261 1  |-  ( ( A  e.  V  /\  B  e.  W  /\  Fun  <. A ,  B >. )  ->  A  =  B )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 196    /\ wa 384    /\ w3a 1037   A.wal 1481    = wceq 1483   E.wex 1704    e. wcel 1990   _Vcvv 3200   {csn 4177   {cpr 4179   <.cop 4183   Rel wrel 5119   Fun wfun 5882
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-sep 4781  ax-nul 4789  ax-pr 4906
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ral 2917  df-rab 2921  df-v 3202  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-br 4654  df-opab 4713  df-id 5024  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-fun 5890
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator