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

Theorem 2mo 2400
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 2399 . . . 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 2330 . . . . . . 7  |-  F/ x E* x E. y ph
3 nfe1 1935 . . . . . . . 8  |-  F/ x E. x ph
43nfmo 2336 . . . . . . 7  |-  F/ x E* y E. x ph
52, 4nfan 2031 . . . . . 6  |-  F/ x
( E* x E. y ph  /\  E* y E. x ph )
6 nfe1 1935 . . . . . . . . 9  |-  F/ y E. y ph
76nfmo 2336 . . . . . . . 8  |-  F/ y E* x E. y ph
8 nfmo1 2330 . . . . . . . 8  |-  F/ y E* y E. x ph
97, 8nfan 2031 . . . . . . 7  |-  F/ y ( E* x E. y ph  /\  E* y E. x ph )
10 19.8a 1955 . . . . . . . . 9  |-  ( ph  ->  E. y ph )
11 spsbe 1809 . . . . . . . . . 10  |-  ( [ w  /  y ]
ph  ->  E. y ph )
1211sbimi 1811 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ z  /  x ] E. y ph )
13 nfv 1769 . . . . . . . . . . . 12  |-  F/ z E. y ph
1413mo3 2356 . . . . . . . . . . 11  |-  ( E* x E. y ph  <->  A. x A. z ( ( E. y ph  /\ 
[ z  /  x ] E. y ph )  ->  x  =  z ) )
1514biimpi 199 . . . . . . . . . 10  |-  ( E* x E. y ph  ->  A. x A. z
( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
161519.21bbi 1968 . . . . . . . . 9  |-  ( E* x E. y ph  ->  ( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
1710, 12, 16syl2ani 668 . . . . . . . 8  |-  ( E* x E. y ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  x  =  z ) )
18 19.8a 1955 . . . . . . . . 9  |-  ( ph  ->  E. x ph )
19 sbcom2 2294 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  <->  [ w  /  y ] [ z  /  x ] ph )
20 spsbe 1809 . . . . . . . . . . 11  |-  ( [ z  /  x ] ph  ->  E. x ph )
2120sbimi 1811 . . . . . . . . . 10  |-  ( [ w  /  y ] [ z  /  x ] ph  ->  [ w  /  y ] E. x ph )
2219, 21sylbi 200 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ w  /  y ] E. x ph )
23 nfv 1769 . . . . . . . . . . . 12  |-  F/ w E. x ph
2423mo3 2356 . . . . . . . . . . 11  |-  ( E* y E. x ph  <->  A. y A. w ( ( E. x ph  /\ 
[ w  /  y ] E. x ph )  ->  y  =  w ) )
2524biimpi 199 . . . . . . . . . 10  |-  ( E* y E. x ph  ->  A. y A. w
( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
262519.21bbi 1968 . . . . . . . . 9  |-  ( E* y E. x ph  ->  ( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
2718, 22, 26syl2ani 668 . . . . . . . 8  |-  ( E* y E. x ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  y  =  w ) )
2817, 27anim12ii 580 . . . . . . 7  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  -> 
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
299, 28alrimi 1975 . . . . . 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 1975 . . . . 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 1782 . . . 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 218 . . 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 2286 . . . . . . . 8  |-  F/ x [ z  /  x ] [ w  /  y ] ph
34 nfs1v 2286 . . . . . . . . . 10  |-  F/ y [ w  /  y ] ph
3534nfsb 2289 . . . . . . . . 9  |-  F/ y [ z  /  x ] [ w  /  y ] ph
36 pm3.21 455 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( ph  ->  ( ph  /\  [
z  /  x ] [ w  /  y ] ph ) ) )
3736imim1d 77 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( (
( ph  /\  [ z  /  x ] [
w  /  y ]
ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
3835, 37alimd 1974 . . . . . . . 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 1974 . . . . . . 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 1712 . . . . 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 1712 . . . 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 1710 . . . . . 6  |-  ( -. 
E. x E. y ph 
<-> 
A. x A. y  -.  ph )
44 2sb8e 2316 . . . . . 6  |-  ( E. x E. y ph  <->  E. z E. w [
z  /  x ] [ w  /  y ] ph )
4543, 44xchnxbi 315 . . . . 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 1693 . . . . . . . 8  |-  ( A. x A. y  -.  ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )
48472eximi 1716 . . . . . . 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 1969 . . . . . 6  |-  ( E. w A. x A. y  -.  ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
504919.23bi 1969 . . . . 5  |-  ( A. x A. y  -.  ph  ->  E. z E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) )
5145, 50sylbi 200 . . . 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 164 . . 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 192 . 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 1942 . 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 257 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 189    /\ wa 376   A.wal 1450   E.wex 1671   [wsb 1805   E*wmo 2320
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-11 1937  ax-12 1950  ax-13 2104
This theorem depends on definitions:  df-bi 190  df-or 377  df-an 378  df-tru 1455  df-ex 1672  df-nf 1676  df-sb 1806  df-eu 2323  df-mo 2324
This theorem is referenced by:  2mos  2401
  Copyright terms: Public domain W3C validator