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

Theorem 2mo 2234
Description: Two equivalent expressions for double "at most one." (Contributed by NM, 2-Feb-2005.) (Revised by Mario Carneiro, 17-Oct-2016.)
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
Dummy variables  v  u are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 equequ2 1669 . . . . . . 7  |-  ( v  =  z  ->  (
x  =  v  <->  x  =  z ) )
2 equequ2 1669 . . . . . . 7  |-  ( u  =  w  ->  (
y  =  u  <->  y  =  w ) )
31, 2bi2anan9 843 . . . . . 6  |-  ( ( v  =  z  /\  u  =  w )  ->  ( ( x  =  v  /\  y  =  u )  <->  ( x  =  z  /\  y  =  w ) ) )
43imbi2d 307 . . . . 5  |-  ( ( v  =  z  /\  u  =  w )  ->  ( ( ph  ->  ( x  =  v  /\  y  =  u )
)  <->  ( ph  ->  ( x  =  z  /\  y  =  w )
) ) )
542albidv 1617 . . . 4  |-  ( ( v  =  z  /\  u  =  w )  ->  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u )
)  <->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
65cbvex2v 1960 . . 3  |-  ( E. v E. u A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  <->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
7 nfv 1609 . . . . . . . . 9  |-  F/ z ( ph  ->  (
x  =  v  /\  y  =  u )
)
8 nfv 1609 . . . . . . . . 9  |-  F/ w
( ph  ->  ( x  =  v  /\  y  =  u ) )
9 nfs1v 2058 . . . . . . . . . 10  |-  F/ x [ z  /  x ] [ w  /  y ] ph
10 nfv 1609 . . . . . . . . . 10  |-  F/ x
( z  =  v  /\  w  =  u )
119, 10nfim 1781 . . . . . . . . 9  |-  F/ x
( [ z  /  x ] [ w  / 
y ] ph  ->  ( z  =  v  /\  w  =  u )
)
12 nfs1v 2058 . . . . . . . . . . 11  |-  F/ y [ w  /  y ] ph
1312nfsb 2061 . . . . . . . . . 10  |-  F/ y [ z  /  x ] [ w  /  y ] ph
14 nfv 1609 . . . . . . . . . 10  |-  F/ y ( z  =  v  /\  w  =  u )
1513, 14nfim 1781 . . . . . . . . 9  |-  F/ y ( [ z  /  x ] [ w  / 
y ] ph  ->  ( z  =  v  /\  w  =  u )
)
16 sbequ12 1872 . . . . . . . . . . 11  |-  ( y  =  w  ->  ( ph 
<->  [ w  /  y ] ph ) )
17 sbequ12 1872 . . . . . . . . . . 11  |-  ( x  =  z  ->  ( [ w  /  y ] ph  <->  [ z  /  x ] [ w  /  y ] ph ) )
1816, 17sylan9bbr 681 . . . . . . . . . 10  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ph  <->  [ z  /  x ] [ w  /  y ] ph ) )
19 equequ1 1667 . . . . . . . . . . 11  |-  ( x  =  z  ->  (
x  =  v  <->  z  =  v ) )
20 equequ1 1667 . . . . . . . . . . 11  |-  ( y  =  w  ->  (
y  =  u  <->  w  =  u ) )
2119, 20bi2anan9 843 . . . . . . . . . 10  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  =  v  /\  y  =  u )  <->  ( z  =  v  /\  w  =  u ) ) )
2218, 21imbi12d 311 . . . . . . . . 9  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( ph  ->  ( x  =  v  /\  y  =  u )
)  <->  ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
237, 8, 11, 15, 22cbval2 1957 . . . . . . . 8  |-  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  <->  A. z A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) )
2423biimpi 186 . . . . . . 7  |-  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  ->  A. z A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) )
2524ancli 534 . . . . . 6  |-  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  ->  ( A. x A. y (
ph  ->  ( x  =  v  /\  y  =  u ) )  /\  A. z A. w ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
26 alcom 1723 . . . . . . . . 9  |-  ( A. y A. z A. w
( ( ph  ->  ( x  =  v  /\  y  =  u )
)  /\  ( [
z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  <->  A. z A. y A. w ( ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
278, 15aaan 1837 . . . . . . . . . 10  |-  ( A. y A. w ( (
ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  <-> 
( A. y (
ph  ->  ( x  =  v  /\  y  =  u ) )  /\  A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
2827albii 1556 . . . . . . . . 9  |-  ( A. z A. y A. w
( ( ph  ->  ( x  =  v  /\  y  =  u )
)  /\  ( [
z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  <->  A. z ( A. y
( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
2926, 28bitri 240 . . . . . . . 8  |-  ( A. y A. z A. w
( ( ph  ->  ( x  =  v  /\  y  =  u )
)  /\  ( [
z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  <->  A. z ( A. y
( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
3029albii 1556 . . . . . . 7  |-  ( A. x A. y A. z A. w ( ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  <->  A. x A. z ( A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
31 nfv 1609 . . . . . . . 8  |-  F/ z A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )
3211nfal 1778 . . . . . . . 8  |-  F/ x A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) )
3331, 32aaan 1837 . . . . . . 7  |-  ( A. x A. z ( A. y ( ph  ->  ( x  =  v  /\  y  =  u )
)  /\  A. w
( [ z  /  x ] [ w  / 
y ] ph  ->  ( z  =  v  /\  w  =  u )
) )  <->  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  A. z A. w ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
3430, 33bitri 240 . . . . . 6  |-  ( A. x A. y A. z A. w ( ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  <-> 
( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u )
)  /\  A. z A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
3525, 34sylibr 203 . . . . 5  |-  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  ->  A. x A. y A. z A. w ( ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) ) )
36 prth 554 . . . . . . . 8  |-  ( ( ( ph  ->  (
x  =  v  /\  y  =  u )
)  /\  ( [
z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  ->  ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
( x  =  v  /\  y  =  u )  /\  ( z  =  v  /\  w  =  u ) ) ) )
37 equtr2 1673 . . . . . . . . . 10  |-  ( ( x  =  v  /\  z  =  v )  ->  x  =  z )
38 equtr2 1673 . . . . . . . . . 10  |-  ( ( y  =  u  /\  w  =  u )  ->  y  =  w )
3937, 38anim12i 549 . . . . . . . . 9  |-  ( ( ( x  =  v  /\  z  =  v )  /\  ( y  =  u  /\  w  =  u ) )  -> 
( x  =  z  /\  y  =  w ) )
4039an4s 799 . . . . . . . 8  |-  ( ( ( x  =  v  /\  y  =  u )  /\  ( z  =  v  /\  w  =  u ) )  -> 
( x  =  z  /\  y  =  w ) )
4136, 40syl6 29 . . . . . . 7  |-  ( ( ( ph  ->  (
x  =  v  /\  y  =  u )
)  /\  ( [
z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  ->  ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
42412alimi 1550 . . . . . 6  |-  ( A. z A. w ( (
ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  ->  A. z A. w
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
43422alimi 1550 . . . . 5  |-  ( A. x A. y A. z A. w ( ( ph  ->  ( x  =  v  /\  y  =  u ) )  /\  ( [ z  /  x ] [ w  /  y ] ph  ->  ( z  =  v  /\  w  =  u ) ) )  ->  A. x A. y A. z A. w ( ( ph  /\  [
z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
4435, 43syl 15 . . . 4  |-  ( A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  ->  A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
4544exlimivv 1625 . . 3  |-  ( E. v E. u A. x A. y ( ph  ->  ( x  =  v  /\  y  =  u ) )  ->  A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
466, 45sylbir 204 . 2  |-  ( 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 )
) )
47 alrot4 1725 . . . . 5  |-  ( A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  <->  A. z A. w A. x A. y ( ( ph  /\  [
z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
) )
48 pm3.21 435 . . . . . . . . . . . 12  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( ph  ->  ( ph  /\  [
z  /  x ] [ w  /  y ] ph ) ) )
4948imim1d 69 . . . . . . . . . . 11  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( (
( ph  /\  [ z  /  x ] [
w  /  y ]
ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  ( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
5013, 49alimd 1756 . . . . . . . . . 10  |-  ( [ z  /  x ] [ w  /  y ] ph  ->  ( A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
519, 50alimd 1756 . . . . . . . . 9  |-  ( [ 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 ) ) ) )
5251com12 27 . . . . . . . 8  |-  ( 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 ) ) ) )
5352alimi 1549 . . . . . . 7  |-  ( A. w A. x A. y
( ( ph  /\  [ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  A. w
( [ z  /  x ] [ w  / 
y ] ph  ->  A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
54 exim 1565 . . . . . . 7  |-  ( A. w ( [ z  /  x ] [
w  /  y ]
ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )  ->  ( E. w [ z  /  x ] [ w  /  y ] ph  ->  E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
5553, 54syl 15 . . . . . 6  |-  ( 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 ) ) ) )
5655alimi 1549 . . . . 5  |-  ( A. z A. w A. x A. y ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  A. z
( E. w [
z  /  x ] [ w  /  y ] ph  ->  E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
5747, 56sylbi 187 . . . 4  |-  ( A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  A. z
( E. w [
z  /  x ] [ w  /  y ] ph  ->  E. w A. x A. y (
ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
58 exim 1565 . . . 4  |-  ( A. z ( E. w [ z  /  x ] [ w  /  y ] ph  ->  E. w A. x A. 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 ) ) ) )
5957, 58syl 15 . . 3  |-  ( A. x A. y A. z A. w ( ( 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 ) ) ) )
60 alnex 1533 . . . . . 6  |-  ( A. w  -.  [ z  /  x ] [ w  / 
y ] ph  <->  -.  E. w [ z  /  x ] [ w  /  y ] ph )
6160albii 1556 . . . . 5  |-  ( A. z A. w  -.  [
z  /  x ] [ w  /  y ] ph  <->  A. z  -.  E. w [ z  /  x ] [ w  /  y ] ph )
62 alnex 1533 . . . . 5  |-  ( A. z  -.  E. w [
z  /  x ] [ w  /  y ] ph  <->  -.  E. z E. w [ z  /  x ] [ w  / 
y ] ph )
6361, 62bitri 240 . . . 4  |-  ( A. z A. w  -.  [
z  /  x ] [ w  /  y ] ph  <->  -.  E. z E. w [ z  /  x ] [ w  / 
y ] ph )
64 nfv 1609 . . . . . . 7  |-  F/ z  -.  ph
65 nfv 1609 . . . . . . 7  |-  F/ w  -.  ph
669nfn 1777 . . . . . . 7  |-  F/ x  -.  [ z  /  x ] [ w  /  y ] ph
6713nfn 1777 . . . . . . 7  |-  F/ y  -.  [ z  /  x ] [ w  / 
y ] ph
6818notbid 285 . . . . . . 7  |-  ( ( x  =  z  /\  y  =  w )  ->  ( -.  ph  <->  -.  [ z  /  x ] [
w  /  y ]
ph ) )
6964, 65, 66, 67, 68cbval2 1957 . . . . . 6  |-  ( A. x A. y  -.  ph  <->  A. z A. w  -.  [ z  /  x ] [ w  /  y ] ph )
70 pm2.21 100 . . . . . . 7  |-  ( -. 
ph  ->  ( ph  ->  ( x  =  z  /\  y  =  w )
) )
71702alimi 1550 . . . . . 6  |-  ( A. x A. y  -.  ph  ->  A. x A. y
( ph  ->  ( x  =  z  /\  y  =  w ) ) )
7269, 71sylbir 204 . . . . 5  |-  ( A. z A. w  -.  [
z  /  x ] [ w  /  y ] ph  ->  A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
73 19.8a 1730 . . . . . 6  |-  ( E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
)  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
747319.23bi 1814 . . . . 5  |-  ( A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w ) )  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
7572, 74syl 15 . . . 4  |-  ( A. z A. w  -.  [
z  /  x ] [ w  /  y ] ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
7663, 75sylbir 204 . . 3  |-  ( -. 
E. z E. w [ z  /  x ] [ w  /  y ] ph  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
7759, 76pm2.61d1 151 . 2  |-  ( A. x A. y A. z A. w ( ( ph  /\ 
[ z  /  x ] [ w  /  y ] ph )  ->  (
x  =  z  /\  y  =  w )
)  ->  E. z E. w A. x A. y ( ph  ->  ( x  =  z  /\  y  =  w )
) )
7846, 77impbii 180 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 set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 176    /\ wa 358   A.wal 1530   E.wex 1531    = wceq 1632   [wsb 1638
This theorem is referenced by:  2mos  2235  2eu6  2241
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878
This theorem depends on definitions:  df-bi 177  df-an 360  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639
  Copyright terms: Public domain W3C validator