1. A problem is decidable if there is an algorithm that determines whether the input instance has the answer "yes" or "no". The halting problem is undecidable as there is no algorithm to solve it.
2. Decidable problems include determining if a deterministic finite state machine (DFSM) accepts a given string, or if two DFSMs recognize the same language. Recursive languages include those defined by sets of pairs of DFSMs and strings they accept.
3. Recursive languages are decidable by a Turing machine, while recursively enumerable languages are accepted but not necessarily decidable by a non-deterministic Turing machine. The class of recursively enumerable languages includes context-