Thomae's function, named after Carl Johannes Thomae, has many names: the popcorn function, the raindrop function, the countable cloud function, the modified Dirichlet function, the ruler function, the Riemann function, or the Stars over Babylon (John Horton Conway's name). This real-valued function f(x) of the real variable x is defined as:
It is a modification of the Dirichlet function, (which is 1 at rational numbers and 0 elsewhere).
The popcorn function has a complicated set of discontinuities: f is continuous at all irrational numbers and discontinuous at all rational numbers.
Clearly, f is discontinuous at all rational numbers: since the irrationals are dense in the reals, for any rational x, no matter what ε we select, there is an irrational a even nearer to our x where f(a) = 0 (while f(x) is positive). In other words, f can never "get close" and "stay close" to any positive number because its domain is dense with zeroes.
To show continuity at the irrationals, assume without loss of generality that our ε is rational (for any irrational ε′, we can choose a smaller rational ε″ and the proof is transitive). Since ε is rational, it can be expressed in lowest terms as a/b. We want to show that f(x) is continuous when x is irrational.
Note that f takes a maximum value of 1 at each whole integer, so we may limit our examination to the space between and . Since ε has a finite denominator of b, the only values for which f may return a value greater than ε are those with a reduced denominator no larger than b. There exist only a finite number of values between two integers with denominator no larger than b, so these can be exhaustively listed. Setting δ to be smaller than the nearest distance from x to one of these values guarantees every value within δ of x has f(x) < ε.
The Lebesgue criterion for integrability states that a bounded function is Riemann integrable if and only if the set of all discontinuities has measure zero. Since the set of all discontinuities is the rational numbers, and the rational numbers are countable, the set has measure zero. As well, the function is bounded on the interval [0, 1], so by the Lebesgue criterion, the function is Riemann integrable on [0, 1]. Its integral is equal to 0 over [0,1].
A natural follow-up question one might ask is if there is a function which is continuous on the rational numbers and discontinuous on the irrational numbers. This turns out to be impossible; the set of discontinuities of any function must be an Fσ set. If such a function existed, then the irrationals would be an Fσ set and hence, as they don't contain an interval, would also be a meager set. It would follow that the real numbers, being a union of the irrationals and the rationals (which is evidently meager), would also be a meager set. This would contradict the Baire category theorem.
A variant of the popcorn function can be used to show that any Fσ subset of the real numbers can be the set of discontinuities of a function. If is a countable union of closed sets , define
Then a similar argument as for the popcorn function shows that has A as its set of discontinuities.
- Euclid's orchard – Thomae's function can be interpreted as a perspective drawing of Euclid's orchard
- "…the so-called ruler function, a simple but provocative example that appeared in a work of Johannes Karl Thomae … The graph suggests the vertical markings on a ruler—hence the name." William Dunham, The Calculus Gallery, chapter 10
- Spivak, M. (p. 53, Theorem 3-8)