Consider the function
q(x) = { (1, "if x = 0"), (1/q, "if x = p/q for integers p, q in lowest terms"), (0, "if x is irrational") :}
Then q(x) is continuous at every irrational number and discontinuous at every rational number.
Let us show that q(x) is continuous at any irrational number alpha by showing that lim_(x->alpha) q(x) exists and is zero.
Let alpha be an irrational number and epsilon > 0
We need to show that:
EE delta > 0 : AA x in (alpha-delta, alpha+delta), abs(q(x)-0) < epsilon
Let I = (alpha-1, alpha+1) so alpha in I
Let N = ceil(1/epsilon) + 1, so 1/N < epsilon.
Let S = { p/q : p, q in ZZ, 1 <= q <= N, "hcf"(p, q) = 1 } nn I
Then S is finite and for all x in S we have abs(x - alpha) > 0 since alpha is irrational.
Note that if x in I and x !in S then abs(q(x)) < 1/N
Let delta = min_(x in S) abs(x - alpha)
Then since S is finite, delta > 0.
From our definition of delta, if x in (alpha-delta, alpha+delta), then x in I, x !in S and abs(q(x)) < 1/N.
So AA x in (alpha-delta, alpha+delta), abs(q(x) - 0) < 1/N < epsilon