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

Theorem 2mo 2347
Description: Two equivalent expressions for double "at most one." (Contributed by NM, 2-Feb-2005.) (Revised by Mario Carneiro, 17-Oct-2016.) (Proof shortened by Wolf Lammen, 2-Nov-2019.)
Assertion
Ref Expression
2mo  |-  ( E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w ) )  <->  A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
Distinct variable groups:    x, y,
z, w    ph, z, w
Allowed substitution hints:    ph( x, y)

Proof of Theorem 2mo
StepHypRef Expression
1 2mo2 2346 . . . 4  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  <->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
2 nfmo1 2277 . . . . . . 7  |-  F/ x E* x E. y ph
3 nfe1 1890 . . . . . . . 8  |-  F/ x E. x ph
43nfmo 2283 . . . . . . 7  |-  F/ x E* y E. x ph
52, 4nfan 1984 . . . . . 6  |-  F/ x
( E* x E. y ph  /\  E* y E. x ph )
6 nfe1 1890 . . . . . . . . 9  |-  F/ y E. y ph
76nfmo 2283 . . . . . . . 8  |-  F/ y E* x E. y ph
8 nfmo1 2277 . . . . . . . 8  |-  F/ y E* y E. x ph
97, 8nfan 1984 . . . . . . 7  |-  F/ y ( E* x E. y ph  /\  E* y E. x ph )
10 19.8a 1908 . . . . . . . . 9  |-  ( ph  ->  E. y ph )
11 spsbe 1790 . . . . . . . . . 10  |-  ( [ w  /  y ]
ph  ->  E. y ph )
1211sbimi 1792 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ z  /  x ] E. y ph )
13 nfv 1751 . . . . . . . . . . . 12  |-  F/ z E. y ph
1413mo3 2303 . . . . . . . . . . 11  |-  ( E* x E. y ph  <->  A. x A. z ( ( E. y ph  /\ 
[ z  /  x ] E. y ph )  ->  x  =  z ) )
1514biimpi 197 . . . . . . . . . 10  |-  ( E* x E. y ph  ->  A. x A. z
( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
161519.21bbi 1921 . . . . . . . . 9  |-  ( E* x E. y ph  ->  ( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
1710, 12, 16syl2ani 660 . . . . . . . 8  |-  ( E* x E. y ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  x  =  z ) )
18 19.8a 1908 . . . . . . . . 9  |-  ( ph  ->  E. x ph )
19 sbcom2 2240 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  <->  [ w  /  y ] [ z  /  x ] ph )
20 spsbe 1790 . . . . . . . . . . 11  |-  ( [ z  /  x ] ph  ->  E. x ph )
2120sbimi 1792 . . . . . . . . . 10  |-  ( [ w  /  y ] [ z  /  x ] ph  ->  [ w  /  y ] E. x ph )
2219, 21sylbi 198 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ w  /  y ] E. x ph )
23 nfv 1751 . . . . . . . . . . . 12  |-  F/ w E. x ph
2423mo3 2303 . . . . . . . . . . 11  |-  ( E* y E. x ph  <->  A. y A. w ( ( E. x ph  /\ 
[ w  /  y ] E. x ph )  ->  y  =  w ) )
2524biimpi 197 . . . . . . . . . 10  |-  ( E* y E. x ph  ->  A. y A. w
( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
262519.21bbi 1921 . . . . . . . . 9  |-  ( E* y E. x ph  ->  ( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
2718, 22, 26syl2ani 660 . . . . . . . 8  |-  ( E* y E. x ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  y  =  w ) )
2817, 27anim12ii 572 . . . . . . 7  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  -> 
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
299, 28alrimi 1928 . . . . . 6  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  ->  A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
305, 29alrimi 1928 . . . . 5  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  ->  A. x A. y ( ( ph  /\  [
z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
3130alrimivv 1764 . . . 4  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  ->  A. z A. w A. x A. y ( (
ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  ( x  =  z  /\  y  =  w ) ) )
321, 31sylbir 216 . . 3  |-  ( E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w ) )  ->  A. z A. w A. x A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
33 nfs1v 2232 . . . . . . . 8  |-  F/ x [ z  /  x ] [ w  /  y ] ph
34 nfs1v 2232 . . . . . . . . . 10  |-  F/ y [ w  /  y ] ph
3534nfsb 2235 . . . . . . . . 9  |-  F/ y [ z  /  x ] [ w  /  y ] ph
36 pm3.21 449 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( ph  ->  ( ph  /\  [
z  /  x ] [ w  /  y ] ph ) ) )
3736imim1d 78 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( (
( ph  /\  [ z  /  x ] [
w  /  y ]
ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
3835, 37alimd 1927 . . . . . . . 8  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
3933, 38alimd 1927 . . . . . . 7  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( A. x A. y ( (
ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  ( x  =  z  /\  y  =  w ) )  ->  A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
4039com12 32 . . . . . 6  |-  ( A. x A. y ( (
ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  ( x  =  z  /\  y  =  w ) )  -> 
( [ z  /  x ] [ w  / 
y ] ph  ->  A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
4140aleximi 1700 . . . . 5  |-  ( A. w A. x A. y
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( E. w [ z  /  x ] [ w  /  y ] ph  ->  E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
4241aleximi 1700 . . . 4  |-  ( A. z A. w A. x A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( E. z E. w [ z  /  x ] [
w  /  y ]
ph  ->  E. z E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
43 2nexaln 1698 . . . . . 6  |-  ( -. 
E. x E. y ph 
<-> 
A. x A. y  -.  ph )
44 2sb8e 2262 . . . . . 6  |-  ( E. x E. y ph  <->  E. z E. w [
z  /  x ] [ w  /  y ] ph )
4543, 44xchnxbi 309 . . . . 5  |-  ( -. 
E. z E. w [ z  /  x ] [ w  /  y ] ph  <->  A. x A. y  -.  ph )
46 pm2.21 111 . . . . . . . . 9  |-  ( -. 
ph  ->  ( ph  ->  ( x  =  z  /\  y  =  w )
) )
47462alimi 1681 . . . . . . . 8  |-  ( A. x A. y  -.  ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )
48472eximi 1703 . . . . . . 7  |-  ( E. z E. w A. x A. y  -.  ph  ->  E. z E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) )
494819.23bi 1922 . . . . . 6  |-  ( E. w A. x A. y  -.  ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
504919.23bi 1922 . . . . 5  |-  ( A. x A. y  -.  ph  ->  E. z E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) )
5145, 50sylbi 198 . . . 4  |-  ( -. 
E. z E. w [ z  /  x ] [ w  /  y ] ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
5242, 51pm2.61d1 162 . . 3  |-  ( A. z A. w A. x A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
5332, 52impbii 190 . 2  |-  ( E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w ) )  <->  A. z A. w A. x A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
54 alrot4 1897 . 2  |-  ( A. z A. w A. x A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  <->  A. x A. y A. z A. w ( ( ph  /\  [
z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
5553, 54bitri 252 1  |-  ( E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w ) )  <->  A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 187    /\ wa 370   A.wal 1435   E.wex 1659   [wsb 1786   E*wmo 2266
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1839  ax-10 1887  ax-11 1892  ax-12 1905  ax-13 2053
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2269  df-mo 2270
This theorem is referenced by:  2mos  2349
  Copyright terms: Public domain W3C validator