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

Theorem hta 9787
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 1931 and weth 10383, using scottexs 9777 to establish the existence of 𝐴.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 9786. (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 2184 . . 3 (𝜑 → ∃𝑥𝜑)
2 scott0s 9778 . . . 4 (∃𝑥𝜑 ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
3 hta.1 . . . . 5 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))}
43neeq1i 2992 . . . 4 (𝐴 ≠ ∅ ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅)
52, 4bitr4i 278 . . 3 (∃𝑥𝜑𝐴 ≠ ∅)
61, 5sylib 218 . 2 (𝜑𝐴 ≠ ∅)
7 scottexs 9777 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ∈ V
83, 7eqeltri 2827 . . . 4 𝐴 ∈ V
9 hta.2 . . . 4 𝐵 = (𝑧𝐴𝑤𝐴 ¬ 𝑤𝑅𝑧)
108, 9htalem 9786 . . 3 ((𝑅 We 𝐴𝐴 ≠ ∅) → 𝐵𝐴)
1110ex 412 . 2 (𝑅 We 𝐴 → (𝐴 ≠ ∅ → 𝐵𝐴))
12 simpl 482 . . . . . 6 ((𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦))) → 𝜑)
1312ss2abi 4018 . . . . 5 {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ⊆ {𝑥𝜑}
143, 13eqsstri 3981 . . . 4 𝐴 ⊆ {𝑥𝜑}
1514sseli 3930 . . 3 (𝐵𝐴𝐵 ∈ {𝑥𝜑})
16 df-sbc 3742 . . 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 1539   = wceq 1541  wex 1780  wcel 2111  {cab 2709  wne 2928  wral 3047  Vcvv 3436  [wsbc 3741  wss 3902  c0 4283   class class class wbr 5091   We wwe 5568  cfv 6481  crio 7302  rankcrnk 9653
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2113  ax-9 2121  ax-10 2144  ax-11 2160  ax-12 2180  ax-ext 2703  ax-rep 5217  ax-sep 5234  ax-nul 5244  ax-pow 5303  ax-pr 5370  ax-un 7668  ax-reg 9478  ax-inf2 9531
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2535  df-eu 2564  df-clab 2710  df-cleq 2723  df-clel 2806  df-nfc 2881  df-ne 2929  df-ral 3048  df-rex 3057  df-rmo 3346  df-reu 3347  df-rab 3396  df-v 3438  df-sbc 3742  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4284  df-if 4476  df-pw 4552  df-sn 4577  df-pr 4579  df-op 4583  df-uni 4860  df-int 4898  df-iun 4943  df-iin 4944  df-br 5092  df-opab 5154  df-mpt 5173  df-tr 5199  df-id 5511  df-eprel 5516  df-po 5524  df-so 5525  df-fr 5569  df-we 5571  df-xp 5622  df-rel 5623  df-cnv 5624  df-co 5625  df-dm 5626  df-rn 5627  df-res 5628  df-ima 5629  df-pred 6248  df-ord 6309  df-on 6310  df-lim 6311  df-suc 6312  df-iota 6437  df-fun 6483  df-fn 6484  df-f 6485  df-f1 6486  df-fo 6487  df-f1o 6488  df-fv 6489  df-riota 7303  df-ov 7349  df-om 7797  df-2nd 7922  df-frecs 8211  df-wrecs 8242  df-recs 8291  df-rdg 8329  df-r1 9654  df-rank 9655
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator