  Separation is a classical problem asking whether, given two sets belonging to
some class, it is possible to separate them by a set from a smaller class. We
discuss the separation problem for regular languages. We give a Ptime algorithm
to check whether two given regular languages are separable by a piecewise
testable language, that is, whether a $B{\Sigma}1(<)$ sentence can witness that
the languages are disjoint. The proof refines an algebraic argument from
Almeida and the third author. When separation is possible, we also express a
separator by saturating one of the original languages by a suitable congruence.
Following the same line, we show that one can as well decide whether two
regular languages can be separated by an unambiguous language, albeit with a
higher complexity.
