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

Theorem hta 7754
Description: A ZFC emulation of Hilbert's transfinite axiom. The set  B has the properties of Hilbert's epsilon, except that it also depends on a well-ordering  R. This theorem arose from discussions with Raph Levien on 5-Mar-2004 about translating the HOL proof language, which uses Hilbert's epsilon. See http://us.metamath.org/downloads/choice.txt (copy of obsolete link http://ghilbert.org/choice.txt) and http://us.metamath.org/downloads/megillaward2005he.pdf.

Hilbert's epsilon is described at http://plato.stanford.edu/entries/epsilon-calculus/. This theorem differs from Hilbert's transfinite axiom described on that page in that it requires  R  We  A as an antecedent. Class  A collects the sets of the least rank for which  ph ( x ) is true. Class  B, which emulates the epsilon, is the minimum element in a well-ordering  R on  A.

If a well-ordering  R on  A can be expressed in a closed form, as might be the case if we are working with say natural numbers, we can eliminate the antecedent with modus ponens, giving us the exact equivalent of Hilbert's transfinite axiom. Otherwise, we replace  R with a dummy set variable, say  w, and attach  w  We  A as an antecedent in each step of the ZFC version of the HOL proof until the epsilon is eliminated. At that point,  B (which will have  w as a free variable) will no longer be present, and we can eliminate  w  We  A by applying exlimiv 1641 and weth 8308, using scottexs 7744 to establish the existence of 
A.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 7753. (Contributed by NM, 11-Mar-2004.) (Revised by Mario Carneiro, 25-Jun-2015.)

Hypotheses
Ref Expression
hta.1  |-  A  =  { x  |  (
ph  /\  A. y
( [. y  /  x ]. ph  ->  ( rank `  x )  C_  ( rank `  y ) ) ) }
hta.2  |-  B  =  ( iota_ z  e.  A A. w  e.  A  -.  w R z )
Assertion
Ref Expression
hta  |-  ( R  We  A  ->  ( ph  ->  [. B  /  x ]. ph ) )
Distinct variable groups:    x, y    z, w, A    ph, y    w, R, z
Allowed substitution hints:    ph( x, z, w)    A( x, y)    B( x, y, z, w)    R( x, y)

Proof of Theorem hta
StepHypRef Expression
1 19.8a 1754 . . 3  |-  ( ph  ->  E. x ph )
2 scott0s 7745 . . . 4  |-  ( E. x ph  <->  { x  |  ( ph  /\  A. y ( [. y  /  x ]. ph  ->  (
rank `  x )  C_  ( rank `  y
) ) ) }  =/=  (/) )
3 hta.1 . . . . 5  |-  A  =  { x  |  (
ph  /\  A. y
( [. y  /  x ]. ph  ->  ( rank `  x )  C_  ( rank `  y ) ) ) }
43neeq1i 2560 . . . 4  |-  ( A  =/=  (/)  <->  { x  |  (
ph  /\  A. y
( [. y  /  x ]. ph  ->  ( rank `  x )  C_  ( rank `  y ) ) ) }  =/=  (/) )
52, 4bitr4i 244 . . 3  |-  ( E. x ph  <->  A  =/=  (/) )
61, 5sylib 189 . 2  |-  ( ph  ->  A  =/=  (/) )
7 scottexs 7744 . . . . 5  |-  { x  |  ( ph  /\  A. y ( [. y  /  x ]. ph  ->  (
rank `  x )  C_  ( rank `  y
) ) ) }  e.  _V
83, 7eqeltri 2457 . . . 4  |-  A  e. 
_V
9 hta.2 . . . 4  |-  B  =  ( iota_ z  e.  A A. w  e.  A  -.  w R z )
108, 9htalem 7753 . . 3  |-  ( ( R  We  A  /\  A  =/=  (/) )  ->  B  e.  A )
1110ex 424 . 2  |-  ( R  We  A  ->  ( A  =/=  (/)  ->  B  e.  A ) )
12 simpl 444 . . . . . 6  |-  ( (
ph  /\  A. y
( [. y  /  x ]. ph  ->  ( rank `  x )  C_  ( rank `  y ) ) )  ->  ph )
1312ss2abi 3358 . . . . 5  |-  { x  |  ( ph  /\  A. y ( [. y  /  x ]. ph  ->  (
rank `  x )  C_  ( rank `  y
) ) ) } 
C_  { x  | 
ph }
143, 13eqsstri 3321 . . . 4  |-  A  C_  { x  |  ph }
1514sseli 3287 . . 3  |-  ( B  e.  A  ->  B  e.  { x  |  ph } )
16 df-sbc 3105 . . 3  |-  ( [. B  /  x ]. ph  <->  B  e.  { x  |  ph }
)
1715, 16sylibr 204 . 2  |-  ( B  e.  A  ->  [. B  /  x ]. ph )
186, 11, 17syl56 32 1  |-  ( R  We  A  ->  ( ph  ->  [. B  /  x ]. ph ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 359   A.wal 1546   E.wex 1547    = wceq 1649    e. wcel 1717   {cab 2373    =/= wne 2550   A.wral 2649   _Vcvv 2899   [.wsbc 3104    C_ wss 3263   (/)c0 3571   class class class wbr 4153    We wwe 4481   ` cfv 5394   iota_crio 6478   rankcrnk 7622
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1661  ax-8 1682  ax-13 1719  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2368  ax-rep 4261  ax-sep 4271  ax-nul 4279  ax-pow 4318  ax-pr 4344  ax-un 4641  ax-reg 7493  ax-inf2 7529
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2242  df-mo 2243  df-clab 2374  df-cleq 2380  df-clel 2383  df-nfc 2512  df-ne 2552  df-ral 2654  df-rex 2655  df-reu 2656  df-rmo 2657  df-rab 2658  df-v 2901  df-sbc 3105  df-csb 3195  df-dif 3266  df-un 3268  df-in 3270  df-ss 3277  df-pss 3279  df-nul 3572  df-if 3683  df-pw 3744  df-sn 3763  df-pr 3764  df-tp 3765  df-op 3766  df-uni 3958  df-int 3993  df-iun 4037  df-iin 4038  df-br 4154  df-opab 4208  df-mpt 4209  df-tr 4244  df-eprel 4435  df-id 4439  df-po 4444  df-so 4445  df-fr 4482  df-we 4484  df-ord 4525  df-on 4526  df-lim 4527  df-suc 4528  df-om 4786  df-xp 4824  df-rel 4825  df-cnv 4826  df-co 4827  df-dm 4828  df-rn 4829  df-res 4830  df-ima 4831  df-iota 5358  df-fun 5396  df-fn 5397  df-f 5398  df-f1 5399  df-fo 5400  df-f1o 5401  df-fv 5402  df-riota 6485  df-recs 6569  df-rdg 6604  df-r1 7623  df-rank 7624
  Copyright terms: Public domain W3C validator