19

Roughly speaking, there are some fundamental theorems in mathematics which have several proofs (e.g. Fundamental Theorem of Algebra), some short and some long. It is always an interesting question whether there is a shorter proof for this theorem or not? Surely there is a unique natural number which represents the length of the shortest possible proof of this provable theorem which certainly exists. But how to calculate this natural number? How to find a proof of this length for our theorem?

Of course these questions depends on the logical context which you choose so let me to be more precise:

Question 1: Consider the first order logic and pick a particular language $\mathcal{L}$ and an $\mathcal{L}$-theory $T$ together with a fixed $\mathcal{L}$-sentence $\sigma$ which we know is provable from $T$. Is there any algorithm to calculate the length of least possible proof for $\sigma$? Is there any algorithm to find a proof of the least length for $\sigma$?

Question 2: Is there any non-trivial theorem of ZFC (e.g. Cantor's Theorem: $2^{\aleph_0}>\aleph_0$) which the length of its shortest formal proof is known or at least we have some non-trivial bounds for the size of its shortest proof?

  • 10
    Gödel pointed out that the fixed point of the mapping $$S \mapsto \text{“$S$ cannot be proved in PA in less than one million steps”}$$ is a statement that cannot be proved in PA in less than one million steps, unless PA is inconsistent. Details here – MJD Nov 02 '14 at 15:20
  • Larry Wos has spent years where his research has focused heavily on proof shortening (in an automated context). You might find reading his papers and books interesting... here's an example http://www.automatedreasoning.net/docs_and_pdfs/proof_shortening-whats_the_point.pdf – Doug Spoonwood Nov 03 '14 at 06:04

2 Answers2

22

Start will all one-character strings. Check for each "Is this a proof of my theorem?" Then check the two character strings. Are any of these proofs of my theorem? Repeat for each length $n$ until you find a proof of your theorem.

The question, "Is this string a proof of my theorem?" is decidable, so you are done.

Thomas Andrews
  • 177,126
  • 1
    This depends on the particular theory under consideration. If $T = \operatorname{Th}(\mathbb{N})$ (the full first-order theory of the natural numbers), then as the axioms are not recursive, the question "Is this string a proof of my theorem" is not decidable. (Of course, most "interesting" theories are recursive, but in general this need not be the case.) – user642796 Nov 02 '14 at 15:05
  • 5
    Sure, but, unless stated otherwise, we are always talking about recursive axiom sets. Certainly, the entire preamble above is talking about practical questions. Theories where we can't even determine if a string is a valid proof are obviously not of much interest. – Thomas Andrews Nov 02 '14 at 15:22
  • 1
    For example, if it is undecidable whether $P$ is an axiom, then the shortest proof of $P$ might or might not be just stating $P$. So in any theory with non-recursive axioms, we obviously can't solve this problem. – Thomas Andrews Nov 02 '14 at 15:32
  • @Thomas Andrews: I have explained in an answer that even if the set of axioms is computable, we may still not be able to tell if a formula has a short proof. – Carl Mummert Nov 02 '14 at 15:42
  • I don't think number of lines is a good definition of "proof length," but it certainly is another way of defining the length of a proof. @CarlMummert – Thomas Andrews Nov 02 '14 at 15:47
  • The main advantage of "length in steps" is that it's a coding-free definition - it only depends on the language and deductive system. "Length in bits" also depends on exactly how a given proof is represented as bits, and so the same formal proof may have several different "lengths" depending on exactly how the proof is serialized. @Thomas Andrews – Carl Mummert Nov 02 '14 at 16:05
  • 1
    I said nothing about "bits," of course, so it's not really about binary encodings. There are some encoding issues - you need to know how to write a proof as a string of a finite set of characters. The notion that the length wouldn't take into account the lengths of the lines strikes me as silly - like counting lines of code to compute the complexity of a computer program. Ceratinly, if you wrote a proof that had three lines of 8,000,000 characters, and I wrote a proof of ten lines of 4,000 characters, I know I would call my proof shorter. :) @CarlMummert – Thomas Andrews Nov 02 '14 at 16:38
  • 2
    Sure, but I might have a coding system in which the single letter "A" represents a particular proof that has 20 million steps. This is exactly the same issue as trying to measure the complexity of computer programs by their character count, as in the area of Kolmogorov complexity: when we talk about arbitrary coding schemes, we end up having to work asymptotically. – Carl Mummert Nov 02 '14 at 16:46
17

The notion of "length" matters here. If you mean "length in bits" then the answer is yes, as Thomas Andrews explained.

If you mean "length in steps of the proof", the answer is no. It is easy to come up with an r.e. theory with a set of formulas $A = \{A_n : n \in \mathbb{N}\}$, each of which is provable in three steps (i.e. two axioms and one application of modus ponens), so that if $B$ is the subset of $A$ consisting of formulas that are provable in one step (e.g. are axioms of the theory) then $B$ computes a solution to the halting problem. So, for this theory, you cannot effectively decide how many steps it takes to prove a formula.

It may seems as if we are leveraging the fact that the axioms can be r.e. but not computable. Actually, the undecidability of the axioms is not needed. The same thing can happen even if the set of axioms is decidable.

Let $f\colon \mathbb{N} \to \mathbb{N}$ be a computable function. We work in propositional logic alone; let our language have propositional variables $X_n$, $Z_n$, and $A_n$ for all $n \in \mathbb{N}$. Take as axioms:

  1. For each $n$: $X_n$ and $X_n \to Z_n$ are axioms
  2. If $f(m) = n$ then $A_m \land Z_n$ is an axiom.

Note that each $Z_n$ is provable in $3$ steps:

  • $X_n$ (axiom)
  • $X_n \to Z_n$ (axiom)
  • $Z_n$ (modus ponens)

But, if $n$ is in the range of $f$, then $Z_n$ is provable in $2$ steps. Say $f(m) = n$.

  • $A_m \land Z_n$ (axiom)
  • $Z_n$ (conjunction elimination)

If $n$ is not in the range of $f$ then $Z_n$ is not provable in $2$ steps. So $$B = \{ n : Z_n \text{ is provable in 2 steps}\}$$ is exactly the range of $f$. For some computable functions $f$, the range is a Turing-complete set (e.g., let $f$ just enumerate a Turing-complete r.e. set). This means that $B$ is not computable in general, even when $T$ has a computable set of axioms.

Carl Mummert
  • 81,604