Metamath Proof Explorer


Theorem ackbijnn

Description: Translate the Ackermann bijection ackbij1 onto the positive integers. (Contributed by Mario Carneiro, 16-Jan-2015)

Ref Expression
Hypothesis ackbijnn.1 F=x𝒫0Finyx2y
Assertion ackbijnn F:𝒫0Fin1-1 onto0

Proof

Step Hyp Ref Expression
1 ackbijnn.1 F=x𝒫0Finyx2y
2 hashgval2 .ω=recxVx+10ω
3 2 hashgf1o .ω:ω1-1 onto0
4 sneq w=yw=y
5 pweq w=y𝒫w=𝒫y
6 4 5 xpeq12d w=yw×𝒫w=y×𝒫y
7 6 cbviunv wzw×𝒫w=yzy×𝒫y
8 iuneq1 z=xyzy×𝒫y=yxy×𝒫y
9 7 8 eqtrid z=xwzw×𝒫w=yxy×𝒫y
10 9 fveq2d z=xcardwzw×𝒫w=cardyxy×𝒫y
11 10 cbvmptv z𝒫ωFincardwzw×𝒫w=x𝒫ωFincardyxy×𝒫y
12 11 ackbij1 z𝒫ωFincardwzw×𝒫w:𝒫ωFin1-1 ontoω
13 f1ocnv .ω:ω1-1 onto0.ω-1:01-1 ontoω
14 3 13 ax-mp .ω-1:01-1 ontoω
15 f1opwfi .ω-1:01-1 ontoωx𝒫0Fin.ω-1x:𝒫0Fin1-1 onto𝒫ωFin
16 14 15 ax-mp x𝒫0Fin.ω-1x:𝒫0Fin1-1 onto𝒫ωFin
17 f1oco z𝒫ωFincardwzw×𝒫w:𝒫ωFin1-1 ontoωx𝒫0Fin.ω-1x:𝒫0Fin1-1 onto𝒫ωFinz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 ontoω
18 12 16 17 mp2an z𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 ontoω
19 f1oco .ω:ω1-1 onto0z𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 ontoω.ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 onto0
20 3 18 19 mp2an .ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 onto0
21 inss2 𝒫ωFinFin
22 f1of x𝒫0Fin.ω-1x:𝒫0Fin1-1 onto𝒫ωFinx𝒫0Fin.ω-1x:𝒫0Fin𝒫ωFin
23 16 22 ax-mp x𝒫0Fin.ω-1x:𝒫0Fin𝒫ωFin
24 eqid x𝒫0Fin.ω-1x=x𝒫0Fin.ω-1x
25 24 fmpt x𝒫0Fin.ω-1x𝒫ωFinx𝒫0Fin.ω-1x:𝒫0Fin𝒫ωFin
26 23 25 mpbir x𝒫0Fin.ω-1x𝒫ωFin
27 26 rspec x𝒫0Fin.ω-1x𝒫ωFin
28 21 27 sselid x𝒫0Fin.ω-1xFin
29 snfi wFin
30 cnvimass .ω-1xdom.ω
31 dmhashres dom.ω=ω
32 30 31 sseqtri .ω-1xω
33 onfin2 ω=OnFin
34 inss2 OnFinFin
35 33 34 eqsstri ωFin
36 32 35 sstri .ω-1xFin
37 simpr x𝒫0Finw.ω-1xw.ω-1x
38 36 37 sselid x𝒫0Finw.ω-1xwFin
39 pwfi wFin𝒫wFin
40 38 39 sylib x𝒫0Finw.ω-1x𝒫wFin
41 xpfi wFin𝒫wFinw×𝒫wFin
42 29 40 41 sylancr x𝒫0Finw.ω-1xw×𝒫wFin
43 42 ralrimiva x𝒫0Finw.ω-1xw×𝒫wFin
44 iunfi .ω-1xFinw.ω-1xw×𝒫wFinw.ω-1xw×𝒫wFin
45 28 43 44 syl2anc x𝒫0Finw.ω-1xw×𝒫wFin
46 ficardom w.ω-1xw×𝒫wFincardw.ω-1xw×𝒫wω
47 45 46 syl x𝒫0Fincardw.ω-1xw×𝒫wω
48 47 fvresd x𝒫0Fin.ωcardw.ω-1xw×𝒫w=cardw.ω-1xw×𝒫w
49 hashcard w.ω-1xw×𝒫wFincardw.ω-1xw×𝒫w=w.ω-1xw×𝒫w
50 45 49 syl x𝒫0Fincardw.ω-1xw×𝒫w=w.ω-1xw×𝒫w
51 xp1st zw×𝒫w1stzw
52 elsni 1stzw1stz=w
53 51 52 syl zw×𝒫w1stz=w
54 53 rgen zw×𝒫w1stz=w
55 54 rgenw w.ω-1xzw×𝒫w1stz=w
56 invdisj w.ω-1xzw×𝒫w1stz=wDisjw.ω-1xw×𝒫w
57 55 56 mp1i x𝒫0FinDisjw.ω-1xw×𝒫w
58 28 42 57 hashiun x𝒫0Finw.ω-1xw×𝒫w=w.ω-1xw×𝒫w
59 sneq w=.ω-1yw=.ω-1y
60 pweq w=.ω-1y𝒫w=𝒫.ω-1y
61 59 60 xpeq12d w=.ω-1yw×𝒫w=.ω-1y×𝒫.ω-1y
62 61 fveq2d w=.ω-1yw×𝒫w=.ω-1y×𝒫.ω-1y
63 elinel2 x𝒫0FinxFin
64 f1of1 .ω-1:01-1 ontoω.ω-1:01-1ω
65 14 64 ax-mp .ω-1:01-1ω
66 elinel1 x𝒫0Finx𝒫0
67 66 elpwid x𝒫0Finx0
68 f1ores .ω-1:01-1ωx0.ω-1x:x1-1 onto.ω-1x
69 65 67 68 sylancr x𝒫0Fin.ω-1x:x1-1 onto.ω-1x
70 fvres yx.ω-1xy=.ω-1y
71 70 adantl x𝒫0Finyx.ω-1xy=.ω-1y
72 hashcl w×𝒫wFinw×𝒫w0
73 nn0cn w×𝒫w0w×𝒫w
74 42 72 73 3syl x𝒫0Finw.ω-1xw×𝒫w
75 62 63 69 71 74 fsumf1o x𝒫0Finw.ω-1xw×𝒫w=yx.ω-1y×𝒫.ω-1y
76 snfi .ω-1yFin
77 67 sselda x𝒫0Finyxy0
78 f1of .ω-1:01-1 ontoω.ω-1:0ω
79 14 78 ax-mp .ω-1:0ω
80 79 ffvelcdmi y0.ω-1yω
81 77 80 syl x𝒫0Finyx.ω-1yω
82 35 81 sselid x𝒫0Finyx.ω-1yFin
83 pwfi .ω-1yFin𝒫.ω-1yFin
84 82 83 sylib x𝒫0Finyx𝒫.ω-1yFin
85 hashxp .ω-1yFin𝒫.ω-1yFin.ω-1y×𝒫.ω-1y=.ω-1y𝒫.ω-1y
86 76 84 85 sylancr x𝒫0Finyx.ω-1y×𝒫.ω-1y=.ω-1y𝒫.ω-1y
87 hashsng .ω-1yω.ω-1y=1
88 81 87 syl x𝒫0Finyx.ω-1y=1
89 hashpw .ω-1yFin𝒫.ω-1y=2.ω-1y
90 82 89 syl x𝒫0Finyx𝒫.ω-1y=2.ω-1y
91 81 fvresd x𝒫0Finyx.ω.ω-1y=.ω-1y
92 f1ocnvfv2 .ω:ω1-1 onto0y0.ω.ω-1y=y
93 3 77 92 sylancr x𝒫0Finyx.ω.ω-1y=y
94 91 93 eqtr3d x𝒫0Finyx.ω-1y=y
95 94 oveq2d x𝒫0Finyx2.ω-1y=2y
96 90 95 eqtrd x𝒫0Finyx𝒫.ω-1y=2y
97 88 96 oveq12d x𝒫0Finyx.ω-1y𝒫.ω-1y=12y
98 2cn 2
99 expcl 2y02y
100 98 77 99 sylancr x𝒫0Finyx2y
101 100 mullidd x𝒫0Finyx12y=2y
102 86 97 101 3eqtrd x𝒫0Finyx.ω-1y×𝒫.ω-1y=2y
103 102 sumeq2dv x𝒫0Finyx.ω-1y×𝒫.ω-1y=yx2y
104 58 75 103 3eqtrd x𝒫0Finw.ω-1xw×𝒫w=yx2y
105 48 50 104 3eqtrd x𝒫0Fin.ωcardw.ω-1xw×𝒫w=yx2y
106 105 mpteq2ia x𝒫0Fin.ωcardw.ω-1xw×𝒫w=x𝒫0Finyx2y
107 47 adantl x𝒫0Fincardw.ω-1xw×𝒫wω
108 27 adantl x𝒫0Fin.ω-1x𝒫ωFin
109 eqidd x𝒫0Fin.ω-1x=x𝒫0Fin.ω-1x
110 eqidd z𝒫ωFincardwzw×𝒫w=z𝒫ωFincardwzw×𝒫w
111 iuneq1 z=.ω-1xwzw×𝒫w=w.ω-1xw×𝒫w
112 111 fveq2d z=.ω-1xcardwzw×𝒫w=cardw.ω-1xw×𝒫w
113 108 109 110 112 fmptco z𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x=x𝒫0Fincardw.ω-1xw×𝒫w
114 f1of .ω:ω1-1 onto0.ω:ω0
115 3 114 mp1i .ω:ω0
116 115 feqmptd .ω=yω.ωy
117 fveq2 y=cardw.ω-1xw×𝒫w.ωy=.ωcardw.ω-1xw×𝒫w
118 107 113 116 117 fmptco .ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x=x𝒫0Fin.ωcardw.ω-1xw×𝒫w
119 118 mptru .ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x=x𝒫0Fin.ωcardw.ω-1xw×𝒫w
120 106 119 1 3eqtr4i .ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x=F
121 f1oeq1 .ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x=F.ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 onto0F:𝒫0Fin1-1 onto0
122 120 121 ax-mp .ωz𝒫ωFincardwzw×𝒫wx𝒫0Fin.ω-1x:𝒫0Fin1-1 onto0F:𝒫0Fin1-1 onto0
123 20 122 mpbi F:𝒫0Fin1-1 onto0