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

Theorem funopg 5626
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 4219 . . . . 5  |-  ( u  =  A  ->  <. u ,  t >.  =  <. A ,  t >. )
21funeqd 5615 . . . 4  |-  ( u  =  A  ->  ( Fun  <. u ,  t
>. 
<->  Fun  <. A ,  t
>. ) )
3 eqeq1 2461 . . . 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 4220 . . . . 5  |-  ( t  =  B  ->  <. A , 
t >.  =  <. A ,  B >. )
65funeqd 5615 . . . 4  |-  ( t  =  B  ->  ( Fun  <. A ,  t
>. 
<->  Fun  <. A ,  B >. ) )
7 eqeq2 2472 . . . 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 5611 . . . . 5  |-  ( Fun 
<. u ,  t >.  ->  Rel  <. u ,  t
>. )
10 vex 3112 . . . . . 6  |-  u  e. 
_V
11 vex 3112 . . . . . 6  |-  t  e. 
_V
1210, 11relop 5163 . . . . 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 4730 . . . . . . . 8  |-  ( <.
u ,  t >.  =  <. { x } ,  { x ,  y } >.  <->  ( u  =  { x }  /\  t  =  { x ,  y } ) )
15 vex 3112 . . . . . . . . . . . 12  |-  x  e. 
_V
1615opid 4238 . . . . . . . . . . 11  |-  <. x ,  x >.  =  { { x } }
1716preq1i 4114 . . . . . . . . . 10  |-  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }  =  { { { x } } ,  { { x } ,  { x ,  y } } }
18 vex 3112 . . . . . . . . . . . 12  |-  y  e. 
_V
1915, 18dfop 4218 . . . . . . . . . . 11  |-  <. x ,  y >.  =  { { x } ,  { x ,  y } }
2019preq2i 4115 . . . . . . . . . 10  |-  { <. x ,  x >. ,  <. x ,  y >. }  =  { <. x ,  x >. ,  { { x } ,  { x ,  y } } }
21 snex 4697 . . . . . . . . . . 11  |-  { x }  e.  _V
22 zfpair2 4696 . . . . . . . . . . 11  |-  { x ,  y }  e.  _V
2321, 22dfop 4218 . . . . . . . . . 10  |-  <. { x } ,  { x ,  y } >.  =  { { { x } } ,  { {
x } ,  {
x ,  y } } }
2417, 20, 233eqtr4ri 2497 . . . . . . . . 9  |-  <. { x } ,  { x ,  y } >.  =  { <. x ,  x >. ,  <. x ,  y
>. }
2524eqeq2i 2475 . . . . . . . 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 5606 . . . . . . . . 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 4720 . . . . . . . . . . 11  |-  <. x ,  x >.  e.  _V
3029prid1 4140 . . . . . . . . . 10  |-  <. x ,  x >.  e.  { <. x ,  x >. ,  <. x ,  y >. }
31 eleq2 2530 . . . . . . . . . 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 4720 . . . . . . . . . . 11  |-  <. x ,  y >.  e.  _V
3433prid2 4141 . . . . . . . . . 10  |-  <. x ,  y >.  e.  { <. x ,  x >. , 
<. x ,  y >. }
35 eleq2 2530 . . . . . . . . . 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 4221 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  w  =  x )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
39383adant3 1016 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  w >.  = 
<. x ,  x >. )
4039eleq1d 2526 . . . . . . . . . . . 12  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  ->  ( <. z ,  w >.  e.  <. u ,  t
>. 
<-> 
<. x ,  x >.  e. 
<. u ,  t >.
) )
41 opeq12 4221 . . . . . . . . . . . . . 14  |-  ( ( z  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
42413adant2 1015 . . . . . . . . . . . . 13  |-  ( ( z  =  x  /\  w  =  x  /\  v  =  y )  -> 
<. z ,  v >.  =  <. x ,  y
>. )
4342eleq1d 2526 . . . . . . . . . . . 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 2476 . . . . . . . . . . . 12  |-  ( ( w  =  x  /\  v  =  y )  ->  ( w  =  v  <-> 
x  =  y ) )
46453adant1 1014 . . . . . . . . . . 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 3199 . . . . . . . . 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 1324 . . . . . . . 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 4045 . . . . . . . . . . 11  |-  { x }  =  { x ,  x }
53 preq2 4112 . . . . . . . . . . 11  |-  ( x  =  y  ->  { x ,  x }  =  {
x ,  y } )
5452, 53syl5req 2511 . . . . . . . . . 10  |-  ( x  =  y  ->  { x ,  y }  =  { x } )
5554eqeq2d 2471 . . . . . . . . 9  |-  ( x  =  y  ->  (
t  =  { x ,  y }  <->  t  =  { x } ) )
56 eqtr3 2485 . . . . . . . . . 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 1726 . . . 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 3171 . 2  |-  ( ( A  e.  V  /\  B  e.  W )  ->  ( Fun  <. A ,  B >.  ->  A  =  B ) )
65643impia 1193 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 973   A.wal 1393    = wceq 1395   E.wex 1613    e. wcel 1819   _Vcvv 3109   {csn 4032   {cpr 4034   <.cop 4038   Rel wrel 5013   Fun wfun 5588
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1619  ax-4 1632  ax-5 1705  ax-6 1748  ax-7 1791  ax-9 1823  ax-10 1838  ax-11 1843  ax-12 1855  ax-13 2000  ax-ext 2435  ax-sep 4578  ax-nul 4586  ax-pr 4695
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 975  df-tru 1398  df-ex 1614  df-nf 1618  df-sb 1741  df-eu 2287  df-mo 2288  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-ral 2812  df-rab 2816  df-v 3111  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-nul 3794  df-if 3945  df-sn 4033  df-pr 4035  df-op 4039  df-br 4457  df-opab 4516  df-id 4804  df-xp 5014  df-rel 5015  df-cnv 5016  df-co 5017  df-fun 5596
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator