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

Theorem mo 2309
Description: Equivalent definitions of "there exists at most one." (Contributed by NM, 7-Aug-1994.) (Revised by Mario Carneiro, 7-Oct-2016.)
Hypothesis
Ref Expression
mo.1  |-  F/ y
ph
Assertion
Ref Expression
mo  |-  ( E. y A. x (
ph  ->  x  =  y )  <->  A. x A. y
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
Distinct variable group:    x, y
Allowed substitution hints:    ph( x, y)

Proof of Theorem mo
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 mo.1 . . . . . 6  |-  F/ y
ph
2 nfv 1630 . . . . . 6  |-  F/ y  x  =  z
31, 2nfim 1834 . . . . 5  |-  F/ y ( ph  ->  x  =  z )
43nfal 1866 . . . 4  |-  F/ y A. x ( ph  ->  x  =  z )
5 nfv 1630 . . . 4  |-  F/ z A. x ( ph  ->  x  =  y )
6 equequ2 1700 . . . . . 6  |-  ( z  =  y  ->  (
x  =  z  <->  x  =  y ) )
76imbi2d 309 . . . . 5  |-  ( z  =  y  ->  (
( ph  ->  x  =  z )  <->  ( ph  ->  x  =  y ) ) )
87albidv 1636 . . . 4  |-  ( z  =  y  ->  ( A. x ( ph  ->  x  =  z )  <->  A. x
( ph  ->  x  =  y ) ) )
94, 5, 8cbvex 1986 . . 3  |-  ( E. z A. x (
ph  ->  x  =  z )  <->  E. y A. x
( ph  ->  x  =  y ) )
10 nfs1v 2188 . . . . . . . . 9  |-  F/ x [ y  /  x ] ph
11 nfv 1630 . . . . . . . . 9  |-  F/ x  y  =  z
1210, 11nfim 1834 . . . . . . . 8  |-  F/ x
( [ y  /  x ] ph  ->  y  =  z )
13 sbequ2 1661 . . . . . . . . 9  |-  ( x  =  y  ->  ( [ y  /  x ] ph  ->  ph ) )
14 ax-8 1689 . . . . . . . . 9  |-  ( x  =  y  ->  (
x  =  z  -> 
y  =  z ) )
1513, 14imim12d 71 . . . . . . . 8  |-  ( x  =  y  ->  (
( ph  ->  x  =  z )  ->  ( [ y  /  x ] ph  ->  y  =  z ) ) )
163, 12, 15cbv3 1974 . . . . . . 7  |-  ( A. x ( ph  ->  x  =  z )  ->  A. y ( [ y  /  x ] ph  ->  y  =  z ) )
1716ancli 536 . . . . . 6  |-  ( A. x ( ph  ->  x  =  z )  -> 
( A. x (
ph  ->  x  =  z )  /\  A. y
( [ y  /  x ] ph  ->  y  =  z ) ) )
183, 12aaan 1909 . . . . . 6  |-  ( A. x A. y ( (
ph  ->  x  =  z )  /\  ( [ y  /  x ] ph  ->  y  =  z ) )  <->  ( A. x ( ph  ->  x  =  z )  /\  A. y ( [ y  /  x ] ph  ->  y  =  z ) ) )
1917, 18sylibr 205 . . . . 5  |-  ( A. x ( ph  ->  x  =  z )  ->  A. x A. y ( ( ph  ->  x  =  z )  /\  ( [ y  /  x ] ph  ->  y  =  z ) ) )
20 prth 556 . . . . . . 7  |-  ( ( ( ph  ->  x  =  z )  /\  ( [ y  /  x ] ph  ->  y  =  z ) )  -> 
( ( ph  /\  [ y  /  x ] ph )  ->  ( x  =  z  /\  y  =  z ) ) )
21 equtr2 1702 . . . . . . 7  |-  ( ( x  =  z  /\  y  =  z )  ->  x  =  y )
2220, 21syl6 32 . . . . . 6  |-  ( ( ( ph  ->  x  =  z )  /\  ( [ y  /  x ] ph  ->  y  =  z ) )  -> 
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
23222alimi 1570 . . . . 5  |-  ( A. x A. y ( (
ph  ->  x  =  z )  /\  ( [ y  /  x ] ph  ->  y  =  z ) )  ->  A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y ) )
2419, 23syl 16 . . . 4  |-  ( A. x ( ph  ->  x  =  z )  ->  A. x A. y ( ( ph  /\  [
y  /  x ] ph )  ->  x  =  y ) )
2524exlimiv 1645 . . 3  |-  ( E. z A. x (
ph  ->  x  =  z )  ->  A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y ) )
269, 25sylbir 206 . 2  |-  ( E. y A. x (
ph  ->  x  =  y )  ->  A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y ) )
27 nfa2 1876 . . . 4  |-  F/ y A. x A. y
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y )
28 sp 1765 . . . . . . . 8  |-  ( A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y )  -> 
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
2928exp3a 427 . . . . . . 7  |-  ( A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y )  -> 
( ph  ->  ( [ y  /  x ] ph  ->  x  =  y ) ) )
3029com3r 76 . . . . . 6  |-  ( [ y  /  x ] ph  ->  ( A. y
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  ( ph  ->  x  =  y ) ) )
3110, 30alimd 1782 . . . . 5  |-  ( [ y  /  x ] ph  ->  ( A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y )  ->  A. x ( ph  ->  x  =  y ) ) )
3231com12 30 . . . 4  |-  ( A. x A. y ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  ( [ y  /  x ] ph  ->  A. x ( ph  ->  x  =  y ) ) )
3327, 32eximd 1788 . . 3  |-  ( A. x A. y ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  ( E. y [ y  /  x ] ph  ->  E. y A. x ( ph  ->  x  =  y ) ) )
34 alnex 1553 . . . 4  |-  ( A. y  -.  [ y  /  x ] ph  <->  -.  E. y [ y  /  x ] ph )
3510nfn 1813 . . . . . 6  |-  F/ x  -.  [ y  /  x ] ph
361nfn 1813 . . . . . 6  |-  F/ y  -.  ph
37 sbequ1 1946 . . . . . . . 8  |-  ( x  =  y  ->  ( ph  ->  [ y  /  x ] ph ) )
3837equcoms 1695 . . . . . . 7  |-  ( y  =  x  ->  ( ph  ->  [ y  /  x ] ph ) )
3938con3d 128 . . . . . 6  |-  ( y  =  x  ->  ( -.  [ y  /  x ] ph  ->  -.  ph )
)
4035, 36, 39cbv3 1974 . . . . 5  |-  ( A. y  -.  [ y  /  x ] ph  ->  A. x  -.  ph )
41 pm2.21 103 . . . . . 6  |-  ( -. 
ph  ->  ( ph  ->  x  =  y ) )
4241alimi 1569 . . . . 5  |-  ( A. x  -.  ph  ->  A. x
( ph  ->  x  =  y ) )
43 19.8a 1764 . . . . 5  |-  ( A. x ( ph  ->  x  =  y )  ->  E. y A. x (
ph  ->  x  =  y ) )
4440, 42, 433syl 19 . . . 4  |-  ( A. y  -.  [ y  /  x ] ph  ->  E. y A. x ( ph  ->  x  =  y ) )
4534, 44sylbir 206 . . 3  |-  ( -. 
E. y [ y  /  x ] ph  ->  E. y A. x
( ph  ->  x  =  y ) )
4633, 45pm2.61d1 154 . 2  |-  ( A. x A. y ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  E. y A. x
( ph  ->  x  =  y ) )
4726, 46impbii 182 1  |-  ( E. y A. x (
ph  ->  x  =  y )  <->  A. x A. y
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 178    /\ wa 360   A.wal 1550   E.wex 1551   F/wnf 1554   [wsb 1659
This theorem is referenced by:  eu2  2312  eu3  2313  mo3  2318
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1668  ax-8 1689  ax-6 1746  ax-7 1751  ax-11 1763  ax-12 1953
This theorem depends on definitions:  df-bi 179  df-an 362  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660
  Copyright terms: Public domain W3C validator