I can understand why $P^A = NP^A$ does not imply $P=NP$, $A$ can "contain" the powers of NP.


However, why does $P^B \neq NP^B$ not imply $P \neq NP$? It seems like if $P$ and $NP$ denote the same classes; then we should be able to arbitrarily substitute one for the other (as long as the only thing of interest is the computational model), and everything should stay the same.


More generally, why is $A^X \neq B^X$ not a poof for $A \neq B$ ?


I feel like there's a very fundamental piece of logic / reasoning I'm missing here.


Thanks!


EDIT: I understand the construction of the oracles A & B. However, I still don't understand why the existence of $B$ not prove that $P \neq NP$.



Oracle, Relativization, and P vs NP, [Philosophical]
The notation is deceptive. $P^A$ is not something constructed from objects $P$ and $A$, but rather something *analogous* to $P$. In fact, $P$ is a special case of $P^A$, namely $P=P^\varnothing$. The same holds, mutatis mutandis, for $NP$. Removing the contrapositive for extra clarity, the proper way of stating your question is thus:


Why $P^\varnothing=NP^\varnothing$ does not imply $P^A=NP^A$ for every $A$?


Then it should be clear that there is no reason for this to hold, just like, say, $x^0=y^0$ does not imply $x^a=y^a$ for real $x,y,a$.


EDIT: I'm not sure I should mention this, as it will probably just add to the confusion. However, under a proper notion of relativization, the implication $C\_1^A\ne C\_2^A\Rightarrow C\_1\ne C\_2$ does actually hold for “small classes” $C\_1,C\_2$, such as $AC^0[m]$, $TC^0$, $NC^1$, $L$, $NL$. See [this paper](http://www.cs.toronto.edu/~sacook/homepage/rel-web.ps) by Aehlig, Cook, and Nguyen. The main reason which makes it work is that for all these classes, the depth of dependence of the oracle queries on each other is constant, hence any relativized function can be written as a finite composition of unrelativized functions and parallel oracle calls.


