In logic, a proposition which can be shown to be true or false is decidable. In computability, a predicate is decidable if there is an algorithm which can decide, in each possible case, on the truth or falsity of the predicate. If an algorithm exists which decides on the truth of the predicate in finite time but potentially runs forever if the predicate is false, the predicate is called semi-decidable.