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

Theorem hta 7567
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 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 1666 and weth 8122, using scottexs 7557 to establish the existence of 
A.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 7566. (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 1718 . . 3  |-  ( ph  ->  E. x ph )
2 scott0s 7558 . . . 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 2456 . . . 4  |-  ( A  =/=  (/)  <->  { x  |  (
ph  /\  A. y
( [. y  /  x ]. ph  ->  ( rank `  x )  C_  ( rank `  y ) ) ) }  =/=  (/) )
52, 4bitr4i 243 . . 3  |-  ( E. x ph  <->  A  =/=  (/) )
61, 5sylib 188 . 2  |-  ( ph  ->  A  =/=  (/) )
7 scottexs 7557 . . . . 5  |-  { x  |  ( ph  /\  A. y ( [. y  /  x ]. ph  ->  (
rank `  x )  C_  ( rank `  y
) ) ) }  e.  _V
83, 7eqeltri 2353 . . . 4  |-  A  e. 
_V
9 hta.2 . . . 4  |-  B  =  ( iota_ z  e.  A A. w  e.  A  -.  w R z )
108, 9htalem 7566 . . 3  |-  ( ( R  We  A  /\  A  =/=  (/) )  ->  B  e.  A )
1110ex 423 . 2  |-  ( R  We  A  ->  ( A  =/=  (/)  ->  B  e.  A ) )
12 simpl 443 . . . . . 6  |-  ( (
ph  /\  A. y
( [. y  /  x ]. ph  ->  ( rank `  x )  C_  ( rank `  y ) ) )  ->  ph )
1312ss2abi 3245 . . . . 5  |-  { x  |  ( ph  /\  A. y ( [. y  /  x ]. ph  ->  (
rank `  x )  C_  ( rank `  y
) ) ) } 
C_  { x  | 
ph }
143, 13eqsstri 3208 . . . 4  |-  A  C_  { x  |  ph }
1514sseli 3176 . . 3  |-  ( B  e.  A  ->  B  e.  { x  |  ph } )
16 df-sbc 2992 . . 3  |-  ( [. B  /  x ]. ph  <->  B  e.  { x  |  ph }
)
1715, 16sylibr 203 . 2  |-  ( B  e.  A  ->  [. B  /  x ]. ph )
186, 11, 17syl56 30 1  |-  ( R  We  A  ->  ( ph  ->  [. B  /  x ]. ph ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 358   A.wal 1527   E.wex 1528    = wceq 1623    e. wcel 1684   {cab 2269    =/= wne 2446   A.wral 2543   _Vcvv 2788   [.wsbc 2991    C_ wss 3152   (/)c0 3455   class class class wbr 4023    We wwe 4351   ` cfv 5255   iota_crio 6297   rankcrnk 7435
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-reg 7306  ax-inf2 7342
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-ral 2548  df-rex 2549  df-reu 2550  df-rmo 2551  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-int 3863  df-iun 3907  df-iin 3908  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-riota 6304  df-recs 6388  df-rdg 6423  df-r1 7436  df-rank 7437
  Copyright terms: Public domain W3C validator