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

Theorem 2mo 2360
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 2359 . . . 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 2267 . . . . . . 7  |-  F/ x E* x E. y ph
3 nfe1 1778 . . . . . . . 8  |-  F/ x E. x ph
43nfmo 2273 . . . . . . 7  |-  F/ x E* y E. x ph
52, 4nfan 1861 . . . . . 6  |-  F/ x
( E* x E. y ph  /\  E* y E. x ph )
6 nfe1 1778 . . . . . . . . 9  |-  F/ y E. y ph
76nfmo 2273 . . . . . . . 8  |-  F/ y E* x E. y ph
8 nfmo1 2267 . . . . . . . 8  |-  F/ y E* y E. x ph
97, 8nfan 1861 . . . . . . 7  |-  F/ y ( E* x E. y ph  /\  E* y E. x ph )
10 19.8a 1793 . . . . . . . . 9  |-  ( ph  ->  E. y ph )
11 spsbe 1704 . . . . . . . . . 10  |-  ( [ w  /  y ]
ph  ->  E. y ph )
1211sbimi 1706 . . . . . . . . 9  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  [ z  /  x ] E. y ph )
13 nfv 1673 . . . . . . . . . . . 12  |-  F/ z E. y ph
1413mo3 2298 . . . . . . . . . . 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 1887 . . . . . . . . 9  |-  ( E* x E. y ph  ->  ( ( E. y ph  /\  [ z  /  x ] E. y ph )  ->  x  =  z ) )
1710, 12, 16syl2ani 656 . . . . . . . 8  |-  ( E* x E. y ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  x  =  z ) )
18 19.8a 1793 . . . . . . . . 9  |-  ( ph  ->  E. x ph )
19 sbcom2 2151 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  <->  [ w  /  y ] [ z  /  x ] ph )
20 spsbe 1704 . . . . . . . . . . 11  |-  ( [ z  /  x ] ph  ->  E. x ph )
2120sbimi 1706 . . . . . . . . . 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 1673 . . . . . . . . . . . 12  |-  F/ w E. x ph
2423mo3 2298 . . . . . . . . . . 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 1887 . . . . . . . . 9  |-  ( E* y E. x ph  ->  ( ( E. x ph  /\  [ w  / 
y ] E. x ph )  ->  y  =  w ) )
2718, 22, 26syl2ani 656 . . . . . . . 8  |-  ( E* y E. x ph  ->  ( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  y  =  w ) )
2817, 27anim12ii 570 . . . . . . 7  |-  ( ( E* x E. y ph  /\  E* y E. x ph )  -> 
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
299, 28alrimi 1811 . . . . . 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 1811 . . . . 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 1686 . . . 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 2142 . . . . . . . 8  |-  F/ x [ z  /  x ] [ w  /  y ] ph
34 nfs1v 2142 . . . . . . . . . 10  |-  F/ y [ w  /  y ] ph
3534nfsb 2146 . . . . . . . . 9  |-  F/ y [ z  /  x ] [ w  /  y ] ph
36 pm3.21 448 . . . . . . . . . 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 1810 . . . . . . . 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 1810 . . . . . . 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 1622 . . . . 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 1622 . . . 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 1621 . . . . . 6  |-  ( -. 
E. x E. y ph 
<-> 
A. x A. y  -.  ph )
44 2sb8e 2180 . . . . . 6  |-  ( E. x E. y ph  <->  E. z E. w [
z  /  x ] [ w  /  y ] ph )
4543, 44xchnxbi 308 . . . . 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 1605 . . . . . . . 8  |-  ( A. x A. y  -.  ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )
48472eximi 1626 . . . . . . 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 1805 . . . . . 6  |-  ( E. w A. x A. y  -.  ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
504919.23bi 1805 . . . . 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 1785 . 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 369   A.wal 1367   E.wex 1586   [wsb 1700   E*wmo 2254
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258
This theorem is referenced by:  2mos  2363  2eu6OLD  2372
  Copyright terms: Public domain W3C validator