2

Show that there's no such algorithm, $A$ which gets a sentence, $\varphi$ (a formula without free-variables) and returns $\varphi'$ such that: $\varphi$ is satisfiable iff $\varphi'$ is valid (meaning, it is true for every structure, $M$).

I was hinted I need to look at $\lnot \varphi'$ (where $\varphi'$ is valid iff $\lnot \varphi'$ isn't satisfiable) and to run some checks simultaneously and so getting a contradiction to the thesis claims that there's no algorithm to check satisfiability of some sentence.

I'd be glad for help.

Thanks.

LiorGolan
  • 375

1 Answers1

2

HINT: by the Completeness Theorem, there's an algorithm $B$ such that $B(\psi)$ halts iff $\psi$ is valid (exercise). Now suppose you had such an $A$. Then consider what happens if I run $B(\neg\varphi)$ and $B(\varphi')$ in parallel - do you see why this lets me compute whether $\varphi$ is satisfiable?

Noah Schweber
  • 260,658
  • So basically you're guessing that we're in the realm of propositional calculus and not FOL. Right? (Otherwise there's no such algorithm as far as I know) – LiorGolan Jul 19 '16 at 10:54
  • No, this is still true for fol. Are you familiar with the completeness theorem for fol? – Noah Schweber Jul 19 '16 at 13:48
  • Yeah sure, but we learned in class that the validity problem doesn't have an algorithm. We made a reduction to some other problem (The tiling problem) – LiorGolan Jul 19 '16 at 14:48
  • I would be surprised to find out otherwise (that there's such an algorithm) – LiorGolan Jul 19 '16 at 14:54
  • @LiorGolan There is no algorithm for deciding whether a statement is valid. However, there is an algorithm $B$ doing what I said above: $B(\psi)$ halts iff $\psi$ is valid. It's easy to write: $B$ just searches through all possible proofs for a proof of $\psi$, and halts if it finds one. What you've seen in class is that there is no algorithm for deciding whether a statement is valid: such an algorithm would have to output $0$ if $\psi$ is valid and $1$ if $\psi$ isn't, and halt on all inputs. The algorithm $B$ above only gives positive information about decidability. (cont'd) – Noah Schweber Jul 19 '16 at 15:02
  • That is, the set of valid sentences in FOL is recursively enumerable (or computably enumerable, or semidecidable), but not recursive. This is a crucial distinction. See e.g. https://www.di.ubi.pt/~desousa/2012-2013/CF/ValidityChecking.pdf (contrast slides 25 and 32). Another example is the Halting Problem: the set of Turing machines which halt on input $0$ (say) is recursively enumerable, but not recursive. – Noah Schweber Jul 19 '16 at 15:02
  • I got it. We produced an algorithm to check satisfiability - contradiction! – LiorGolan Jul 19 '16 at 15:36