A computable predicate is a yes-or-no relation for which an algorithm halts on every input and returns the correct truth value. Equivalently, its indicator function takes values in and is a total computable function. For predicates of several natural numbers, a fixed effective tuple encoding reduces the inputs to one number if needed.
For example, defined by is computable: with a stated convention for , integer division or finite arithmetic decides it. The predicate that program halts on input within at most steps is also computable, by bounded simulation.
In contrast, the existence of some halting time, , is not a computable predicate in general: it is the halting problem. It is computably enumerable because a successful simulation eventually witnesses it. Thus an unbounded existential quantifier can turn a decidable relation into one whose false instances cannot be recognized by a terminating procedure.
New to topics? Read the docs here!