Construct bijective functions We were given $f:[0,\infty) \to(0,\infty)$, and we were supposed to construct a bijective function from this. My teacher defined f as 
$f(x) = \begin{cases} x+1 ~\text{if}~ x \in \mathbb{N} \cup \{0\}\\x, ~\text{if otherwise}\end{cases}$
My question is if there is a certain trick or technique to construct bijective functions like this? or do you have to brute force it by checking surjectivity and injectivity constantly when constructing the function?
 A: No, there is not a certain trick. Sometimes it is hard to find a bijective function, sometimes it is not.
Lets observe the sets that we are supposed to map onto each other.
$[0,\infty)$ and $(0,\infty)$. 
The only difference in these sets is that $0$ is an element of the $[0,\infty)$, while it is not an element of $(0,\infty)$. 
So the first question we might ask is "What do we map 0 onto", because the sets are so similar that the first function that comes to mind might be the identity. But this does not work, since then $0$ has no image.
So we have to choose some element of $(0,\infty)$ to map $0$ onto. 
In your solution this element is $1$, which makes sense. It is then pretty normal to go on like that, and map 1 onto 2,2 onto 3 and so on.
A: The idea is that if you take one point out of an infinite set the cardinality of the set does not change. As you notice the set  $$\{0,1,2,3,...\}$$ and$$ \{1,2,3,4,....\}$$ are in one-to-one correspondence with each other  via the function $ f(x)=x+1$ and the rest of the interval is mapped to itself by the identity map.
You can construct other bijective maps using the same trick and take away countably many points out of an  infinite set while the cardinality of the set does not change.
For example the two sets $$\{1,2,3,4,....\}$$ and $$\{1000,2000,3000,4000,.....\}$$ have the same cardinality.
