# Finite Models Imply Decidability

Now for some positive results.

**Theorem:** Suppose that is a subset of all first-order logic sentences such that for all ,

- , and
- if has a model, then has a finite model

Then there exists an algorithm that, given a formula from , determinies whether is valid.

Note: such algorithm is called a decision procedure for the class of formulas .

Note: we have just shown that such algorithm does not exists for the set of all sentences in first-order logic. There is only an algorithm (e.g. resolution) that will terminate when formula is valid, but need not terminate on invalid formulas.

**Proof:**

Prover and counterexample finder running in parallel.