  A graph $G$ with vertex set $\{v_1,v_2,\ldots,v_n\}$ is an intersection graph
of segments if there are segments $s_1,\ldots,s_n$ in the plane such that $s_i$
and $s_j$ have a common point if and only if $\{v_i,v_j\}$ is an edge of~$G$.
In this expository paper, we consider the algorithmic problem of testing
whether a given abstract graph is an intersection graph of segments.
  It turned out that this problem is complete for an interesting recently
introduced class of computational problems, denoted by $\exists\mathbb{R}$.
This class consists of problems that can be reduced, in polynomial time, to
solvability of a system of polynomial inequalities in several variables over
the reals. We discuss some subtleties in the definition of $\exists\mathbb{R}$,
and we provide a complete and streamlined account of a proof of the
$\exists\mathbb{R}$-completeness of the recognition problem for segment
intersection graphs. Along the way, we establish
$\exists\mathbb{R}$-completeness of several other problems. We also present a
decision algorithm, due to Muchnik, for the first-order theory of the reals.
