Semidécidable
Semidécidable is a term used in computability theory and theoretical computer science. A problem is called semidécidable if there exists an algorithm that, for any instance of the problem where the answer is "yes", will eventually halt and output "yes". However, if the answer is "no", the algorithm may either halt and output "no", or it may run forever without halting. Another way to describe a semidécidable problem is that the set of all "yes" instances is a recursively enumerable set.
The concept is closely related to decidability. A problem is decidable, or recursive, if there is an
A classic example of a semidécidable problem that is not decidable is the Halting Problem. The Halting