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

Theorem hta 9857
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 10455, using scottexs 9847 to establish the existence of 𝐴.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 9856. (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 9848 . . . 4 (∃𝑥𝜑 ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
3 hta.1 . . . . 5 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
43neeq1i 2990 . . . 4 (𝐴 ≠ ∅ ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
52, 4bitr4i 278 . . 3 (∃𝑥𝜑𝐴 ≠ ∅)
61, 5sylib 218 . 2 (𝜑𝐴 ≠ ∅)
7 scottexs 9847 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ∈ V
83, 7eqeltri 2825 . . . 4 𝐴 ∈ V
9 hta.2 . . . 4 𝐵 = (𝑧𝐴𝑤𝐴 ¬ 𝑤𝑅𝑧)
108, 9htalem 9856 . . 3 ((𝑅 We 𝐴𝐴 ≠ ∅) → 𝐵𝐴)
1110ex 412 . 2 (𝑅 We 𝐴 → (𝐴 ≠ ∅ → 𝐵𝐴))
12 simpl 482 . . . . . 6 ((𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦))) → 𝜑)
1312ss2abi 4033 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ⊆ {𝑥𝜑}
143, 13eqsstri 3996 . . . 4 𝐴 ⊆ {𝑥𝜑}
1514sseli 3945 . . 3 (𝐵𝐴𝐵 ∈ {𝑥𝜑})
16 df-sbc 3757 . . 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 2708  wne 2926  wral 3045  Vcvv 3450  [wsbc 3756  wss 3917  c0 4299   class class class wbr 5110   We wwe 5593  cfv 6514  crio 7346  rankcrnk 9723
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 2702  ax-rep 5237  ax-sep 5254  ax-nul 5264  ax-pow 5323  ax-pr 5390  ax-un 7714  ax-reg 9552  ax-inf2 9601
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 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-ral 3046  df-rex 3055  df-rmo 3356  df-reu 3357  df-rab 3409  df-v 3452  df-sbc 3757  df-csb 3866  df-dif 3920  df-un 3922  df-in 3924  df-ss 3934  df-pss 3937  df-nul 4300  df-if 4492  df-pw 4568  df-sn 4593  df-pr 4595  df-op 4599  df-uni 4875  df-int 4914  df-iun 4960  df-iin 4961  df-br 5111  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5536  df-eprel 5541  df-po 5549  df-so 5550  df-fr 5594  df-we 5596  df-xp 5647  df-rel 5648  df-cnv 5649  df-co 5650  df-dm 5651  df-rn 5652  df-res 5653  df-ima 5654  df-pred 6277  df-ord 6338  df-on 6339  df-lim 6340  df-suc 6341  df-iota 6467  df-fun 6516  df-fn 6517  df-f 6518  df-f1 6519  df-fo 6520  df-f1o 6521  df-fv 6522  df-riota 7347  df-ov 7393  df-om 7846  df-2nd 7972  df-frecs 8263  df-wrecs 8294  df-recs 8343  df-rdg 8381  df-r1 9724  df-rank 9725
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator