Elements of Finite Model Theory by Leonid Libkin