ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  acexmid Unicode version

Theorem acexmid 6016
Description: The axiom of choice implies excluded middle. Theorem 1.3 in [Bauer] p. 483.

The statement of the axiom of choice given here is ac2 in the Metamath Proof Explorer (version of 3-Aug-2019). In particular, note that the choice function  y provides a value when  z is inhabited (as opposed to nonempty as in some statements of the axiom of choice).

Essentially the same proof can also be found at "The axiom of choice implies instances of EM", [Crosilla], p. "Set-theoretic principles incompatible with intuitionistic logic".

Often referred to as Diaconescu's theorem, or Diaconescu-Goodman-Myhill theorem, after Radu Diaconescu who discovered it in 1975 in the framework of topos theory and N. D. Goodman and John Myhill in 1978 in the framework of set theory (although it already appeared as an exercise in Errett Bishop's book Foundations of Constructive Analysis from 1967).

For this theorem stated using the df-ac 7420 and df-exmid 4285 syntaxes, see exmidac 7423. (Contributed by Jim Kingdon, 4-Aug-2019.)

Hypothesis
Ref Expression
acexmid.choice  |-  E. y A. z  e.  x  A. w  e.  z  E! v  e.  z  E. u  e.  y 
( z  e.  u  /\  v  e.  u
)
Assertion
Ref Expression
acexmid  |-  ( ph  \/  -.  ph )
Distinct variable group:    x, y, z, w, v, u
Allowed substitution hints:    ph( x, y, z, w, v, u)

Proof of Theorem acexmid
Dummy variables  a  b  c  d  e  f are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nfv 1576 . . . . . . . . . . . . . 14  |-  F/ v ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )
21sb8eu 2092 . . . . . . . . . . . . 13  |-  ( E! f ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )  <->  E! v [ v  /  f ] ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) ) )
3 eleq12 2296 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( f  =  v  /\  c  =  z )  ->  ( f  e.  c  <-> 
v  e.  z ) )
43ancoms 268 . . . . . . . . . . . . . . . . . . 19  |-  ( ( c  =  z  /\  f  =  v )  ->  ( f  e.  c  <-> 
v  e.  z ) )
543adant3 1043 . . . . . . . . . . . . . . . . . 18  |-  ( ( c  =  z  /\  f  =  v  /\  b  =  y )  ->  ( f  e.  c  <-> 
v  e.  z ) )
6 eleq12 2296 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( c  =  z  /\  e  =  u )  ->  ( c  e.  e  <-> 
z  e.  u ) )
763ad2antl1 1185 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( c  =  z  /\  f  =  v  /\  b  =  y )  /\  e  =  u )  ->  (
c  e.  e  <->  z  e.  u ) )
8 eleq12 2296 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( f  =  v  /\  e  =  u )  ->  ( f  e.  e  <-> 
v  e.  u ) )
983ad2antl2 1186 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( c  =  z  /\  f  =  v  /\  b  =  y )  /\  e  =  u )  ->  (
f  e.  e  <->  v  e.  u ) )
107, 9anbi12d 473 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( c  =  z  /\  f  =  v  /\  b  =  y )  /\  e  =  u )  ->  (
( c  e.  e  /\  f  e.  e )  <->  ( z  e.  u  /\  v  e.  u ) ) )
11 simpl3 1028 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( c  =  z  /\  f  =  v  /\  b  =  y )  /\  e  =  u )  ->  b  =  y )
1210, 11cbvrexdva2 2775 . . . . . . . . . . . . . . . . . 18  |-  ( ( c  =  z  /\  f  =  v  /\  b  =  y )  ->  ( E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) )
135, 12anbi12d 473 . . . . . . . . . . . . . . . . 17  |-  ( ( c  =  z  /\  f  =  v  /\  b  =  y )  ->  ( ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )  <->  ( v  e.  z  /\  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) ) )
14133com23 1235 . . . . . . . . . . . . . . . 16  |-  ( ( c  =  z  /\  b  =  y  /\  f  =  v )  ->  ( ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )  <->  ( v  e.  z  /\  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) ) )
15143expa 1229 . . . . . . . . . . . . . . 15  |-  ( ( ( c  =  z  /\  b  =  y )  /\  f  =  v )  ->  (
( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )  <->  ( v  e.  z  /\  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) ) )
1615sbiedv 1837 . . . . . . . . . . . . . 14  |-  ( ( c  =  z  /\  b  =  y )  ->  ( [ v  / 
f ] ( f  e.  c  /\  E. e  e.  b  (
c  e.  e  /\  f  e.  e )
)  <->  ( v  e.  z  /\  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) ) )
1716eubidv 2087 . . . . . . . . . . . . 13  |-  ( ( c  =  z  /\  b  =  y )  ->  ( E! v [ v  /  f ] ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )  <->  E! v
( v  e.  z  /\  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) ) )
182, 17bitrid 192 . . . . . . . . . . . 12  |-  ( ( c  =  z  /\  b  =  y )  ->  ( E! f ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e )
)  <->  E! v ( v  e.  z  /\  E. u  e.  y  (
z  e.  u  /\  v  e.  u )
) ) )
19 df-reu 2517 . . . . . . . . . . . 12  |-  ( E! f  e.  c  E. e  e.  b  (
c  e.  e  /\  f  e.  e )  <->  E! f ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) ) )
20 df-reu 2517 . . . . . . . . . . . 12  |-  ( E! v  e.  z  E. u  e.  y  (
z  e.  u  /\  v  e.  u )  <->  E! v ( v  e.  z  /\  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) )
2118, 19, 203bitr4g 223 . . . . . . . . . . 11  |-  ( ( c  =  z  /\  b  =  y )  ->  ( E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) )
2221adantr 276 . . . . . . . . . 10  |-  ( ( ( c  =  z  /\  b  =  y )  /\  d  =  w )  ->  ( E! f  e.  c  E. e  e.  b 
( c  e.  e  /\  f  e.  e )  <->  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u
) ) )
23 simpll 527 . . . . . . . . . 10  |-  ( ( ( c  =  z  /\  b  =  y )  /\  d  =  w )  ->  c  =  z )
2422, 23cbvraldva2 2774 . . . . . . . . 9  |-  ( ( c  =  z  /\  b  =  y )  ->  ( A. d  e.  c  E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  A. w  e.  z  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) )
2524ancoms 268 . . . . . . . 8  |-  ( ( b  =  y  /\  c  =  z )  ->  ( A. d  e.  c  E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  A. w  e.  z  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) )
2625adantll 476 . . . . . . 7  |-  ( ( ( a  =  x  /\  b  =  y )  /\  c  =  z )  ->  ( A. d  e.  c  E! f  e.  c  E. e  e.  b 
( c  e.  e  /\  f  e.  e )  <->  A. w  e.  z  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u
) ) )
27 simpll 527 . . . . . . 7  |-  ( ( ( a  =  x  /\  b  =  y )  /\  c  =  z )  ->  a  =  x )
2826, 27cbvraldva2 2774 . . . . . 6  |-  ( ( a  =  x  /\  b  =  y )  ->  ( A. c  e.  a  A. d  e.  c  E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  A. z  e.  x  A. w  e.  z  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) ) )
2928cbvexdva 1978 . . . . 5  |-  ( a  =  x  ->  ( E. b A. c  e.  a  A. d  e.  c  E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  E. y A. z  e.  x  A. w  e.  z  E! v  e.  z  E. u  e.  y 
( z  e.  u  /\  v  e.  u
) ) )
3029cbvalv 1966 . . . 4  |-  ( A. a E. b A. c  e.  a  A. d  e.  c  E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )  <->  A. x E. y A. z  e.  x  A. w  e.  z  E! v  e.  z  E. u  e.  y  ( z  e.  u  /\  v  e.  u ) )
31 acexmid.choice . . . 4  |-  E. y A. z  e.  x  A. w  e.  z  E! v  e.  z  E. u  e.  y 
( z  e.  u  /\  v  e.  u
)
3230, 31mpgbir 1501 . . 3  |-  A. a E. b A. c  e.  a  A. d  e.  c  E! f  e.  c  E. e  e.  b  ( c  e.  e  /\  f  e.  e )
3332spi 1584 . 2  |-  E. b A. c  e.  a  A. d  e.  c  E! f  e.  c  E. e  e.  b 
( c  e.  e  /\  f  e.  e )
3433acexmidlemv 6015 1  |-  ( ph  \/  -.  ph )
Colors of variables: wff set class
Syntax hints:   -. wn 3    /\ wa 104    <-> wb 105    \/ wo 715    /\ w3a 1004   A.wal 1395   E.wex 1540   [wsb 1810   E!weu 2079   A.wral 2510   E.wrex 2511   E!wreu 2512
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-14 2205  ax-ext 2213  ax-sep 4207  ax-nul 4215  ax-pow 4264  ax-pr 4299
This theorem depends on definitions:  df-bi 117  df-3or 1005  df-3an 1006  df-tru 1400  df-nf 1509  df-sb 1811  df-eu 2082  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ral 2515  df-rex 2516  df-reu 2517  df-rab 2519  df-v 2804  df-sbc 3032  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-pw 3654  df-sn 3675  df-pr 3676  df-uni 3894  df-tr 4188  df-iord 4463  df-on 4465  df-suc 4468  df-iota 5286  df-riota 5970
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator