Can anyone clearly explain the difference between these two notions of obfuscation security: VBB security and D-VBB Security.
VBB Security: An obfuscated program is no better than just a black box access to the program
D-VBB Security : Let $D = \{D_n\}_{n\in N}$ be a sequence of distributions on F, and O an obfuscator for the F functionality. Then O is said to be D-DVBB secure if for any adversary A and any sequence of predicates $P = \{P_n : F_n \rightarrow \{0, 1\}\}$ there exists a PPT Simulator S such that
$$ Pr_{f \leftarrow D_n,A, O}[A(O(f))= P_n(f)] \approx Pr_{f \leftarrow D_n,S}[S^f(1^n) = P_n(f)]$$
Why are we using predicates in this definition?