2
$\begingroup$

I want to learn about proving undecidability and proving that there is no algorithm. I read that Alonzo Church proved that there is no algorithm for second-order predicate logic while there is an algorithm for first-order logic. I don't understand how. I wonder if there could be a method or technique that proves that there is no method and no technique or if the proof was more similar to proving a mathematical impossibility or a false hypothesis.

There were also proofs that there is algorithm to solve 4th degree polynomials and then there was a proof that it stops at 5th degree polynomials and that there is no method for higher order equations.

I wonder if the proof techniques in these cases, where you prove that there is no method, is different or more the same as proving a classical true or false hypothesis or statement?

I understand that in general there are two methods, you either find a counterexample (proof by contradiction) or you try to find a proof that covers all possible cases (induction).

It is also sometime possible to reduce a problem to another that we know in undecidable e.g. reduce the problem to the halting problem and then we know that it is undecidable.

  • 1
    The proof about the polynomials of degree $5$ or higher basically states that the set of numbers you can get by adding, subtracting, multiplying, dividing and radicals is strictly contained in the set of roots of polynomials. Thus, there are polynomials with roots that cannot be written as an expression with the arithmetic operations, and therefore no arithmetic formula can exist.2017-01-14
  • 1
    In addition to Derth's geek comment, there are other formulas involving non arithmetic ways to solve 5th degree polynomials or higher.2017-01-14
  • 1
    You say that Church proved that there is an algorithm for deciding first-order logic, but there is no such algorithm, as first-order logic is only semi-decidable.2017-01-14
  • 0
    @Bram28 I was thinking of this method https://en.wikipedia.org/wiki/Method_of_analytic_tableaux I want to learn about semi-decidable problems and what they are. Is it when you can only determine a yes-or-no in only one case? Is there a good recourse about semi-decidable questions? I want to learn more about those questions. Is it similar to: "If the answer is yes, then there is a method, but not otherwise" ? I have read Graeme Forbes book about Symbolic Logic and wonder what is good to continue with.2017-01-14
  • 1
    @DacSaunders I have no immediate recommendation for any text, sorry, but the idea of semi-decidable is pretty close to what you say: For first-order logic there is an algorithm that says "yes, the statement (or inference) provided to me is valid" if and only if that statement (or inference) is indeed valid. But, there is (provably... And the easiest proof is to make a connection to the undecidability of the Halting Problem) no algorithm that says "No, the given statement (inference) is not valid" if and only if the provided statement (inference) is indeed not valid.2017-01-14
  • 1
    @DacSaunders That semantic tableaux method is a good way to illustrate these ideas: that method is given one or more statements in its root and tries to determine (decice!) whether they can all be true or not (so that is more about *satisfiability* rather than *validity*, thought the two are reducible to each other). Now, it turns out that if you set up the rules for geneerating these tableaux in a certain way, then the tableaux will eventually lead to all closed branches, and thus reach the conclusion that the sentence(s) are not satisfiable. ... (Continued)2017-01-14
  • 1
    @DacSaunders ... But, with that same setup (i.e. Same algorithm, basically), it is now guaranteed that at least for some given sentences, the tableaux will keep expanding forever, meaning that it will never give us an answer. Thus, the tableuax method is correctly classifying *all* unsatisfiable cases as such, and it is correctly classifying *some* satisfibale cases as such, but it won't be able to classify *all* satisfiable cases as such. So this method would 'semi-decide' first-order logic. And, using Turing's and Church's work, we know that this is the best any algorithm can do.2017-01-14

1 Answers 1

2

One very common type of these "proofs of impossibility" is showing that the set of objects that you want to handle with your method is strictly larger than the set of objects you can handle (see the polynomials of degree $5$ comment above), so there's obviously at least one object that you'd want to handle but that you don't.

A useful technique for these "too big too handle" impossibility proofs is called diagonalization (this is how you produce proofs for the halting problem and various undecidability problems), and it's essentially the same type of proof by which you show that the set of real numbers has cardinality strictly larger than that of the naturals:

  1. you imagine an arbitrary order of all the objects you can handle and
  2. you show that there is one object you'd want to handle that differs from the first object you can handle in its first "point", from the second in the second "point", and so on (hence the name diagonalization, the difference points form a "diagonal")... so this object you'd want to handle has no place among those you can handle.

Another type of "impossibility proof" technique is called relativization, and, in a nutshell, disqualifies all methods that would remain correct regardless of whether a specific fact is true or false; and it does so by showing that the result you want to find necessarily changes based on the truth or falsity of that specific fact.

Ultimately, these techniques are many and varied, and they do not follow all a common theme. Each is a precious finding on its own!