Abstract. Monadic second-order unification is second-order unification where all function constants occurring in the equations are unary. Here we prove that the problem of deciding whether a set of monadic equations has a unifier is NP-complete, where we use the technique of compressing solutions using singleton context-free grammars. We prove that monadic second-order matching is also NP-complete.Key words. second-order unification, theorem proving, lambda calculus, context-free grammars, rewriting systems AMS subject classifications. 03B15, 68Q42, 68T15 DOI. 10.1137/0506454031. Introduction. The solvability of monadic second-order unification problems considered in this paper is a decision problem with many natural relationships with other well-known decision problems (higher-order unification, word unification, context unification and specializations thereof). For various members of this family, the exact complexity is still not known. In this paper we show that solvability of monadic second-order unification problems is NP-complete, thus adding a new piece to the larger puzzle. The techniques we use in our proof turned out to be relevant for other problems as well. Before we describe the organization of the paper we illuminate in more detail the relationship of monadic second-order unification with the above problems, give a brief survey on the techniques used in our proof, and indicate further contributions obtained from our method.