Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > hta | Structured version Visualization version GIF version |
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 1934 and weth 10182, using scottexs 9576 to establish the existence of 𝐴. For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 9585. (Contributed by NM, 11-Mar-2004.) (Revised by Mario Carneiro, 25-Jun-2015.) |
Ref | Expression |
---|---|
hta.1 | ⊢ 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} |
hta.2 | ⊢ 𝐵 = (℩𝑧 ∈ 𝐴 ∀𝑤 ∈ 𝐴 ¬ 𝑤𝑅𝑧) |
Ref | Expression |
---|---|
hta | ⊢ (𝑅 We 𝐴 → (𝜑 → [𝐵 / 𝑥]𝜑)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | 19.8a 2176 | . . 3 ⊢ (𝜑 → ∃𝑥𝜑) | |
2 | scott0s 9577 | . . . 4 ⊢ (∃𝑥𝜑 ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅) | |
3 | hta.1 | . . . . 5 ⊢ 𝐴 = {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} | |
4 | 3 | neeq1i 3007 | . . . 4 ⊢ (𝐴 ≠ ∅ ↔ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ≠ ∅) |
5 | 2, 4 | bitr4i 277 | . . 3 ⊢ (∃𝑥𝜑 ↔ 𝐴 ≠ ∅) |
6 | 1, 5 | sylib 217 | . 2 ⊢ (𝜑 → 𝐴 ≠ ∅) |
7 | scottexs 9576 | . . . . 5 ⊢ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ∈ V | |
8 | 3, 7 | eqeltri 2835 | . . . 4 ⊢ 𝐴 ∈ V |
9 | hta.2 | . . . 4 ⊢ 𝐵 = (℩𝑧 ∈ 𝐴 ∀𝑤 ∈ 𝐴 ¬ 𝑤𝑅𝑧) | |
10 | 8, 9 | htalem 9585 | . . 3 ⊢ ((𝑅 We 𝐴 ∧ 𝐴 ≠ ∅) → 𝐵 ∈ 𝐴) |
11 | 10 | ex 412 | . 2 ⊢ (𝑅 We 𝐴 → (𝐴 ≠ ∅ → 𝐵 ∈ 𝐴)) |
12 | simpl 482 | . . . . . 6 ⊢ ((𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦))) → 𝜑) | |
13 | 12 | ss2abi 3996 | . . . . 5 ⊢ {𝑥 ∣ (𝜑 ∧ ∀𝑦([𝑦 / 𝑥]𝜑 → (rank‘𝑥) ⊆ (rank‘𝑦)))} ⊆ {𝑥 ∣ 𝜑} |
14 | 3, 13 | eqsstri 3951 | . . . 4 ⊢ 𝐴 ⊆ {𝑥 ∣ 𝜑} |
15 | 14 | sseli 3913 | . . 3 ⊢ (𝐵 ∈ 𝐴 → 𝐵 ∈ {𝑥 ∣ 𝜑}) |
16 | df-sbc 3712 | . . 3 ⊢ ([𝐵 / 𝑥]𝜑 ↔ 𝐵 ∈ {𝑥 ∣ 𝜑}) | |
17 | 15, 16 | sylibr 233 | . 2 ⊢ (𝐵 ∈ 𝐴 → [𝐵 / 𝑥]𝜑) |
18 | 6, 11, 17 | syl56 36 | 1 ⊢ (𝑅 We 𝐴 → (𝜑 → [𝐵 / 𝑥]𝜑)) |
Colors of variables: wff setvar class |
Syntax hints: ¬ wn 3 → wi 4 ∧ wa 395 ∀wal 1537 = wceq 1539 ∃wex 1783 ∈ wcel 2108 {cab 2715 ≠ wne 2942 ∀wral 3063 Vcvv 3422 [wsbc 3711 ⊆ wss 3883 ∅c0 4253 class class class wbr 5070 We wwe 5534 ‘cfv 6418 ℩crio 7211 rankcrnk 9452 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1799 ax-4 1813 ax-5 1914 ax-6 1972 ax-7 2012 ax-8 2110 ax-9 2118 ax-10 2139 ax-11 2156 ax-12 2173 ax-ext 2709 ax-rep 5205 ax-sep 5218 ax-nul 5225 ax-pow 5283 ax-pr 5347 ax-un 7566 ax-reg 9281 ax-inf2 9329 |
This theorem depends on definitions: df-bi 206 df-an 396 df-or 844 df-3or 1086 df-3an 1087 df-tru 1542 df-fal 1552 df-ex 1784 df-nf 1788 df-sb 2069 df-mo 2540 df-eu 2569 df-clab 2716 df-cleq 2730 df-clel 2817 df-nfc 2888 df-ne 2943 df-ral 3068 df-rex 3069 df-reu 3070 df-rmo 3071 df-rab 3072 df-v 3424 df-sbc 3712 df-csb 3829 df-dif 3886 df-un 3888 df-in 3890 df-ss 3900 df-pss 3902 df-nul 4254 df-if 4457 df-pw 4532 df-sn 4559 df-pr 4561 df-tp 4563 df-op 4565 df-uni 4837 df-int 4877 df-iun 4923 df-iin 4924 df-br 5071 df-opab 5133 df-mpt 5154 df-tr 5188 df-id 5480 df-eprel 5486 df-po 5494 df-so 5495 df-fr 5535 df-we 5537 df-xp 5586 df-rel 5587 df-cnv 5588 df-co 5589 df-dm 5590 df-rn 5591 df-res 5592 df-ima 5593 df-pred 6191 df-ord 6254 df-on 6255 df-lim 6256 df-suc 6257 df-iota 6376 df-fun 6420 df-fn 6421 df-f 6422 df-f1 6423 df-fo 6424 df-f1o 6425 df-fv 6426 df-riota 7212 df-ov 7258 df-om 7688 df-2nd 7805 df-frecs 8068 df-wrecs 8099 df-recs 8173 df-rdg 8212 df-r1 9453 df-rank 9454 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |