Isso aí é consequência imediata do teorema do valor intermediário. Veja:
Suponha, por absurdo, que exista c em (0,1] tal que f(c) != f(0) = 1.
Então, pelo teorema do valor intermediario, para todo y0 em [f(0),
f(c)] u [f(c), f(0)] existe x0 em [0,c] tal que y0 = f(x0) (i.e., f
assume todos os valores entre 1 e c). Mas sabemos que entre 0 e c (0!=c
por hipotese) existem infinitos números irracionais. Então, pelo
teorema do valor intermediário, supor que f assuma algum valor
diferente de 1 implica f assumir algum valor irracional, o que
contraria a hipótese. Logo, não se pode supor que f assuma valor
diferente de 1. Portanto, f(x) = 1, para todo x em [0,1].
Se quiser uma resolução mais detalhada, teríamos que provar o teorema
do valor intermediário, o que é relativamente simples usando a
propriedade do supremo, e também provar que entre 2 reais distintos
quaisquer existem infinitos irracionas, o que também sai da propriedade
do supremo