Let A and B be elements of PSL(2, R) and let G be the group they gener
ate. Assume that G is non-elementary. The discreteness problem is the
problem of finding an algorithm to determine whether G is or is not di
screte. This is an old and subtle problem. Historically, papers on the
subject have been known for their errors and omissions. In this monog
raph we provide what one hopes is the definitive solution to the discr
eteness problem. We present the first complete geometric solution to t
he discreteness problem building upon the cases done by Gilman and Mas
kit. We are able to explain exactly why the discreteness problem requi
res an algorithmic solution. We translate the geometric algorithm into
a a purely computational algorithm, one which allows all standard com
putations with real numbers. We call this the real number algorithm. I
t is a modified BSS machine. We also provide conditions on the entries
of the two matrices that assure that the geometric algorithm and the
real number algorithm translate into a Turing machine algorithm, an al
gorithm that can be implemented on a computer.