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 ?
-
Or can we conclude that if a formula isnt unsatisfiable, then it is satisfiable. So satisfiability is also semi decidable ? – asddf Oct 06 '17 at 22:43
-
Satisfiability is not semidecidable - if it were, satisfiability would be both semidecidable and co-semidecidable, hence decidable. – Noah Schweber Oct 06 '17 at 22:47
-
@NoahSchweber Thank you, you can put this an answer. – asddf Oct 06 '17 at 22:48
-
See the answer to https://math.stackexchange.com/questions/1327885/unclear-why-first-order-satisfiability-undecidable-and-not-semi-decidable. – Hans Hüttel Oct 06 '17 at 22:49
-
@HansHüttel Thank you, this helps a lot. – asddf Oct 06 '17 at 22:52
1 Answers
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.)

- 245,398