A predicate for separating language classes

We show how a predicate can be used to separate language classes It has been a long-standing open problem whether appearance checking enhances the power of programmed grammars or not. By now, two independent complicated proofs appeared for the separation result in question 4, 3]. In this note, we present another decidability argument which readily implies the above-mentioned result and is also applicable to other situations. Let h : ! be an arbitrary homomorphism, R be a regular language, and L be a language from some language class L. Consider the predicate P h;R;L on deened by P h;R;L (w) () w 2 h(R \ L): If L is a subfamily of a language class comprising only of recursive languages which is closed under arbitrary homomorphisms and intersection with regular sets, then the above predicate is decidable for L, i.e. (the class of languages generated by programmed grammars with empty failure elds without erasing productions) and L(O,CF) (the class of languages generated by ordered grammars), see 1]. On the other hand, there are language classes L where we can represent an undecidable language as h(R \ L) for some L 2 L. Especially, this is true for language classes like L(P,CF?,ac) where each recursively enumerable language is representable as a homomorphic image of some language of that particular 1