I know that every DPDA (deterministic PDA) is a PDA (more specifically, non-deterministic PDA). But I found it hard to understand, not that every DPDA is an NPDA, but some results that contradict this fact:
- In PDA we have two modes of accepting the language, which are "empty stack method" and "final state acceptance method".
- Language accepted by both of these modes in PDA (NPDA) are equal, but in DPDA language accepted by "final state method" > "empty stack method" (strictly).
- Thirdly we know that those "deterministic context-free language" having prefix property can not be accepted by "empty stack". An example is $L = \{ a^n \mid n>0 \}$. So for these languages, we need final state method of DPDA.
Now my doubt is that if every DPDA is NPDA then the language accepted by both of the modes should be same in DPDA. I think that I am missing something here because individually all of the above result are ok, but when put sequentially they seems to cause a contradiction.