I would like to submit the following false proof of $\mathbf{P} \neq \mathbf{NP}$ which got me confused for a minute and illustrates the importance of putting quantifiers in the right place:

* the classes $\mathbf{P}^G$ and $\mathbf{NP}^G$ relative to a generic oracle $G$ are, in fact, equal to $\mathbf{P}$ and $\mathbf{NP}$ respectively, as explained in [this very nice answer by Emil Jeřábek](https://cstheory.stackexchange.com/a/53599/17747) to a question of mine on the Computer Science Theory StackExchange;

* but in fact $\mathbf{P}^G \neq \mathbf{NP}^G$ relative to a generic oracle $G$, as proved in [Mehlhorn, “On the size of sets of computable functions” (1973)](https://ieeexplore.ieee.org/document/4569743), theorem 4.6;

* “thus”, $\mathbf{P}\neq\mathbf{NP}$.

The error is that while both statements are correct for a certain interpretation of “relative to a generic oracle $G$”, the order of the quantifiers is different: the first says that any language $L$ which is in $\mathbf{P}^G$ (resp. $\mathbf{NP}^G$) for a comeager set of $G$ is in fact in $\mathbf{P}$ (resp. $\mathbf{NP}$) (and conversely); the second says that there is a comeager set of $G$ such that there exist languages $L$ which are in $\mathbf{NP}^G$ not in $\mathbf{P}^G$.