What can you say about the complexity class $\text{P}^{\text{NP}}$, i.e. decision problems solvable by a polytime TM with an oracle for SAT? This class is also known as $\Delta\_2^p$.


Obviously $\text{P}^{\text{NP}}$ is in $\text{PH}$ somewhere between $\text{NP} \cup \text{coNP}$, and $\Sigma\_2^p \cap \Pi\_2^p$. What else is known about that complexity class? 



Characterize P^NP (a.k.a. Delta_2^p)
The standard complete problem for the "function version" of P^NP is to find the lexicographically last satisfying assignment of a given boolean formula. To be more finicky, a complete language for P^NP is 


{ n-variable boolean formulas phi : phi is satisfiable and phi's lexicographically last satisfying assignment has x\_n = 1 }.


This is Krentel's Theorem.


Under a standard complexity assumption one can derandomize the more powerful class BPP^NP down to P^NP. With the power of BPP^NP, one can compute the number of satisfying assignments to a circuit to within a 1 +/- 1/poly(n) factor [Sipser / Stockmeyer / Valiant-Vazirani] and exactly learn unknown polynomial-size circuits [Bshouty-Cleve-Gavalda-Kannan-Tamon].


