MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does space(n) have a complete language? Actually the following was in a complexity cource final exam :

if A is SPACE(n) hard then A is also PSPACE-hard

(this is supposed to be shown by padding...i don't know how exactly)

i think that it is false (if space(n) has a complete language then it is trivially false) because of the proof of TBQF being PSPACE-complete (with some minor modifications, i think that it can be shown that there is a language which is space(n) hard (not nessesarily complete) that it is decided by a O(n^k) for some small value of k). I am not sure though!!

share|cite|improve this question
Under what type of reductions? – Robin Kothari Sep 26 '10 at 3:47

The padding trick to show that if $A$ is DSPACE($n$)-hard then it is also PSPACE-hard is fairly standard and goes as follows. Start with an arbitrary language $B$ in PSPACE, say in DSPACE($n^k$). Let $B'$ be the "padded" version of $B$ defined as the set of words of the form $$ x01^{|x|^k} $$ for $x \in B$. Note that $B'$ is in DSPACE($n$) since we are given the space to simulate the $n^k$-space machine in the input, and that there is a trivial reduction from $B$ to $B'$: $$ x \mapsto x01^{|x|^k}. $$ Now, since $A$ is DSPACE($n$)-hard and $B'$ is in DSPACE($n$), there is a also a polynomial-time reduction from $B'$ to $A$. Composing the reductions we get the one from $B$ to $A$.

Note that this fact is not incompatible with DSPACE($n$) having a complete language (under polynomial-time reductions) and the fact that DSPACE($n$) $\not=$ PSPACE because DSPACE($n$) is not closed under polynomial-time reductions. Whether DSPACE($n$) actually has a complete language is a different story. The standard candidates (QBF, universal space bounded machine, etc.) incur $O(\log n)$ factors in the encodings to take care of unbounded alphabets or unbounded number of tapes in the machines defining DSPACE($n$), so they do not work directly. Relatively recent work by Ryan Williams where he examines the efficiency of the encodings could be relevant for this (see

share|cite|improve this answer
This is meant to be a comment on Kristoffer's answer below but I don't have enough reputation to place it there. The comment is that it seems to me that the tape-compression theorem, which you invoke to turn every machine to one with a single work-tape and a fixed alphabet, works precisely by increasing the alphabet or the number of work-tapes; or does it? – slimton Sep 27 '10 at 21:47

Thanks!!! The padding explanation was very enlighting!!!!

I also understand the part about DSPACE(n) having complete language doesn't contradict the above, but even if there is a O(n^{3}) DSPACE(n) hard language (that is what i meant when i mentioned an O(n^{k}) language for some small k) then this could lead to a contradiction (it depends on the size of the reduction...since a O(n^k) (k>>3) language could be reduced to this DSPACE(n)-hard language but the reduction could output an O(n^{k/3}) size input for the machine that decides this DSPACE(n)-hard language)..but if this is not the case that could lead to SPACE(n^{k_{1}}) = SPACE(n^{k_{2}}), with k_{1} < k_{2}.

thank you again!!!

share|cite|improve this answer
Hi kos, you should register an account so that your reputation will be in one place, and you can then edit, comment, and vote on other answers -- write the moderators so that they can combine your two unregistered accounts into one as well. – j.c. Sep 27 '10 at 19:43

A canonical complete language for $LINSPACE = DSPACE(n)$ would be the following language

$L =\{ < M,x,1^s>\ :\ M\ \text{is a Turing machine that accepts}\ x\ \text{using space}\ s\}$

which is complete for $LINSPACE$ under linear time reductions, logspace reductions, as well as polynomial time reductions.

Here linear time reductions are arguably the most natural reductions, since LINSPACE is closed under linear time reductions these. As for logspace and polynomial time reductions, the language $L$ above is even hard for $PSPACE$ under these reductions.

Another thing to mention about linear space is the connection to context sensitive languages. Turing machines that operate in linear space are also known as Linear bounded automata. Through grammars one can define (somewhat more natural) complete languages for $LINSPACE$ and $NLINSPACE=NSPACE(n)$ than the canonical complete problems.

share|cite|improve this answer
I should also clarify to address the worries expressed in the previous answer of possible large alphabets and number of tapes of the Turing machine M in the language $L$ defined above. I shall simply only allow Turing machines M over a fixed tape alphabet and with a single work-tape. This ensures that $L$ is in $LINSPACE$. Also, by tape reduction and encoding alphabets, any $O(n)$ space bounded Turing machine can be converted into this form and still be $O(n)$ space bounded. – Kristoffer Arnsfelt Hansen Sep 27 '10 at 19:22

If we consider only log-space reductions, can it be then that L (above) is also PSPACE-hard? (doesn't the padding trick suggest that we use polynomial-space reduction?)

share|cite|improve this answer
This should really have been left as an edit to the original question. – Yemon Choi Sep 29 '10 at 22:53

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.