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

Theorem mo3 2304
Description: Alternate definition of "at most one." Definition of [BellMachover] p. 460, except that definition has the side condition that  y not occur in  ph in place of our hypothesis. (Contributed by NM, 8-Mar-1995.) (Proof shortened by Wolf Lammen, 18-Aug-2019.)
Hypothesis
Ref Expression
mo3.1  |-  F/ y
ph
Assertion
Ref Expression
mo3  |-  ( E* x ph  <->  A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y ) )
Distinct variable group:    x, y
Allowed substitution hints:    ph( x, y)

Proof of Theorem mo3
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 nfmo1 2278 . . 3  |-  F/ x E* x ph
2 mo3.1 . . . . 5  |-  F/ y
ph
32nfmo 2284 . . . 4  |-  F/ y E* x ph
4 mo2v 2273 . . . . 5  |-  ( E* x ph  <->  E. z A. x ( ph  ->  x  =  z ) )
5 sp 1911 . . . . . . . 8  |-  ( A. x ( ph  ->  x  =  z )  -> 
( ph  ->  x  =  z ) )
6 spsbim 2189 . . . . . . . . 9  |-  ( A. x ( ph  ->  x  =  z )  -> 
( [ y  /  x ] ph  ->  [ y  /  x ] x  =  z ) )
7 equsb3 2228 . . . . . . . . 9  |-  ( [ y  /  x ]
x  =  z  <->  y  =  z )
86, 7syl6ib 230 . . . . . . . 8  |-  ( A. x ( ph  ->  x  =  z )  -> 
( [ y  /  x ] ph  ->  y  =  z ) )
95, 8anim12d 566 . . . . . . 7  |-  ( A. x ( ph  ->  x  =  z )  -> 
( ( ph  /\  [ y  /  x ] ph )  ->  ( x  =  z  /\  y  =  z ) ) )
10 equtr2 1853 . . . . . . 7  |-  ( ( x  =  z  /\  y  =  z )  ->  x  =  y )
119, 10syl6 35 . . . . . 6  |-  ( A. x ( ph  ->  x  =  z )  -> 
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
1211exlimiv 1767 . . . . 5  |-  ( E. z A. x (
ph  ->  x  =  z )  ->  ( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y )
)
134, 12sylbi 199 . . . 4  |-  ( E* x ph  ->  (
( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
143, 13alrimi 1929 . . 3  |-  ( E* x ph  ->  A. y
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y ) )
151, 14alrimi 1929 . 2  |-  ( E* x ph  ->  A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y ) )
16 nfs1v 2233 . . . . . . . 8  |-  F/ x [ y  /  x ] ph
17 pm3.21 450 . . . . . . . . 9  |-  ( [ y  /  x ] ph  ->  ( ph  ->  (
ph  /\  [ y  /  x ] ph )
) )
1817imim1d 79 . . . . . . . 8  |-  ( [ y  /  x ] ph  ->  ( ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  ( ph  ->  x  =  y ) ) )
1916, 18alimd 1928 . . . . . . 7  |-  ( [ y  /  x ] ph  ->  ( A. x
( ( ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  A. x
( ph  ->  x  =  y ) ) )
2019com12 33 . . . . . 6  |-  ( A. x ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y )  -> 
( [ y  /  x ] ph  ->  A. x
( ph  ->  x  =  y ) ) )
2120aleximi 1701 . . . . 5  |-  ( A. y A. x ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  ( E. y [ y  /  x ] ph  ->  E. y A. x ( ph  ->  x  =  y ) ) )
222sb8e 2220 . . . . 5  |-  ( E. x ph  <->  E. y [ y  /  x ] ph )
232mo2 2276 . . . . 5  |-  ( E* x ph  <->  E. y A. x ( ph  ->  x  =  y ) )
2421, 22, 233imtr4g 274 . . . 4  |-  ( A. y A. x ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  ( E. x ph  ->  E* x ph ) )
25 moabs 2298 . . . 4  |-  ( E* x ph  <->  ( E. x ph  ->  E* x ph ) )
2624, 25sylibr 216 . . 3  |-  ( A. y A. x ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  E* x ph )
2726alcoms 1894 . 2  |-  ( A. x A. y ( (
ph  /\  [ y  /  x ] ph )  ->  x  =  y )  ->  E* x ph )
2815, 27impbii 191 1  |-  ( E* x ph  <->  A. x A. y ( ( ph  /\ 
[ y  /  x ] ph )  ->  x  =  y ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 188    /\ wa 371   A.wal 1436   E.wex 1660   F/wnf 1664   [wsb 1787   E*wmo 2267
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1666  ax-4 1679  ax-5 1749  ax-6 1795  ax-7 1840  ax-10 1888  ax-11 1893  ax-12 1906  ax-13 2054
This theorem depends on definitions:  df-bi 189  df-or 372  df-an 373  df-tru 1441  df-ex 1661  df-nf 1665  df-sb 1788  df-eu 2270  df-mo 2271
This theorem is referenced by:  mo  2305  eu2  2306  mo4f  2313  2mo  2348  2moOLD  2349  rmo3  3392  isarep2  5680  mo5f  28116  rmo3f  28127  rmo4fOLD  28128  bnj580  29730  pm14.12  36678
  Copyright terms: Public domain W3C validator