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

Theorem ackbij1 8943
Description: The Ackermann bijection, part 1: each natural number can be uniquely coded in binary as a finite set of natural numbers and conversely. (Contributed by Stefan O'Rear, 18-Nov-2014.)
Hypothesis
Ref Expression
ackbij.f 𝐹 = (𝑥 ∈ (𝒫 ω ∩ Fin) ↦ (card‘ 𝑦𝑥 ({𝑦} × 𝒫 𝑦)))
Assertion
Ref Expression
ackbij1 𝐹:(𝒫 ω ∩ Fin)–1-1-onto→ω
Distinct variable group:   𝑥,𝐹,𝑦

Proof of Theorem ackbij1
Dummy variables 𝑎 𝑏 𝑐 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ackbij.f . . 3 𝐹 = (𝑥 ∈ (𝒫 ω ∩ Fin) ↦ (card‘ 𝑦𝑥 ({𝑦} × 𝒫 𝑦)))
21ackbij1lem17 8941 . 2 𝐹:(𝒫 ω ∩ Fin)–1-1→ω
3 f1f 6014 . . . 4 (𝐹:(𝒫 ω ∩ Fin)–1-1→ω → 𝐹:(𝒫 ω ∩ Fin)⟶ω)
4 frn 5966 . . . 4 (𝐹:(𝒫 ω ∩ Fin)⟶ω → ran 𝐹 ⊆ ω)
52, 3, 4mp2b 10 . . 3 ran 𝐹 ⊆ ω
6 eleq1 2676 . . . . 5 (𝑏 = ∅ → (𝑏 ∈ ran 𝐹 ↔ ∅ ∈ ran 𝐹))
7 eleq1 2676 . . . . 5 (𝑏 = 𝑎 → (𝑏 ∈ ran 𝐹𝑎 ∈ ran 𝐹))
8 eleq1 2676 . . . . 5 (𝑏 = suc 𝑎 → (𝑏 ∈ ran 𝐹 ↔ suc 𝑎 ∈ ran 𝐹))
9 peano1 6977 . . . . . . . 8 ∅ ∈ ω
10 ackbij1lem3 8927 . . . . . . . 8 (∅ ∈ ω → ∅ ∈ (𝒫 ω ∩ Fin))
119, 10ax-mp 5 . . . . . . 7 ∅ ∈ (𝒫 ω ∩ Fin)
121ackbij1lem13 8937 . . . . . . 7 (𝐹‘∅) = ∅
13 fveq2 6103 . . . . . . . . 9 (𝑎 = ∅ → (𝐹𝑎) = (𝐹‘∅))
1413eqeq1d 2612 . . . . . . . 8 (𝑎 = ∅ → ((𝐹𝑎) = ∅ ↔ (𝐹‘∅) = ∅))
1514rspcev 3282 . . . . . . 7 ((∅ ∈ (𝒫 ω ∩ Fin) ∧ (𝐹‘∅) = ∅) → ∃𝑎 ∈ (𝒫 ω ∩ Fin)(𝐹𝑎) = ∅)
1611, 12, 15mp2an 704 . . . . . 6 𝑎 ∈ (𝒫 ω ∩ Fin)(𝐹𝑎) = ∅
17 f1fn 6015 . . . . . . . 8 (𝐹:(𝒫 ω ∩ Fin)–1-1→ω → 𝐹 Fn (𝒫 ω ∩ Fin))
182, 17ax-mp 5 . . . . . . 7 𝐹 Fn (𝒫 ω ∩ Fin)
19 fvelrnb 6153 . . . . . . 7 (𝐹 Fn (𝒫 ω ∩ Fin) → (∅ ∈ ran 𝐹 ↔ ∃𝑎 ∈ (𝒫 ω ∩ Fin)(𝐹𝑎) = ∅))
2018, 19ax-mp 5 . . . . . 6 (∅ ∈ ran 𝐹 ↔ ∃𝑎 ∈ (𝒫 ω ∩ Fin)(𝐹𝑎) = ∅)
2116, 20mpbir 220 . . . . 5 ∅ ∈ ran 𝐹
221ackbij1lem18 8942 . . . . . . . . 9 (𝑐 ∈ (𝒫 ω ∩ Fin) → ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc (𝐹𝑐))
2322adantl 481 . . . . . . . 8 ((𝑎 ∈ ω ∧ 𝑐 ∈ (𝒫 ω ∩ Fin)) → ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc (𝐹𝑐))
24 suceq 5707 . . . . . . . . . 10 ((𝐹𝑐) = 𝑎 → suc (𝐹𝑐) = suc 𝑎)
2524eqeq2d 2620 . . . . . . . . 9 ((𝐹𝑐) = 𝑎 → ((𝐹𝑏) = suc (𝐹𝑐) ↔ (𝐹𝑏) = suc 𝑎))
2625rexbidv 3034 . . . . . . . 8 ((𝐹𝑐) = 𝑎 → (∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc (𝐹𝑐) ↔ ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc 𝑎))
2723, 26syl5ibcom 234 . . . . . . 7 ((𝑎 ∈ ω ∧ 𝑐 ∈ (𝒫 ω ∩ Fin)) → ((𝐹𝑐) = 𝑎 → ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc 𝑎))
2827rexlimdva 3013 . . . . . 6 (𝑎 ∈ ω → (∃𝑐 ∈ (𝒫 ω ∩ Fin)(𝐹𝑐) = 𝑎 → ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc 𝑎))
29 fvelrnb 6153 . . . . . . 7 (𝐹 Fn (𝒫 ω ∩ Fin) → (𝑎 ∈ ran 𝐹 ↔ ∃𝑐 ∈ (𝒫 ω ∩ Fin)(𝐹𝑐) = 𝑎))
3018, 29ax-mp 5 . . . . . 6 (𝑎 ∈ ran 𝐹 ↔ ∃𝑐 ∈ (𝒫 ω ∩ Fin)(𝐹𝑐) = 𝑎)
31 fvelrnb 6153 . . . . . . 7 (𝐹 Fn (𝒫 ω ∩ Fin) → (suc 𝑎 ∈ ran 𝐹 ↔ ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc 𝑎))
3218, 31ax-mp 5 . . . . . 6 (suc 𝑎 ∈ ran 𝐹 ↔ ∃𝑏 ∈ (𝒫 ω ∩ Fin)(𝐹𝑏) = suc 𝑎)
3328, 30, 323imtr4g 284 . . . . 5 (𝑎 ∈ ω → (𝑎 ∈ ran 𝐹 → suc 𝑎 ∈ ran 𝐹))
346, 7, 8, 7, 21, 33finds 6984 . . . 4 (𝑎 ∈ ω → 𝑎 ∈ ran 𝐹)
3534ssriv 3572 . . 3 ω ⊆ ran 𝐹
365, 35eqssi 3584 . 2 ran 𝐹 = ω
37 dff1o5 6059 . 2 (𝐹:(𝒫 ω ∩ Fin)–1-1-onto→ω ↔ (𝐹:(𝒫 ω ∩ Fin)–1-1→ω ∧ ran 𝐹 = ω))
382, 36, 37mpbir2an 957 1 𝐹:(𝒫 ω ∩ Fin)–1-1-onto→ω
Colors of variables: wff setvar class
Syntax hints:  wb 195  wa 383   = wceq 1475  wcel 1977  wrex 2897  cin 3539  wss 3540  c0 3874  𝒫 cpw 4108  {csn 4125   ciun 4455  cmpt 4643   × cxp 5036  ran crn 5039  suc csuc 5642   Fn wfn 5799  wf 5800  1-1wf1 5801  1-1-ontowf1o 5803  cfv 5804  ωcom 6957  Fincfn 7841  cardccrd 8644
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-er 7629  df-map 7746  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-card 8648  df-cda 8873
This theorem is referenced by:  fictb  8950  ackbijnn  14399
  Copyright terms: Public domain W3C validator