I've mostly been able to coerce expression() into giving me the mathematical output I've needed for graphs, but I'm flummoxed by this one.
text(-2,.21,expression(P(a <= X)), cex=1.2)
gives me the expected result, but
text(-2,.21,expression(P(a <= X <= b)), cex=1.2)
fails with an arrow pointing to the second \le. Pasting 2 pieces together doesn't work, either, as <= requires both left and right tokens; i.e. this also fails:
text(-2,.21,expression(<= X), cex=1.2)
Any ideas? It's kind of frustrating that there doesn't seem be any documentation on how the expression token parser works short of looking at the source code. The only documentation seems to be a couple of different color versions of this:
http://stat.ethz.ch/R-manual/R-patched/library/grDevices/html/plotmath.html