# Exercise on ultrafilters

I have to prove this: if $\mathcal{U}$ is a p-point and $f:\mathbb{N}\rightarrow\mathbb{N}$, if $f$ is not $\mathcal{U}$-equivalent to a costant, then it is $\mathcal{U}$-equivalent to a function finite-to-one.

I proved something stronger, but I believe it's wrong. I can't find the mistake. I proved that under these hypothesis then the function is finite-to-one.

Here the proof: if $f$ is not $\mathcal{U}$-equivalent to a constant then $\{n:f(n)=m\}\not\in\mathcal{U}$ $\forall m$, i.e. $A_m:=\{n:f(n)\neq m\}\in\mathcal{U}$ $\forall m$. By definition of p-point $\exists B\in\mathcal{U}$ such that $B\backslash A_m=\{c^m_1,\ldots,c^m_{r_m}\}$ $\forall m$.

Now we observe that $f(c^m_i)=m$ $\forall i$ $\forall m$ and so $(B\backslash A_m)\cap(B\backslash A_n)=\emptyset$ $\forall m$ $\forall n$.

If $x\in\mathbb{N}$ and $x\not\in B\backslash A_m$ $\forall m$ then $x\in B^c\cup A_m$ $\forall m$. If $f(x)=\bar{m}$ then $x\not\in A_{\bar{m}}$ and so by $x\in B^c\cup A_{\bar{m}}$ we have $x\in B^c$ that is finite because $B\in\mathcal{U}$ and $\mathcal{U}$ is not principal.

If we set $g:\mathbb{N}\rightarrow\mathbb{N}$ by $g(x)=m$ if $x=c^m_i$ for some $m$ and $i$, and $g(x)=f(x)$ if $x\in B^c$. $g$ is finite-to-one and $g(x)=f(x)$ for all $x\in\mathbb{N}$. Where is the mistake?

-

You wrote: "$x\in B^c$ that is finite because $B\in\mathcal{U}$ and $\mathcal{U}$ is not principal."
The claim, that complement of any set in a free ultrafilter is finite, is not true. You can easily show that there exists a free ultrafilter containing $\{2n; n\in\mathbb N\}$. (Choose an appropriate system with finite intersection property and extend it using Zorn Lemma.)
In my opinion you could have stoped once you had set $B$. Clearly, $f$ is finite-to-one on $B$. Putting $g|_B=f|_B$ and $g(x)=x$ for $x\notin B$ solves the problem.