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

Theorem 2mo 2370
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 2369 . . . 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 2297 . . . . . . 7  |-  F/ x E* x E. y ph
3 nfe1 1845 . . . . . . . 8  |-  F/ x E. x ph
43nfmo 2303 . . . . . . 7  |-  F/ x E* y E. x ph
52, 4nfan 1933 . . . . . 6  |-  F/ x
( E* x E. y ph  /\  E* y E. x ph )
6 nfe1 1845 . . . . . . . . 9  |-  F/ y E. y ph
76nfmo 2303 . . . . . . . 8  |-  F/ y E* x E. y ph
8 nfmo1 2297 . . . . . . . 8  |-  F/ y E* y E. x ph
97, 8nfan 1933 . . . . . . 7  |-  F/ y ( E* x E. y ph  /\  E* y E. x ph )
10 19.8a 1862 . . . . . . . . 9  |-  ( ph  ->  E. y ph )
11 spsbe 1748 . . . . . . . . . 10  |-  ( [ w  /  y ]
ph  ->  E. y ph )
1211sbimi 1750 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ z  /  x ] E. y ph )
13 nfv 1712 . . . . . . . . . . . 12  |-  F/ z E. y ph
1413mo3 2324 . . . . . . . . . . 11  |-  ( E* x E. y ph  <->  A. x A. z ( ( E. y ph  /\ 
[ z  /  x ] E. y ph )  ->  x  =  z ) )
1514biimpi 194 . . . . . . . . . 10  |-  ( E* x E. y ph  ->  A. x A. z
( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
161519.21bbi 1875 . . . . . . . . 9  |-  ( E* x E. y ph  ->  ( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
1710, 12, 16syl2ani 654 . . . . . . . 8  |-  ( E* x E. y ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  x  =  z ) )
18 19.8a 1862 . . . . . . . . 9  |-  ( ph  ->  E. x ph )
19 sbcom2 2191 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  <->  [ w  /  y ] [ z  /  x ] ph )
20 spsbe 1748 . . . . . . . . . . 11  |-  ( [ z  /  x ] ph  ->  E. x ph )
2120sbimi 1750 . . . . . . . . . 10  |-  ( [ w  /  y ] [ z  /  x ] ph  ->  [ w  /  y ] E. x ph )
2219, 21sylbi 195 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ w  /  y ] E. x ph )
23 nfv 1712 . . . . . . . . . . . 12  |-  F/ w E. x ph
2423mo3 2324 . . . . . . . . . . 11  |-  ( E* y E. x ph  <->  A. y A. w ( ( E. x ph  /\ 
[ w  /  y ] E. x ph )  ->  y  =  w ) )
2524biimpi 194 . . . . . . . . . 10  |-  ( E* y E. x ph  ->  A. y A. w
( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
262519.21bbi 1875 . . . . . . . . 9  |-  ( E* y E. x ph  ->  ( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
2718, 22, 26syl2ani 654 . . . . . . . 8  |-  ( E* y E. x ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  y  =  w ) )
2817, 27anim12ii 568 . . . . . . 7  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  -> 
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
299, 28alrimi 1882 . . . . . 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 1882 . . . . 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 1725 . . . 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 213 . . 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 2183 . . . . . . . 8  |-  F/ x [ z  /  x ] [ w  /  y ] ph
34 nfs1v 2183 . . . . . . . . . 10  |-  F/ y [ w  /  y ] ph
3534nfsb 2186 . . . . . . . . 9  |-  F/ y [ z  /  x ] [ w  /  y ] ph
36 pm3.21 446 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( ph  ->  ( ph  /\  [
z  /  x ] [ w  /  y ] ph ) ) )
3736imim1d 75 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( (
( ph  /\  [ z  /  x ] [
w  /  y ]
ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
3835, 37alimd 1881 . . . . . . . 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 1881 . . . . . . 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 31 . . . . . 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 1658 . . . . 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 1658 . . . 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 1656 . . . . . 6  |-  ( -. 
E. x E. y ph 
<-> 
A. x A. y  -.  ph )
44 2sb8e 2213 . . . . . 6  |-  ( E. x E. y ph  <->  E. z E. w [
z  /  x ] [ w  /  y ] ph )
4543, 44xchnxbi 306 . . . . 5  |-  ( -. 
E. z E. w [ z  /  x ] [ w  /  y ] ph  <->  A. x A. y  -.  ph )
46 pm2.21 108 . . . . . . . . 9  |-  ( -. 
ph  ->  ( ph  ->  ( x  =  z  /\  y  =  w )
) )
47462alimi 1639 . . . . . . . 8  |-  ( A. x A. y  -.  ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )
48472eximi 1662 . . . . . . 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 1876 . . . . . 6  |-  ( E. w A. x A. y  -.  ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
504919.23bi 1876 . . . . 5  |-  ( A. x A. y  -.  ph  ->  E. z E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) )
5145, 50sylbi 195 . . . 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 159 . . 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 188 . 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 1852 . 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 249 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 184    /\ wa 367   A.wal 1396   E.wex 1617   [wsb 1744   E*wmo 2285
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1623  ax-4 1636  ax-5 1709  ax-6 1752  ax-7 1795  ax-10 1842  ax-11 1847  ax-12 1859  ax-13 2004
This theorem depends on definitions:  df-bi 185  df-or 368  df-an 369  df-tru 1401  df-ex 1618  df-nf 1622  df-sb 1745  df-eu 2288  df-mo 2289
This theorem is referenced by:  2mos  2372  2eu6OLD  2381
  Copyright terms: Public domain W3C validator