HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem hta 3619
Description: A ZFC emulation of Hilbert's transfinite axiom. The set B has the properties of Hilbert's epsilon, except that it also depends on a well-ordering R. This theorem arose from discussions with Raph Levien on 5-Mar-04 about translating the HOL proof language, which uses Hilbert's epsilon.

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 R We A as an antecedent. Class A collects the sets of least rank for which φ(x) is true. Class B, which emulates the epsilon, is the minimum element in a well-ordering R on A.

If a well-ordering R on A 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 R with a dummy set variable, say w, and attach w We A as an antecedent in each step of the ZFC version of the HOL proof until the epsilon is eliminated. At that point, B (which will have w as a free variable) will no longer be present, and we can eliminate w We A by applying 19.23aiv 952 and weth 3602, using scottexs 3543 to establish the existence of A.

For a version of this theorem scheme using class (meta)variables instead of wff (meta)variables, see htalem 3618.

Hypotheses
Ref Expression
hta.1 A = {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}
hta.2 B = {xA∣∀yA ¬ yRx}
Assertion
Ref Expression
hta (R We A → (φ → [B / x]φ))
Distinct variable group(s):   x,y,R   φ,y

Proof of Theorem hta
StepHypRef Expression
1 hta.1 . . . . 5 A = {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}
2 weeq2 2190 . . . . 5 (A = {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → (R We AR We {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}))
31, 2ax-mp 6 . . . 4 (R We AR We {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
4 scottexs 3543 . . . . . 6 {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ∈ V
5 hta.2 . . . . . . 7 B = {xA∣∀yA ¬ yRx}
6 ax-17 925 . . . . . . . . . . . . . . . 16 (φ → ∀yφ)
7 hba1 698 . . . . . . . . . . . . . . . 16 (∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)) → ∀yy([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))
86, 7hban 704 . . . . . . . . . . . . . . 15 ((φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y))) → ∀y(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y))))
98hbab 1096 . . . . . . . . . . . . . 14 (z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → ∀y z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
101eleq2i 1153 . . . . . . . . . . . . . 14 (zAz ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
1110bial 695 . . . . . . . . . . . . . 14 (∀y zA ↔ ∀y z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
129, 10, 113imtr4 192 . . . . . . . . . . . . 13 (zA → ∀y zA)
1312, 9raleqf 1321 . . . . . . . . . . . 12 (A = {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → (∀yA ¬ yRx ↔ ∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx))
141, 13ax-mp 6 . . . . . . . . . . 11 (∀yA ¬ yRx ↔ ∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx)
1514a1i 7 . . . . . . . . . 10 (xA → (∀yA ¬ yRx ↔ ∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx))
1615birabi 1342 . . . . . . . . 9 {xA∣∀yA ¬ yRx} = {xA∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx}
17 hbab1 1095 . . . . . . . . . . . 12 (z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → ∀x z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
1810bial 695 . . . . . . . . . . . 12 (∀x zA ↔ ∀x z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
1917, 10, 183imtr4 192 . . . . . . . . . . 11 (zA → ∀x zA)
2019, 17rabeqf 1345 . . . . . . . . . 10 (A = {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → {xA∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx} = {x ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx})
211, 20ax-mp 6 . . . . . . . . 9 {xA∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx} = {x ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx}
22 hbab1 1095 . . . . . . . . . . 11 (v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → ∀x v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
23 ax-17 925 . . . . . . . . . . 11 (v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → ∀z v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
24 ax-17 925 . . . . . . . . . . 11 (∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx → ∀zy ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx)
25 hbab1 1095 . . . . . . . . . . . 12 (y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → ∀x y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
26 ax-17 925 . . . . . . . . . . . 12 yRz → ∀x ¬ yRz)
2725, 26hbral 1236 . . . . . . . . . . 11 (∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz → ∀xy ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz)
28 breq2 2066 . . . . . . . . . . . . 13 (x = z → (yRxyRz))
2928negbid 463 . . . . . . . . . . . 12 (x = z → (¬ yRx ↔ ¬ yRz))
3029biraldv 1219 . . . . . . . . . . 11 (x = z → (∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx ↔ ∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz))
3122, 23, 24, 27, 30cbvrab 1425 . . . . . . . . . 10 {x ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx} = {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz}
32 ax-17 925 . . . . . . . . . . . . 13 (z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → ∀v z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
33 ax-17 925 . . . . . . . . . . . . 13 yRz → ∀v ¬ yRz)
34 ax-17 925 . . . . . . . . . . . . 13 vRz → ∀y ¬ vRz)
35 breq1 2065 . . . . . . . . . . . . . 14 (y = v → (yRzvRz))
3635negbid 463 . . . . . . . . . . . . 13 (y = v → (¬ yRz ↔ ¬ vRz))
379, 32, 33, 34, 36cbvralf 1330 . . . . . . . . . . . 12 (∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz ↔ ∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz)
3837a1i 7 . . . . . . . . . . 11 (z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → (∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz ↔ ∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz))
3938birabi 1342 . . . . . . . . . 10 {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRz} = {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz}
4031, 39eqtr 1119 . . . . . . . . 9 {x ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀y ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ yRx} = {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz}
4116, 21, 403eqtr 1123 . . . . . . . 8 {xA∣∀yA ¬ yRx} = {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz}
4241unieqi 1928 . . . . . . 7 {xA∣∀yA ¬ yRx} = {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz}
435, 42eqtr 1119 . . . . . 6 B = {z ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}∣∀v ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ¬ vRz}
444, 43htalem 3618 . . . . 5 ((R We {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ∧ ¬ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} = ∅) → B ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))})
4544exp 291 . . . 4 (R We {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → (¬ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} = ∅ → B ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}))
463, 45sylbi 174 . . 3 (R We A → (¬ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} = ∅ → B ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))}))
47 pm3.26 256 . . . . . 6 ((φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y))) → φ)
4847ss2abi 1552 . . . . 5 {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} ⊆ {xφ}
4948sseli 1504 . . . 4 (B ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → B ∈ {xφ})
501, 4eqeltr 1159 . . . . . . . 8 AV
51 ax-17 925 . . . . . . . . . . 11 (zv → ∀x zv)
5251, 19hbel 1172 . . . . . . . . . 10 (vA → ∀x vA)
53 ax-17 925 . . . . . . . . . 10 (vA → ∀z vA)
54 ax-17 925 . . . . . . . . . 10 (∀yA ¬ yRx → ∀zyA ¬ yRx)
55 ax-17 925 . . . . . . . . . . . 12 (zy → ∀x zy)
5655, 19hbel 1172 . . . . . . . . . . 11 (yA → ∀x yA)
5756, 26hbral 1236 . . . . . . . . . 10 (∀yA ¬ yRz → ∀xyA ¬ yRz)
5829biraldv 1219 . . . . . . . . . 10 (x = z → (∀yA ¬ yRx ↔ ∀yA ¬ yRz))
5952, 53, 54, 57, 58cbvrab 1425 . . . . . . . . 9 {xA∣∀yA ¬ yRx} = {zA∣∀yA ¬ yRz}
60 ssrab 1556 . . . . . . . . 9 {zA∣∀yA ¬ yRz} ⊆ A
6159, 60eqsstr 1530 . . . . . . . 8 {xA∣∀yA ¬ yRx} ⊆ A
6250, 61ssexi 1701 . . . . . . 7 {xA∣∀yA ¬ yRx} ∈ V
6362uniex 1947 . . . . . 6 {xA∣∀yA ¬ yRx} ∈ V
645, 63eqeltr 1159 . . . . 5 BV
6564elabs 1458 . . . 4 (B ∈ {xφ} ↔ [B / x]φ)
6649, 65sylib 173 . . 3 (B ∈ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} → [B / x]φ)
6746, 66syl6 23 . 2 (R We A → (¬ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} = ∅ → [B / x]φ))
68 19.8a 712 . . 3 (φ → ∃xφ)
69 scott0s 3544 . . 3 (∃xφ ↔ ¬ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} = ∅)
7068, 69sylib 173 . 2 (φ → ¬ {x∣(φ ∧ ∀y([y / x]φ → (rank ‘x) ⊆ (rank ‘y)))} = ∅)
7167, 70syl5 22 1 (R We A → (φ → [B / x]φ))
Colors of variables: wff set class
Syntax hints:  ¬ wn 1   → wi 2   ↔ wb 127   ∧ wa 196  ∀wal 672  ∃wex 678   = weq 797   ∈ wel 803  [wsb 852  {cab 1090   = wceq 1091   ∈ wcel 1092  ∀wral 1201  {crab 1204  Vcvv 1348  [wsbc 1440   ⊆ wss 1487  ∅c0 1707  cuni 1919   class class class wbr 2054   We wwe 2062   ‘cfv 2422  rankcrnk 3486
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077  ax-reg 1078  ax-inf 1079
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3or 582  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ne 1192  df-ral 1205  df-rex 1206  df-reu 1207  df-rab 1208  df-v 1349  df-sbc 1441  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-pss 1494  df-nul 1708  df-if 1777  df-pw 1799  df-sn 1811  df-pr 1812  df-tp 1814  df-op 1815  df-uni 1920  df-int 1966  df-iun 1996  df-iin 1997  df-tr 2042  df-br 2063  df-opab 2098  df-eprel 2122  df-id 2125  df-po 2128  df-so 2138  df-fr 2169  df-we 2186  df-ord 2202  df-on 2203  df-lim 2204  df-suc 2205  df-om 2373  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429  df-res 2430  df-ima 2431  df-fun 2432  df-fn 2433  df-f 2434  df-f1 2435  df-fv 2438  df-rdg 2970  df-r1 3487  df-rank 3488
metamath.org