2

I know that finding whether a formula is unsatisfiable or a tautology is a semidecidable problem. But what about finding out if a formula is satisfiable ?

asddf
  • 1,733

1 Answers1

3

Satisfiability is not semidecidable - if it were, satisfiability would be both semidecidable and co-semidecidable, hence decidable.


A bit of commentary now:

There is something really deep going on here! Satisfiability is an existential property: $\varphi$ is satisfiable if there exists a model of $\varphi$. The beautiful power of the completeness theorem is that it tells us that unsatisfiability is also an existential property: $\varphi$ is unsatisfiable $\iff$ $\varphi$ proves $\perp$ $\iff$ there exists a proof of $\perp$ from $\varphi$. (See this answer of mine for a bit more on this.)

So both satisfiability and unsatisfiability "feel" semidecidable - a set is semidecidable, intuitively, if you can "search" for witnesses to it being true. But this isn't accurate: for a set to be semidecidable, those witnesses actually have to be things we can search for - i.e. natural numbers or things basically equivalent to natural numbers (like ordered pairs of natural numbers).

So the real question here is:

How hard is it to "search" for a model? How hard is it to "search" for a proof?

A proof is a finite sequence of symbols from a finite alphabet, so searching for proofs is easy; so unsatisfiability is definitely semidecidable. By contrast, models don't need to be finite! E.g. the sentence $$(\forall x\forall y(f(x)=f(y)\iff x=y))\quad\wedge\quad(\exists x\forall y(f(y)\not=x))$$ is satisfiable but has no finite model (why?); even worse, there are satisfiable sentences with no computable models. So searching for models isn't obviously something we can do in an "effective" way, and indeed the undecidability of satisfiability shows that searching for models is indeed not something we can do.

(Interestingly, things switch around when we look at finite model theory. When we restrict attention to finite models, models are definitely things that are easy to search for; however, the completeness theorem breaks down! So satisfiability becomes semidecidable, but there is no obvious reason for unsatisfiability to be semidecidable as well. And indeed Trakhtenbrot's theorem shows that it is not. So things "switch around" when we shift from looking at all models to looking at finite models only.)

Noah Schweber
  • 245,398