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

Theorem hta 9916
Description: A ZFC emulation of Hilbert's transfinite axiom. The set 𝐵 has the properties of Hilbert's epsilon, except that it also depends on a well-ordering 𝑅. This theorem arose from discussions with Raph Levien on 5-Mar-2004 about translating the HOL proof language, which uses Hilbert's epsilon. See https://us.metamath.org/downloads/choice.txt (copy of obsolete link http://ghilbert.org/choice.txt) and https://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 𝑅 We 𝐴 as an antecedent. Class 𝐴 collects the sets of the least rank for which 𝜑(𝑥) is true. Class 𝐵, which emulates Hilbert's epsilon, is the minimum element in a well-ordering 𝑅 on 𝐴.

If a well-ordering 𝑅 on 𝐴 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 𝑅 with a dummy setvar variable, say 𝑤, and attach 𝑤 We 𝐴 as an antecedent in each step of the ZFC version of the HOL proof until the epsilon is eliminated. At that point, 𝐵 (which will have 𝑤 as a free variable) will no longer be present, and we can eliminate 𝑤 We 𝐴 by applying exlimiv 1930 and weth 10514, using scottexs 9906 to establish the existence of 𝐴.

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

Hypotheses
Ref Expression
hta.1 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
hta.2 𝐵 = (𝑧𝐴𝑤𝐴 ¬ 𝑤𝑅𝑧)
Assertion
Ref Expression
hta (𝑅 We 𝐴 → (𝜑[𝐵 / 𝑥]𝜑))
Distinct variable groups:   𝑥,𝑦   𝑧,𝑤,𝐴   𝜑,𝑦   𝑤,𝑅,𝑧
Allowed substitution hints:   𝜑(𝑥,𝑧,𝑤)   𝐴(𝑥,𝑦)   𝐵(𝑥,𝑦,𝑧,𝑤)   𝑅(𝑥,𝑦)

Proof of Theorem hta
StepHypRef Expression
1 19.8a 2182 . . 3 (𝜑 → ∃𝑥𝜑)
2 scott0s 9907 . . . 4 (∃𝑥𝜑 ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
3 hta.1 . . . . 5 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
43neeq1i 2997 . . . 4 (𝐴 ≠ ∅ ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
52, 4bitr4i 278 . . 3 (∃𝑥𝜑𝐴 ≠ ∅)
61, 5sylib 218 . 2 (𝜑𝐴 ≠ ∅)
7 scottexs 9906 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ∈ V
83, 7eqeltri 2831 . . . 4 𝐴 ∈ V
9 hta.2 . . . 4 𝐵 = (𝑧𝐴𝑤𝐴 ¬ 𝑤𝑅𝑧)
108, 9htalem 9915 . . 3 ((𝑅 We 𝐴𝐴 ≠ ∅) → 𝐵𝐴)
1110ex 412 . 2 (𝑅 We 𝐴 → (𝐴 ≠ ∅ → 𝐵𝐴))
12 simpl 482 . . . . . 6 ((𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦))) → 𝜑)
1312ss2abi 4047 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ⊆ {𝑥𝜑}
143, 13eqsstri 4010 . . . 4 𝐴 ⊆ {𝑥𝜑}
1514sseli 3959 . . 3 (𝐵𝐴𝐵 ∈ {𝑥𝜑})
16 df-sbc 3771 . . 3 ([𝐵 / 𝑥]𝜑𝐵 ∈ {𝑥𝜑})
1715, 16sylibr 234 . 2 (𝐵𝐴[𝐵 / 𝑥]𝜑)
186, 11, 17syl56 36 1 (𝑅 We 𝐴 → (𝜑[𝐵 / 𝑥]𝜑))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 395  wal 1538   = wceq 1540  wex 1779  wcel 2109  {cab 2714  wne 2933  wral 3052  Vcvv 3464  [wsbc 3770  wss 3931  c0 4313   class class class wbr 5124   We wwe 5610  cfv 6536  crio 7366  rankcrnk 9782
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2708  ax-rep 5254  ax-sep 5271  ax-nul 5281  ax-pow 5340  ax-pr 5407  ax-un 7734  ax-reg 9611  ax-inf2 9660
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2810  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3062  df-rmo 3364  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3771  df-csb 3880  df-dif 3934  df-un 3936  df-in 3938  df-ss 3948  df-pss 3951  df-nul 4314  df-if 4506  df-pw 4582  df-sn 4607  df-pr 4609  df-op 4613  df-uni 4889  df-int 4928  df-iun 4974  df-iin 4975  df-br 5125  df-opab 5187  df-mpt 5207  df-tr 5235  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6295  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6538  df-fn 6539  df-f 6540  df-f1 6541  df-fo 6542  df-f1o 6543  df-fv 6544  df-riota 7367  df-ov 7413  df-om 7867  df-2nd 7994  df-frecs 8285  df-wrecs 8316  df-recs 8390  df-rdg 8429  df-r1 9783  df-rank 9784
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator