I would like to know how different defintions of class DP (also written $D^p$) are equivalent (brief explanations would do). The following are the two definitions I see:
- Difference between two NP problems; i.e., DP $:=\{A\setminus B\ :\ A,B\in NP\}$.
- $\{L_1\cap L_2\ :\ L_1\in \text{NP},\ L_2\in \text{co-NP} \}$.
Complexity zoo gives the full form "Difference Polynomial-Time" for DP and states that it is equivalent to BH$_2$. They give Definition 3 above as the definition of BH$_2$. (So, according to complexity zoo, the two definitions are equivalent).
This answer says that the definition of DP changed over time. Is this true? If so, which definition is accepted nowadays? Is there a book or survey that explains the complexity class DP (at least as a section) ?
According to this source, NP $\subseteq$ DP. Doesn't that mean DP-hard problems are NP-hard and the other direction is wrong (the latter, unless there is a collapse in complexity classes)?