1) modify [Cantor function][1] so that all it's growth points are irrational. Then you have a mapping from an interval of irrational numbers to an interval of reals. Then extend to the whole range of numbers. 2) consider a sequence i[n] of irrationals that converges to a rational number. Then if for each member you take the inf of reals that map into it, and consider the limit L of those (it's a bounded sequence so there's a limit), then f(L) is irrational and greater than f(i[n]) for all n. It cannot be rational, so there would be a gap, but since it's an onto mapping there can't be any gaps. 3) if such embedding existed, irrationals and reals would be \infty-equivalent (think infinitely long [Ehrenfeucht–Fraïssé game][2]). But they are not. I think. This is your hint :) [1]: http://en.wikipedia.org/wiki/Cantor_function [2]: http://en.wikipedia.org/wiki/Ehrenfeucht%E2%80%93Fra%C3%AFss%C3%A9_game