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

Theorem 2mo 2551
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 2550 . . . 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 2481 . . . . . . 7  |-  F/ x E* x E. y ph
3 nfe1 2027 . . . . . . . 8  |-  F/ x E. x ph
43nfmo 2487 . . . . . . 7  |-  F/ x E* y E. x ph
52, 4nfan 1828 . . . . . 6  |-  F/ x
( E* x E. y ph  /\  E* y E. x ph )
6 nfe1 2027 . . . . . . . . 9  |-  F/ y E. y ph
76nfmo 2487 . . . . . . . 8  |-  F/ y E* x E. y ph
8 nfmo1 2481 . . . . . . . 8  |-  F/ y E* y E. x ph
97, 8nfan 1828 . . . . . . 7  |-  F/ y ( E* x E. y ph  /\  E* y E. x ph )
10 19.8a 2052 . . . . . . . . 9  |-  ( ph  ->  E. y ph )
11 spsbe 1884 . . . . . . . . . 10  |-  ( [ w  /  y ]
ph  ->  E. y ph )
1211sbimi 1886 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ z  /  x ] E. y ph )
13 nfv 1843 . . . . . . . . . . . 12  |-  F/ z E. y ph
1413mo3 2507 . . . . . . . . . . 11  |-  ( E* x E. y ph  <->  A. x A. z ( ( E. y ph  /\ 
[ z  /  x ] E. y ph )  ->  x  =  z ) )
1514biimpi 206 . . . . . . . . . 10  |-  ( E* x E. y ph  ->  A. x A. z
( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
161519.21bbi 2060 . . . . . . . . 9  |-  ( E* x E. y ph  ->  ( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
1710, 12, 16syl2ani 688 . . . . . . . 8  |-  ( E* x E. y ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  x  =  z ) )
18 19.8a 2052 . . . . . . . . 9  |-  ( ph  ->  E. x ph )
19 sbcom2 2445 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  <->  [ w  /  y ] [ z  /  x ] ph )
20 spsbe 1884 . . . . . . . . . . 11  |-  ( [ z  /  x ] ph  ->  E. x ph )
2120sbimi 1886 . . . . . . . . . 10  |-  ( [ w  /  y ] [ z  /  x ] ph  ->  [ w  /  y ] E. x ph )
2219, 21sylbi 207 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ w  /  y ] E. x ph )
23 nfv 1843 . . . . . . . . . . . 12  |-  F/ w E. x ph
2423mo3 2507 . . . . . . . . . . 11  |-  ( E* y E. x ph  <->  A. y A. w ( ( E. x ph  /\ 
[ w  /  y ] E. x ph )  ->  y  =  w ) )
2524biimpi 206 . . . . . . . . . 10  |-  ( E* y E. x ph  ->  A. y A. w
( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
262519.21bbi 2060 . . . . . . . . 9  |-  ( E* y E. x ph  ->  ( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
2718, 22, 26syl2ani 688 . . . . . . . 8  |-  ( E* y E. x ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  y  =  w ) )
2817, 27anim12ii 594 . . . . . . 7  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  -> 
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
299, 28alrimi 2082 . . . . . 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 2082 . . . . 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 1856 . . . 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 225 . . 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 2437 . . . . . . . 8  |-  F/ x [ z  /  x ] [ w  /  y ] ph
34 nfs1v 2437 . . . . . . . . . 10  |-  F/ y [ w  /  y ] ph
3534nfsb 2440 . . . . . . . . 9  |-  F/ y [ z  /  x ] [ w  /  y ] ph
36 pm3.21 464 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( ph  ->  ( ph  /\  [
z  /  x ] [ w  /  y ] ph ) ) )
3736imim1d 82 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( (
( ph  /\  [ z  /  x ] [
w  /  y ]
ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
3835, 37alimd 2081 . . . . . . . 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 2081 . . . . . . 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 1759 . . . . 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 1759 . . . 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 1757 . . . . . 6  |-  ( -. 
E. x E. y ph 
<-> 
A. x A. y  -.  ph )
44 2sb8e 2467 . . . . . 6  |-  ( E. x E. y ph  <->  E. z E. w [
z  /  x ] [ w  /  y ] ph )
4543, 44xchnxbi 322 . . . . 5  |-  ( -. 
E. z E. w [ z  /  x ] [ w  /  y ] ph  <->  A. x A. y  -.  ph )
46 pm2.21 120 . . . . . . . . 9  |-  ( -. 
ph  ->  ( ph  ->  ( x  =  z  /\  y  =  w )
) )
47462alimi 1740 . . . . . . . 8  |-  ( A. x A. y  -.  ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )
48472eximi 1763 . . . . . . 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 2061 . . . . . 6  |-  ( E. w A. x A. y  -.  ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
504919.23bi 2061 . . . . 5  |-  ( A. x A. y  -.  ph  ->  E. z E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) )
5145, 50sylbi 207 . . . 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 171 . . 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 199 . 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 2039 . 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 264 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 196    /\ wa 384   A.wal 1481   E.wex 1704   [wsb 1880   E*wmo 2471
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475
This theorem is referenced by:  2mos  2552
  Copyright terms: Public domain W3C validator