# The separator problem for class $DisNP$

This is a follow up to a previous Question (Clarification of definition of class $DisNP$)

The class $DisNP$ has a fundamental problem called the (P-separable) Separator Problem. Essentially the question is as follows:

Given any DisNP-pair $(A, B)$. The separator is a Set $S$ such that $A \subseteq S$ and $B \subseteq Complement(S)$. Now, does $(A, B)$ have a separator belonging to $P$? If yes, then $S$ is P-separable else P-inseparable.

The Doubt: I assume the above is an existence problem with an answer 'yes' or 'no'. Now, Given we have an oracle that answers 'yes', can we in polynomial time with a polynomial amount of queries get the actual separator $S$ (similar to creation of the solution of an $NPC$ problem using an $NP$ oracle, that just answers 'yes' or 'no'?

• This is a "meta-problem": for a given disjoint NP-pair, we are interested whether the pair can be separated by a predicate computed in polytime. We are not interested usually in the language of disjoint NP pairs (described, say, by appropriate Turing machines) which are separable. – Yuval Filmus Jul 12 '17 at 15:20
• @YuvalFilmus If I understand this problem correctly why can't the predicate be $S'$ where $S'$ is the set of strings not accepted by $B$. So, if $A$ and $B$ are two $SAT$ instances, $S'$ is a set of strings for which $B$ is unsatisfiable. It is clearly in $P$, the certificate of rejection being the string, and since $A$ and $B$ are disjoint it definitely contains $A$. What is the flaw in above argument ? – TheoryQuest1 Jul 14 '17 at 9:56
• This would answer the $P-seperable$ problem in affirmative, the separator being $S'$. – TheoryQuest1 Jul 14 '17 at 9:58
• @TheoryQuest1 We want the predicate $S'$ to be polytime computable. We are only given that $A$ and $B$ are in NP, so the set of strings not accepted by $B$ is in coNP, and not necessarily in P. – Yuval Filmus Jul 14 '17 at 11:33
• @YuvalFilmus I thought about it a bit. Given there exists a set $A$ as well as $B$ both being disjoint (a promise problem), we are certain the language of $Reject(B)$ would be not empty. So, if we describe $S'$ as the 'The set of strings rejected by $B$', that the set would always contain 1 or more strings. And any of these strings acts as certificates of $Reject(B)$ or $S'$. So, the language of $S'$ would be in $NP$ too, not $co-NP$ (it would have been in $co-NP$ if there was a chance that $Reject(B)$ is empty, the case where we cannot have a certificate of it. Please verify ? – TheoryQuest1 Jul 14 '17 at 14:42