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

Theorem reu6 3215
Description: A way to express restricted uniqueness. (Contributed by NM, 20-Oct-2006.)
Assertion
Ref Expression
reu6  |-  ( E! x  e.  A  ph  <->  E. y  e.  A  A. x  e.  A  ( ph 
<->  x  =  y ) )
Distinct variable groups:    x, y, A    ph, y
Allowed substitution hint:    ph( x)

Proof of Theorem reu6
StepHypRef Expression
1 df-reu 2763 . 2  |-  ( E! x  e.  A  ph  <->  E! x ( x  e.  A  /\  ph )
)
2 19.28v 1833 . . . . 5  |-  ( A. x ( y  e.  A  /\  ( x  e.  A  ->  ( ph 
<->  x  =  y ) ) )  <->  ( y  e.  A  /\  A. x
( x  e.  A  ->  ( ph  <->  x  =  y ) ) ) )
3 eleq1 2537 . . . . . . . . . . . 12  |-  ( x  =  y  ->  (
x  e.  A  <->  y  e.  A ) )
4 sbequ12 2098 . . . . . . . . . . . 12  |-  ( x  =  y  ->  ( ph 
<->  [ y  /  x ] ph ) )
53, 4anbi12d 725 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( x  e.  A  /\  ph )  <->  ( y  e.  A  /\  [ y  /  x ] ph ) ) )
6 equequ1 1875 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
x  =  y  <->  y  =  y ) )
75, 6bibi12d 328 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( ( x  e.  A  /\  ph )  <->  x  =  y )  <->  ( (
y  e.  A  /\  [ y  /  x ] ph )  <->  y  =  y ) ) )
8 equid 1863 . . . . . . . . . . . 12  |-  y  =  y
98tbt 351 . . . . . . . . . . 11  |-  ( ( y  e.  A  /\  [ y  /  x ] ph )  <->  ( ( y  e.  A  /\  [
y  /  x ] ph )  <->  y  =  y ) )
10 simpl 464 . . . . . . . . . . 11  |-  ( ( y  e.  A  /\  [ y  /  x ] ph )  ->  y  e.  A )
119, 10sylbir 218 . . . . . . . . . 10  |-  ( ( ( y  e.  A  /\  [ y  /  x ] ph )  <->  y  =  y )  ->  y  e.  A )
127, 11syl6bi 236 . . . . . . . . 9  |-  ( x  =  y  ->  (
( ( x  e.  A  /\  ph )  <->  x  =  y )  -> 
y  e.  A ) )
1312spimv 2114 . . . . . . . 8  |-  ( A. x ( ( x  e.  A  /\  ph ) 
<->  x  =  y )  ->  y  e.  A
)
14 biimp 198 . . . . . . . . . . . 12  |-  ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  ->  (
( x  e.  A  /\  ph )  ->  x  =  y ) )
1514expdimp 444 . . . . . . . . . . 11  |-  ( ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  /\  x  e.  A )  ->  ( ph  ->  x  =  y ) )
16 biimpr 203 . . . . . . . . . . . . 13  |-  ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  ->  (
x  =  y  -> 
( x  e.  A  /\  ph ) ) )
17 simpr 468 . . . . . . . . . . . . 13  |-  ( ( x  e.  A  /\  ph )  ->  ph )
1816, 17syl6 33 . . . . . . . . . . . 12  |-  ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  ->  (
x  =  y  ->  ph ) )
1918adantr 472 . . . . . . . . . . 11  |-  ( ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  /\  x  e.  A )  ->  ( x  =  y  ->  ph ) )
2015, 19impbid 195 . . . . . . . . . 10  |-  ( ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  /\  x  e.  A )  ->  ( ph  <->  x  =  y ) )
2120ex 441 . . . . . . . . 9  |-  ( ( ( x  e.  A  /\  ph )  <->  x  =  y )  ->  (
x  e.  A  -> 
( ph  <->  x  =  y
) ) )
2221sps 1963 . . . . . . . 8  |-  ( A. x ( ( x  e.  A  /\  ph ) 
<->  x  =  y )  ->  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )
2313, 22jca 541 . . . . . . 7  |-  ( A. x ( ( x  e.  A  /\  ph ) 
<->  x  =  y )  ->  ( y  e.  A  /\  ( x  e.  A  ->  ( ph 
<->  x  =  y ) ) ) )
2423axc4i 2000 . . . . . 6  |-  ( A. x ( ( x  e.  A  /\  ph ) 
<->  x  =  y )  ->  A. x ( y  e.  A  /\  (
x  e.  A  -> 
( ph  <->  x  =  y
) ) ) )
25 biimp 198 . . . . . . . . . . 11  |-  ( (
ph 
<->  x  =  y )  ->  ( ph  ->  x  =  y ) )
2625imim2i 16 . . . . . . . . . 10  |-  ( ( x  e.  A  -> 
( ph  <->  x  =  y
) )  ->  (
x  e.  A  -> 
( ph  ->  x  =  y ) ) )
2726impd 438 . . . . . . . . 9  |-  ( ( x  e.  A  -> 
( ph  <->  x  =  y
) )  ->  (
( x  e.  A  /\  ph )  ->  x  =  y ) )
2827adantl 473 . . . . . . . 8  |-  ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  ->  ( ( x  e.  A  /\  ph )  ->  x  =  y ) )
29 eleq1a 2544 . . . . . . . . . . . 12  |-  ( y  e.  A  ->  (
x  =  y  ->  x  e.  A )
)
3029adantr 472 . . . . . . . . . . 11  |-  ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  ->  ( x  =  y  ->  x  e.  A ) )
3130imp 436 . . . . . . . . . 10  |-  ( ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  /\  x  =  y )  ->  x  e.  A )
32 biimpr 203 . . . . . . . . . . . . . 14  |-  ( (
ph 
<->  x  =  y )  ->  ( x  =  y  ->  ph ) )
3332imim2i 16 . . . . . . . . . . . . 13  |-  ( ( x  e.  A  -> 
( ph  <->  x  =  y
) )  ->  (
x  e.  A  -> 
( x  =  y  ->  ph ) ) )
3433com23 80 . . . . . . . . . . . 12  |-  ( ( x  e.  A  -> 
( ph  <->  x  =  y
) )  ->  (
x  =  y  -> 
( x  e.  A  ->  ph ) ) )
3534imp 436 . . . . . . . . . . 11  |-  ( ( ( x  e.  A  ->  ( ph  <->  x  =  y ) )  /\  x  =  y )  ->  ( x  e.  A  ->  ph ) )
3635adantll 728 . . . . . . . . . 10  |-  ( ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  /\  x  =  y )  ->  ( x  e.  A  ->  ph )
)
3731, 36jcai 545 . . . . . . . . 9  |-  ( ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  /\  x  =  y )  ->  ( x  e.  A  /\  ph )
)
3837ex 441 . . . . . . . 8  |-  ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  ->  ( x  =  y  ->  ( x  e.  A  /\  ph )
) )
3928, 38impbid 195 . . . . . . 7  |-  ( ( y  e.  A  /\  ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )  ->  ( ( x  e.  A  /\  ph ) 
<->  x  =  y ) )
4039alimi 1692 . . . . . 6  |-  ( A. x ( y  e.  A  /\  ( x  e.  A  ->  ( ph 
<->  x  =  y ) ) )  ->  A. x
( ( x  e.  A  /\  ph )  <->  x  =  y ) )
4124, 40impbii 192 . . . . 5  |-  ( A. x ( ( x  e.  A  /\  ph ) 
<->  x  =  y )  <->  A. x ( y  e.  A  /\  ( x  e.  A  ->  ( ph 
<->  x  =  y ) ) ) )
42 df-ral 2761 . . . . . 6  |-  ( A. x  e.  A  ( ph 
<->  x  =  y )  <->  A. x ( x  e.  A  ->  ( ph  <->  x  =  y ) ) )
4342anbi2i 708 . . . . 5  |-  ( ( y  e.  A  /\  A. x  e.  A  (
ph 
<->  x  =  y ) )  <->  ( y  e.  A  /\  A. x
( x  e.  A  ->  ( ph  <->  x  =  y ) ) ) )
442, 41, 433bitr4i 285 . . . 4  |-  ( A. x ( ( x  e.  A  /\  ph ) 
<->  x  =  y )  <-> 
( y  e.  A  /\  A. x  e.  A  ( ph  <->  x  =  y
) ) )
4544exbii 1726 . . 3  |-  ( E. y A. x ( ( x  e.  A  /\  ph )  <->  x  =  y )  <->  E. y
( y  e.  A  /\  A. x  e.  A  ( ph  <->  x  =  y
) ) )
46 df-eu 2323 . . 3  |-  ( E! x ( x  e.  A  /\  ph )  <->  E. y A. x ( ( x  e.  A  /\  ph )  <->  x  =  y ) )
47 df-rex 2762 . . 3  |-  ( E. y  e.  A  A. x  e.  A  ( ph 
<->  x  =  y )  <->  E. y ( y  e.  A  /\  A. x  e.  A  ( ph  <->  x  =  y ) ) )
4845, 46, 473bitr4i 285 . 2  |-  ( E! x ( x  e.  A  /\  ph )  <->  E. y  e.  A  A. x  e.  A  ( ph 
<->  x  =  y ) )
491, 48bitri 257 1  |-  ( E! x  e.  A  ph  <->  E. y  e.  A  A. x  e.  A  ( ph 
<->  x  =  y ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 189    /\ wa 376   A.wal 1450   E.wex 1671   [wsb 1805    e. wcel 1904   E!weu 2319   A.wral 2756   E.wrex 2757   E!wreu 2758
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1677  ax-4 1690  ax-5 1766  ax-6 1813  ax-7 1859  ax-10 1932  ax-12 1950  ax-13 2104  ax-ext 2451
This theorem depends on definitions:  df-bi 190  df-an 378  df-ex 1672  df-nf 1676  df-sb 1806  df-eu 2323  df-cleq 2464  df-clel 2467  df-ral 2761  df-rex 2762  df-reu 2763
This theorem is referenced by:  reu3  3216  reu6i  3217  reu8  3222  xpf1o  7752  ufileu  21012  isppw2  24121  cusgrafilem2  25287  fgreu  28349  fcnvgreu  28350  fourierdlem50  38132  cusgrfilem2  39682
  Copyright terms: Public domain W3C validator