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

Theorem hta 9930
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 1926 and weth 10526, using scottexs 9920 to establish the existence of 𝐴.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 9929. (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 2170 . . 3 (𝜑 → ∃𝑥𝜑)
2 scott0s 9921 . . . 4 (∃𝑥𝜑 ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
3 hta.1 . . . . 5 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
43neeq1i 2995 . . . 4 (𝐴 ≠ ∅ ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
52, 4bitr4i 277 . . 3 (∃𝑥𝜑𝐴 ≠ ∅)
61, 5sylib 217 . 2 (𝜑𝐴 ≠ ∅)
7 scottexs 9920 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ∈ V
83, 7eqeltri 2822 . . . 4 𝐴 ∈ V
9 hta.2 . . . 4 𝐵 = (𝑧𝐴𝑤𝐴 ¬ 𝑤𝑅𝑧)
108, 9htalem 9929 . . 3 ((𝑅 We 𝐴𝐴 ≠ ∅) → 𝐵𝐴)
1110ex 411 . 2 (𝑅 We 𝐴 → (𝐴 ≠ ∅ → 𝐵𝐴))
12 simpl 481 . . . . . 6 ((𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦))) → 𝜑)
1312ss2abi 4060 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ⊆ {𝑥𝜑}
143, 13eqsstri 4013 . . . 4 𝐴 ⊆ {𝑥𝜑}
1514sseli 3974 . . 3 (𝐵𝐴𝐵 ∈ {𝑥𝜑})
16 df-sbc 3776 . . 3 ([𝐵 / 𝑥]𝜑𝐵 ∈ {𝑥𝜑})
1715, 16sylibr 233 . 2 (𝐵𝐴[𝐵 / 𝑥]𝜑)
186, 11, 17syl56 36 1 (𝑅 We 𝐴 → (𝜑[𝐵 / 𝑥]𝜑))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 394  wal 1532   = wceq 1534  wex 1774  wcel 2099  {cab 2703  wne 2930  wral 3051  Vcvv 3462  [wsbc 3775  wss 3946  c0 4322   class class class wbr 5143   We wwe 5626  cfv 6543  crio 7368  rankcrnk 9796
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1906  ax-6 1964  ax-7 2004  ax-8 2101  ax-9 2109  ax-10 2130  ax-11 2147  ax-12 2167  ax-ext 2697  ax-rep 5280  ax-sep 5294  ax-nul 5301  ax-pow 5359  ax-pr 5423  ax-un 7735  ax-reg 9625  ax-inf2 9674
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1537  df-fal 1547  df-ex 1775  df-nf 1779  df-sb 2061  df-mo 2529  df-eu 2558  df-clab 2704  df-cleq 2718  df-clel 2803  df-nfc 2878  df-ne 2931  df-ral 3052  df-rex 3061  df-rmo 3364  df-reu 3365  df-rab 3420  df-v 3464  df-sbc 3776  df-csb 3892  df-dif 3949  df-un 3951  df-in 3953  df-ss 3963  df-pss 3966  df-nul 4323  df-if 4524  df-pw 4599  df-sn 4624  df-pr 4626  df-op 4630  df-uni 4906  df-int 4947  df-iun 4995  df-iin 4996  df-br 5144  df-opab 5206  df-mpt 5227  df-tr 5261  df-id 5570  df-eprel 5576  df-po 5584  df-so 5585  df-fr 5627  df-we 5629  df-xp 5678  df-rel 5679  df-cnv 5680  df-co 5681  df-dm 5682  df-rn 5683  df-res 5684  df-ima 5685  df-pred 6302  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6495  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-riota 7369  df-ov 7416  df-om 7866  df-2nd 7993  df-frecs 8285  df-wrecs 8316  df-recs 8390  df-rdg 8429  df-r1 9797  df-rank 9798
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator