Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

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

OK, so I was told in CSTheory that I should be asking here. So my question is the following:

I've taken my first course on Language Theory and we saw the "standard" classification of languages. We saw that many problems can be expressed as a membership question of a corresponding language. I'm wondering if there are any problems for which no language can be specified.

share|cite|improve this question
What is a problem? What does it mean to specify a language for a problem? – Qiaochu Yuan Dec 4 '10 at 21:25
Since a language can only have a countable number of strings, that may lead somewhere. On the other hand, how would you even specify a problem that has uncountably many instances? – Rahul Dec 4 '10 at 22:48
@Rahul Narain: Sure. For example we could move to higher type computability and ask about the problem of deciding whether a function from $\omega$ to $\omega$ ever takes the value $0$. – Carl Mummert Dec 4 '10 at 23:44
up vote 8 down vote accepted

There are many types of "problems". Not all types of problems correspond to languages, but some do. Here are some relevant examples.

  • A decision problem is the problem of deciding membership in some set. Usually in CS the set is a set of natural numbers or strings. Any such problem can be represented as a language in the most general sense. In the notes you linked, they only consider languages on sets of strings over a finite alphabet; these languages correspond to a certain type of decision problem, which is related to the usual reducibilities such as Turing reducibility and P-time reducibility.

  • A function problem is a problem that asks you to be able to compute a specific function. For example, given an integer, produce an explicit prime factorization. These problems do not directly correspond to languages, but each function problem can be converted into the related decision problem of the graph of the function. When the underlying set is countable, this conversion preserves Turing degree.

  • A mass problem is a more general type of problem that is represented by a subset of $\omega^\omega$. The "problem" is to produce some element of the set. These problems correspond to Medvedev reducibility and Muchnik reducibility. They do not correspond to decision problems for sets of strings on finite alphabets.

share|cite|improve this answer
thank you. Although I don't have the background for understanding you're answer completely, I do understand that there are problems for which a language can't be defined, which answers my question. – ivotron Dec 5 '10 at 20:44

What is a language for you?

The canonical definition is that any set $L \subseteq \Sigma^*$ with $\Sigma$ an alphabet (i.e. finite set of symbols) is a language. There are extensions to infinite, but countable $\Sigma$.

If we assume either of those definitions, any problem on real numbers can not be represented as language, since plenty of real numbers do not have finite representations (in countable universes). That means you can not even encode your inputs properly.

In general terms, any problem that is defined on a non-countable is not representable as language (in the above terms).

share|cite|improve this answer

Let $P$ be a property of objects of type $X$, i.e. of $x \in X$. Then $P$ can be expressed as membership in $$\{ x \in X : P(x) \}.$$

share|cite|improve this answer
But is this set a language? – Raphael Mar 15 '11 at 18:06
It is a language of objects of type $X$. If you want to get your definition, take $X = \Sigma^*$. However, it makes sense sometimes to consider, say, language of infinite strings. – Yuval Filmus Mar 15 '11 at 21:45
I guess those infinite strings would have to be enumerable? – Raphael Mar 16 '11 at 11:36
Not necessarily. That depends on your definition. You can use whatever definition you want if it makes sense (defines something). Whether you should use one definition or another depends on what you're trying to model (if it's a primary definition) or what you need in your proof or theory (if it's a secondary definition). – Yuval Filmus Mar 17 '11 at 5:37
Sure, it is just that I have not encountered the concept of languages that are not at least enumerable. Do you have an example? – Raphael Mar 17 '11 at 12:47

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.