Separating Regular Languages with First-Order Logic (Logical Methods in Computer Science, 2016)