Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

Is there any general definition, for a class $C$ of languages, what is the relativized class $C^A$ for an oracle $A$?

Usually, these classes and their relativizations seem to be defined in an ad-hoc way. For example, $P$ is the class of languages decided by poly Turing machines, $P^A$ is the class of languages decided by poly Turing machines with access to $A$. There is not any logic, as far as I can see, to tell you how to add $A$ to the definition of $P$.

Obviously, the definition of a relativization of $C$ depends on more than simply the set of languages that comprise $C$. For example, $P = NP$ is unknown, but there exists an oracle $A$ such that $P^A \neq NP^A$. So, the definition of the relativization should somehow have access to the "defining property" of $C$. But, is there any rigorous way to do this?

share|improve this question
Even when oracles make perfect sense (as in the case of P and NP) the complexity classes are highly sensitive to the representation of the oracle. Indeed, the restrictions on the complexity classes also restrict how oracle information can be accessed and this leads to some complex interactions. For example, Baker, Gill, Solovay do warn that their results do not hold for all seemingly reasonable representations of oracles. –  François G. Dorais Sep 20 '11 at 11:23
A more rigorous way to define these classes is to think of the definition of P^A as a primary thing and P as the shorthand for P^∅, and similarly to NP. The same idea applies to many classes, but not to every class possibly imaginable. –  Tsuyoshi Ito Sep 20 '11 at 12:01
@ Tsuyoshi -- yes, but what is logic of the formulas by which complexity classes are defined? –  David Harris Sep 20 '11 at 18:30
@ Francois -- I didn't know about that. Is there an example of a seemingly nice representation of oracles for which the Baker-Gill-Solovay results are known to fail? –  Noah S Sep 21 '11 at 5:23
Noah, here is one that is "barely reasonable" but illustrates the point. Represent the elements of the set A in order using tick marks (1s) separated by blanks (0s). (So {3, 5,...} would be 1110111110...) Even if the set A is highly informative, it takes a lot of computing power to extract significant information using this representation. –  François G. Dorais Sep 21 '11 at 17:44
show 2 more comments

3 Answers

[EDIT: I wrote my original answer when I was in a bit of a hurry. I have now expanded my answer.]

The short answer is no. The simplest way to see that $C^A$ cannot possibly depend only on $C$ and $A$ as sets of strings is the following spurious argument that has confused generations of students. Assume that $P=NP$. Then for all oracles $A$, $P^A = NP^A$. But by Baker–Gill–Solovay, we know that there exists an oracle $A$ such that $P^A \ne NP^A$. This is a contradiction. Hence $P\ne NP$. Q.E.D., and I await my $1 million check.

The standard notation $C^A$ is an abuse of notation. A class per se cannot be relativized; one must specify a model of computation and provide that model of computation with access to an oracle. Choosing different models of computation, or different oracle access mechanisms, may give you different relativizations. For example, space-bounded classes are notoriously tricky to relativize, as explained in this paper by Hartmanis et al. The trouble is that it's not obvious what the "right" oracle access mechanism is in certain cases.

Having said that, I think it is a fascinating open-ended problem to try to "formalize" the concept of relativization in a way that would allow one to rigorously prove statements of the form, "such-and-such a type of argument relativizes and therefore cannot (for example) separate $P$ from $NP$." Though this is a very tempting idea, there is still no fully satisfactory theory along these lines. Probably the best attempt in this direction so far is the unpublished manuscript Relativizing versus nonrelativizing techniques: the role of local checkability, by Arora, Impagliazzo, and Vazirani, but this is really just a first attempt. For example, in his paper The role of relativization in complexity theory, Fortnow argues that there are certain important limitations to the Arora–Impagliazzo–Vazirani model. Fortnow's paper is recommended reading if you want to work on this open problem yourself.

share|improve this answer
Also Impagliazzo, Kabanets, and Kolokolova's paper "An Axiomatic Approach to Algebrization" from STOC 2009: cs.sfu.ca/~kabanets/Research/algebrization.html –  Kaveh Sep 21 '11 at 19:10
add comment

There isn't one correct definition of a relativization of a complexity class. Depending on the circumstances there are different definitions which are useful. So we don't have a single way of defining the relativization even for a fixed complexity class.

As an example, consider the complexity class $\mathsf{L}$. Using one definition we can show that there is an oracle $A$ s.t. $\mathsf{L}^A=\mathsf{PSpace}^A$. On the other hand, hierarchy theorem relativizes, so $\mathsf{L}^A \neq \mathsf{PSpace}^A$ for all $A$. These results look contradictory at the first sight but they are not. The key point is that they are using different definitions. Both definitions are used in the literature.

Depending on what we want to achieve we have different suitable relativizations. This is similar (though more subtle) to reductions, there are several of them, some results hold w.r.t. one kind of reductions and fail w.r.t. another one.

share|improve this answer
add comment

Perhaps this could be of some help?: Lecture notes of a Weizmann course by Oded Goldreich (.ps here). On the first page, he (or his note-taker) says

Given any two complexity classes $C_1$ and $C_2$, where $C_2$ is the class of oracles, it is not always possible to have a natural notion of what is the class $C_1^{C_2}$—it is not necessarily the case that for every complexity class $C_1$ we can define its relativization to $C_2$.

Then he outlines "some conditions under which such a relativization can be done" via oracle machines. Although this material is a decade old by now, I believe relativization continues to be generally defined in terms of oracle Turing machines: those with a distinguished oracle tape that is consulted whenever the machine enters an "oracle state."

Added. Thus if $C$ is a complexity class of languages accepted by Turing machines satisfying some type of (time/space) resource bound, then $C^A$ is the class of languages accepted within the same resource bounds by machines that can make "oracle calls" to $A$ at unit cost. For example, DTIME$^A(t(n))$ is the class of all languages decidable in $O(t(n))$ steps given access to the oracle $A$.

share|improve this answer
This states "the definition must be in terms of machines". But it does not state what properties of the machine shall be allowable in the definition, or what type of formula shall be used to quantify over the machines. Intuitively, this whole issue is clear enough. The question is, what does it mean precisely. –  David Harris Sep 20 '11 at 1:36
The proper way to making it precise is to follow Tsuyoshi Ito’s comment above. There is no way around the fact that there may be more than one way of relativizing a given class. –  Emil Jeřábek Sep 20 '11 at 14:50
add comment

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.