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

Theorem acexmid 5874
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 7205 and df-exmid 4196 syntaxes, see exmidac 7208. (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 1528 . . . . . . . . . . . . . 14  |-  F/ v ( f  e.  c  /\  E. e  e.  b  ( c  e.  e  /\  f  e.  e ) )
21sb8eu 2039 . . . . . . . . . . . . 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 2242 . . . . . . . . . . . . . . . . . . . 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 1017 . . . . . . . . . . . . . . . . . 18  |-  ( ( c  =  z  /\  f  =  v  /\  b  =  y )  ->  ( f  e.  c  <-> 
v  e.  z ) )
6 eleq12 2242 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( c  =  z  /\  e  =  u )  ->  ( c  e.  e  <-> 
z  e.  u ) )
763ad2antl1 1159 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( c  =  z  /\  f  =  v  /\  b  =  y )  /\  e  =  u )  ->  (
c  e.  e  <->  z  e.  u ) )
8 eleq12 2242 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( f  =  v  /\  e  =  u )  ->  ( f  e.  e  <-> 
v  e.  u ) )
983ad2antl2 1160 . . . . . . . . . . . . . . . . . . . 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 1002 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( c  =  z  /\  f  =  v  /\  b  =  y )  /\  e  =  u )  ->  b  =  y )
1210, 11cbvrexdva2 2712 . . . . . . . . . . . . . . . . . 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 1209 . . . . . . . . . . . . . . . 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 1203 . . . . . . . . . . . . . . 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 1789 . . . . . . . . . . . . . 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 2034 . . . . . . . . . . . . 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 2462 . . . . . . . . . . . 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 2462 . . . . . . . . . . . 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 2711 . . . . . . . . 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 2711 . . . . . 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 1929 . . . . 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 1917 . . . 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 1453 . . 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 1536 . 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 5873 1  |-  ( ph  \/  -.  ph )
Colors of variables: wff set class
Syntax hints:   -. wn 3    /\ wa 104    <-> wb 105    \/ wo 708    /\ w3a 978   A.wal 1351   E.wex 1492   [wsb 1762   E!weu 2026   A.wral 2455   E.wrex 2456   E!wreu 2457
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 614  ax-in2 615  ax-io 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-14 2151  ax-ext 2159  ax-sep 4122  ax-nul 4130  ax-pow 4175  ax-pr 4210
This theorem depends on definitions:  df-bi 117  df-3or 979  df-3an 980  df-tru 1356  df-nf 1461  df-sb 1763  df-eu 2029  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ral 2460  df-rex 2461  df-reu 2462  df-rab 2464  df-v 2740  df-sbc 2964  df-dif 3132  df-un 3134  df-in 3136  df-ss 3143  df-nul 3424  df-pw 3578  df-sn 3599  df-pr 3600  df-uni 3811  df-tr 4103  df-iord 4367  df-on 4369  df-suc 4372  df-iota 5179  df-riota 5831
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator