difference between decidability and recognizability?
**Decidability** refers to whether there exists an algorithm that always halts and correctly determines the answer (yes or no) for every input. **Recognizability** (or semi-decidability) means there is an algorithm that will halt and accept for inputs in the language, but may run forever for inputs not in the language. In other words, decidable languages are also recognizable, but recognizable languages are not necessarily decidable.