# Context-sensitive grammar for SAT?

By a classic result of Kuroda, the complexity class NSPACE[$n$] (also known as NLIN-SPACE) is precisely the class CSL of context-sensitive languages. The satisfiability problem SAT is in NSPACE[$n$], since a linear-sized guess for a solution can be checked with at most a linear amount of overhead for book-keeping. This means that SAT must have a context-sensitive grammar (CSG).

Has anyone attempted to provide a CSG for SAT?

I realise many questions related to CSLs are undecidable (for instance deciding if a given CSG generates the empty language). Even given a CSG for SAT one would still have to overcome the obstacle that deciding membership in the language given by a CSG is PSPACE-complete in general. But it might be the case that the membership problem for the CSG that defines SAT is in NP, due to some special structure of the language. Rephrasing, to address comment by MCH: But it might be the case that the membership problem for the CSG that defines SAT could be shown to be in NP due to some special structure of the grammar, and not because we already know it must be in NP.

• S.-Y. Kuroda, Classes of languages and linear-bounded automata, Information and Control 7(2) 207–223, 1964. doi:10.1016/S0019-9958(64)90120-2

## Clarification:

The intended focus here is the special feature of the grammar for SAT which allows it to be recognized by an NTIME[poly($n$)] machine, rather than the NSPACE[$n$] $\subseteq$ DTIME[$2^{O(n)}$] bound.

The proof of Theorem 3 in Landweber's 1963 paper constructs a CSG from a linear-bounded automaton. (Kuroda provided the converse, constructing a linear-bounded automaton for any CSG.) However, Landweber's procedure does not seem to yield a grammar for SAT that is of special form: all NSPACE[$n$] recognizers are treated in the same generic way. In other words, it is not clear why the SAT CSG should have an NP membership problem, rather than being PSPACE-complete. I was hoping for a more explicit construction that uses the NP-ness of SAT in some essential way.

Perhaps a better, more precise, question is whether:

1. there exists a linear-bounded automaton that recognizes SAT,
2. from which one can extract a CSG,
3. so that the language defined by the CSG is in NP due to some feature of the grammar (and not because we already know it is in NP)?

In the intervening five decades, surely someone has tried to do this! Since I can't find anything published along these lines, I would be interested in understanding why this approach did not work, or a pointer to work I have missed.

• Peter S. Landweber, Three theorems on phrase structure grammars of type 1, Information and Control 6(2) 131–136, 1963. doi:10.1016/S0019-9958(63)90169-4
• I don't understand. Can't you just follow the proof and produce the CSG for SAT? Is it non-constructive? Also about the last sentence, "it might be the case that the membership problem for the CSG that defines SAT is in NP", it is in NP since the membership problem is just SAT, which is in NP. – Mahdi Cheraghchi Jan 29 '12 at 23:36
• @MCH: Thanks for your comment, I hope the edit clarifies the question. – András Salamon Jan 30 '12 at 9:14
• it sounds like another way to phrase this might be like this: there exist CSLs/CSGs that are recognizable in NP time in (contrast to PSPACE in the general case) based on converting SAT. what is special about their "structure" that permits this? converting SAT to a CSL/CSG might give a "hint" but does not nec. give a more general criteria. in other words given an arbitrary CSL/CSG is there some criteria that indicates its recognition is actually in NP? – vzn Jan 30 '12 at 23:16

## 1 Answer

Though not directly constructing a context sensitive grammar for SAT, the following paper might shed some light.

W. C. Rounds, Complexity of recognition in intermediate Level languages, Switching and Automata Theory, 1973, 145-158 http://dx.doi.org/10.1109/SWAT.1973.5

The paper by Rounds gives a one-way nondeterministic stack automaton (1-NSA) recognizing SAT, and then shows the membership problem of 1-NSA (and its proper superset, Aho's Indexed Grammar) is in general in NP. In other words, SAT as a CSL/linear-bounded-automata is special in the sense that it uses its memory only as a stack.

• Thanks, exactly what I was looking for! Rounds shows that SAT is a one-way stack language, an indexed language, and a tree transducer language, giving three different language-theoretic reasons why it it special. – András Salamon Jan 30 '12 at 15:44
• so maybe "sufficient" but it is not immediately clear if those conditions are necessary (for the CSL/CSG recognition to be in NP). so it does seem to me like your general question may not be studied much. CSLs/CSGs seem not to have a large amt of research behind them. – vzn Jan 31 '12 at 21:44
• further thought on this. its a problem generally in the form "is recognition of a language in larger class Y actually in smaller language class X". for Y=CFG and X=RLs (regular language) the problem is undecidable see eg does this cfg define a regular language. therefore Y=CSL and X=NP seems likely to be undecidable in general also. – vzn Feb 3 '12 at 16:43