Syntactic Monoids