1

For some axiom systems, we can verify candidate proofs. For example Mizar.

Is there a universal language we can write proofs in, so that the axioms are included in the proof, along with every single step in complete detail, so that some universal verifier (Turing machine) can decide its correctness? Assume proofs are finite in length.

(I believe this is similar to asking "Can every math proof be written in Metamath?")

Basically instead of hard-coding the axiom system into the verifier, I want the axioms as part of the input to the verifier, for all possible axiom systems.


Turing machines have Universal Turing machines that compute all other turing machines.

Turing machines and math proofs seem to be closely related (See Curry-Howard correspondence and the time- and space- hierarchies from Computer Science showing up in higher-order-logic via Descriptive Complexity).

So there may be some analogous universal math axiom system that can describe all other systems.

  • No. Gödel proved that. – David G. Stork Dec 17 '20 at 23:43
  • @DavidG.Stork What's the proof called? – Jesus is Lord Dec 17 '20 at 23:44
  • 11
    @DavidGStork: Gödel did not prove that. In fact, a central part of the incompleteness theorems is that the notion of being a proof is definable in arithmetic. – Rob Arthan Dec 17 '20 at 23:46
  • Well, I suppose the central point here concerns the phrase "every possible proof." Gödel's Theorems state that no consistent system of axioms whose theorems can be listed by an effective procedure (i.e., an algorithm) is capable of proving all truths about the arithmetic of natural numbers. So, there can be truths, where we must add an axiom. But the OP wants to know if there could be a universal theorem prover that would include that mathematical truth. The answer is no, or rather, there will always be truths not currently covered. – David G. Stork Dec 17 '20 at 23:52
  • @DavidG.Stork Some statements don't have proof. I'm asking about statements that have proofs. – Jesus is Lord Dec 17 '20 at 23:54
  • Then your phrase "every possible proof" is extremely misleading. – David G. Stork Dec 17 '20 at 23:55
  • 5
    @DavidG.Stork: the OP is not asking for what you claim. I would have written "purported proof" rather than "possible proof" in the title, but that doesn't invalidate the question. The question is about verification of purported proofs not verification of purported theorems. – Rob Arthan Dec 18 '20 at 00:07
  • @RobArthan: So which of these two phrases do you think most closely matches what the OP intended: "every proof" or "every possible proof"? – David G. Stork Dec 18 '20 at 00:31
  • 1
    @DavidG.Stork: the question has been edited to use the word "purported", now, but it doesn't make much difference: the question is (and was) about a universal verifier and not a universal prover. – Rob Arthan Dec 18 '20 at 01:50

2 Answers2

2

If you fix on some logic, e.g., first-order logic and as is usual require the axiom system to be a recursive set, then you can design a machine that takes as input a purported proof $\Pi$ and a code $\cal A$ for a function that decides whether a formula is an axiom and tests whether $\Pi$ is a valid proof from the axioms in $\cal A$. Generalising, you could come up with a fancier machine that took as input a purported proof in any reasonable deductive sstem and a function that decomposes the proof into steps and decides whether each step is valid. Systems along these lines have been implemented and are called logical frameworks. Metamath is one such system. However, I don't think any such system enjoys any very interesting universal property: there is no useful sense in which they describe the systems that they model.

However, all this depends on our logic being tractable to computation. In the logic whose language is the language of natural number arithmetic and whose axioms are all true statements about the natural numbers, there is no possibility of providing a verifier.

Rob Arthan
  • 48,577
  • Is the logical framework link correct? This didn't sound like math: "The Logical Framework Approach (LFA) is a methodology mainly used for designing, monitoring, and evaluating international development projects." – Jesus is Lord Dec 18 '20 at 00:18
  • @Jared: thanks. I've fixed the link to point towards an article about the original and best meaning of the term "logical framework". $\ddot{\frown}$. – Rob Arthan Dec 18 '20 at 00:23
  • Regarding tractability, would the input proofs be infinite length to include all the axioms? I edited my question to say the proofs are finite length – Jesus is Lord Dec 18 '20 at 00:44
  • A code for a Turing machine that decides whether a formula is an axiom could be provided as a finite part of the input that represents an infinite system of axioms. – Rob Arthan Dec 18 '20 at 01:43
0

There's some discussion in the comments about what exactly the question means, so I'll try to give an answer that covers a variety of possible meanings. Here's some helpful terminology. A proof system is:

  • complete if every statement that is true under all interpretations can be proved in the system.
  • sound if every statement that can be proved in the system is true under all interpretations.
  • effective if there is an algorithm that can correctly detect whether a given string of symbols is a correct proof.

Now whether or not there is proof system like you're asking for depends on exactly what you want, and which logical framework you want to work in. For example, first-order logic does have a complete, sound, effective proof system (in fact, there are several). On the other hand, it follows from the incompleteness theorems that second-order logic (with full semantics) does not have a complete, sound, effective proof system.

I feel like I should note that getting a sound and effective proof system is trivial - just declare that no string of symbols is a proof. Completeness, or at least something like it, is thus highly desirable.

I also think I should point out that despite having a complete, sound, effective proof system, there is not an algorithm for determining whether or not a given statement is a theorem from some axioms, but there is an algorithm which, given a statement and some reasonably-presented list of axioms, will return TRUE if the statement can be proved from the axioms, and otherwise will run forever. The terminology here is that first-order logic is semidecidable.

Chris Eagle
  • 5,558
  • What has that got to do with verifying proofs? – Rob Arthan Dec 18 '20 at 00:16
  • 2
    Effectiveness is precisely about having an algorithm for verifying proofs. – Chris Eagle Dec 18 '20 at 00:17
  • 2
    I confess that I missed your bullet point about effectiveness. But your answer as a whole doesn't seem to me to address the question. – Rob Arthan Dec 18 '20 at 00:19
  • I might not have been sufficiently clear - my main point was that effectiveness is what OP seems to be asking for, but without some other properties that on its own isn't so interesting. I also admit that the last paragraph really isn't related to OP's question, but it comes up a lot and is closely related. – Chris Eagle Dec 18 '20 at 00:21
  • Are there proof systems that are ineffective? If so, then wouldn't the answer to my question be no? – Jesus is Lord Dec 18 '20 at 00:22
  • 1
    Sure, there are ineffective proof systems for any system you want. Here's one, and it's even sound and complete: Any statement that is true under all interpretations counts as a one-line proof of itself, and those are all the proofs. I don't think that means the answer to your original question is "no", though. – Chris Eagle Dec 18 '20 at 00:27