First-order syntactical anti-unification