Mathbox for Alan Sare < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  wvd1 Unicode version

Syntax Definition wvd1 27030
Description: A Virtual Deduction proof in a Hilbert-style deductive system is the analog of a sequent calculus proof. A theorem is proven in a Gentzen system in order to prove more directly, which may be more intuitive and easier for some people. The analog of this proof in Metamath's Hilbert-style system is verified by the Metamath program.

Natural Deduction is a well known proof method orignally proposed by Gentzen in 1935 and comprehensively summarized by Prawitz in his 1965 monograph "Natural deduction: a proof-theoretic study". Gentzen wished to construct "a formalism that comes as close as possible to natural reasoning". Natural deduction is a response to dissatisfaction with axiomatic proofs such as Hilbert-style axiomatic proofs, which the proofs of Metamath are. In 1926, in Poland, Lukasiewicz advocated a more natural treatment of logic. Jaskowski made the earliest attempts at defining a more natural deduction. Natural deduction in its modern form was independently proposed by Gentzen.

Sequent calculus, the chief alternative to Natural Deduction, was created by Gentzen. The following is an except from Stephen Cole Kleene's seminal 1952 book "Introduction to Metamathematics", which contains the first formulation of sequent calculus in the modern style. Kleene states on page 440:

. . . the proof of (Gentzen's Hauptsatz) breaks down into a list of cases, each of which is simple to handle. . . . Gentzen's normal form for proofs in the predicate calculus requires a different classification of the deductive steps than is given by the postulates of the formal system of predicate calculus of Chapter IV (Section 19). The implication symbol (the Metamath symbol for implication has been substituted here for the symbol used by Kleene) has to be separated in its role of mediating inferences from its role as a component symbol of the formula being proved. In the former role it will be replaced by a new formal symbol (read "gives" or "entails"), to which properties will be assigned similar to those of the informal symbol in our former derived rules.

Gentzen's classification of the deductive operations is made explicit by setting up a new formal system of the predicate calculus. The formal system of propositional and predicate calculus studied previously (Chapters IV ff.) we call now a "Hilbert-type system", and denote by H. Precisely, H denotes any one or a particular one of several systems, according to whether we are considering propositional calculus or predicate calculus, in the classical or the intuitionistic version (Section 23), and according to the sense in which we are using "term" and "formula" (Sections 117,25,31,37,72-76). The same respective choices will apply to the "Gentzen-type system G1" which we introduce now and the G2, G3 and G3a later.

The transformation or deductive rules of G1 will apply to objects which are not formulas of the system H, but are built from them by an additional formation rule, so we use a new term "sequent" for these objects. (Gentzen says "Sequenz", which we translate as "sequent", because we have already used "sequence" for any succession of objects, where the German is "Folge".) A sequent is a formal expression of the form , . . . , , . . . , where , . . . , and , . . . , are seqences of a finite number of 0 or more formulas (substituting Metamath notation for Kleene's notation). The part , . . . , is the antecedent, and , . . . , the succedent of the sequent , . . . , , . . . , .

When the antecedent and the succedent each have a finite number of 1 or more formulas, the sequent , . . . , , . . . has the same interpretation for G1 as the formula . . . . . . for H. The interpretation extends to the case of an antecedent of 0 formulas by regarding . . . for 0 formulas (the "empty conjunction") as true and . . . for 0 formulas (the "empty disjunction") as false.

. . . As in Chapter V, we use Greek capitals . . . to stand for finite sequences of zero or more formulas, but now also as antecedent (succedent), or parts of antecedent (succedent), with separating formal commas included. . . . (End of Kleene excerpt)

In chapter V entitled "Formal Deduction" Kleene states, on page 86:

Section 20. Formal deduction. Formal proofs of even quite elementary theorems tend to be long. As a price for having analyzed logical deduction into simple steps, more of those steps have to be used.

The purpose of formalizing a theory is to get an explicit definition of what constitutes proof in the theory. Having achieved this, there is no need always to appeal directly to the definition. The labor required to establish the formal provability of formulas can be greatly lessened by using metamathematical theorems concerning the existence of formal proofs. If the demonstrations of those theorems do have the finitary character which metamathematics is supposed to have, the demonstrations will indicate, at least implicitly, methods for obtaining the formal proofs. The use of the metamathematical theorems then amounts to abbreviation, often of very great extent, in the presentation of formal proofs.

The simpler of such metamathematical theorems we shall call derived rules, since they express principles which can be said to be derived from the postulated rules by showing that the use of them as additional methods of inference does not increase the class of provable formulas. We shall seek by means of derived rules to bring the methods for establishing the facts of formal provability as close as possible to the informal methods of the theory which is being formalized.

In setting up the formal system, proof was given the simplest possible structure, consisting of a single sequence of formulas. Some of our derived rules, called "direct rules", will serve to abbreviate for us whole segments of such a sequence; we can then, so to speak, use these segments as prefabricated units in building proofs.

But also, in mathematical practice, proofs are common which have a more complicated structure, employing "subsidiary deduction", i.e. deduction under assumptions for the sake of the argument, which assumptions are subsequently discharged. For example, subsidiary deduction is used in a proof by reductio ad absurdum, and less obtrusively when we place the hypothesis of a theorem on a par with proved propositions to deduce the conclusion. Other derived rules, called "subsidiary deduction rules", will give us this kind of procedure.

We now introduce, by a metamathematical definition, the notion of "formal deducibility under assumptions". Given a list , . . . of or more (occurences of) formulas, a finite sequence of one or more (occurences of) formulas is called a (formal) deduction from the assumption formulas , . . . , if each formula of the sequence is either one of the formulas , . . . , or an axiom, or an immediate consequence of preceding formulas of a sequence. A deduction is said to be deducible from the assumption formulas (in symbols, ,. . . . ,. ), and is called the conclusion (or endformula) of the deduction. (The symbol may be read "yields".) (End of Kleene excerpt)

Gentzen's normal form is a certain direct fashion for proofs and deductions. His sequent calculus, formulated in the modern style by Kleene, is the classical system G1. In this system, the new formal symbol has properties similar to the informal symbol of Kleene's above language of formal deducibility under assumptions.

Kleene states on page 440:

. . . This leads us to inquire whether there may not be a theorem about the predicate calculus asserting that, if a formula is provable (or deducible from other formulas), it is provable (or deducible) in a certain direct fashion; in other words, a theorem giving a normal form for proofs and deductions, the proofs and deduction in normal form being in some sense direct. (End of Kleene excerpt)

There is such a theorem, which was proven by Kleene.

Formal proofs in H of even quite elementary theorems tend to be long. As a price for having analyzed logical deduction into simple steps, more of those steps have to be used. The proofs of Metamath are fully detailed formal proofs. We wish to have a means of proving Metamath theorems and deductions in a more direct fashion. Natural Deduction is a system for proving theorems and deductions in a more direct fashion. However, Natural Deduction is not compatible for use with Metamath, which uses a Hilbert-type system. Instead, Kleene's classical system G1 may be used for proving Metamath deductions and theorems in a more direct fashion.

The system of Metamath is an H system, not a Gentzen system. Therefore, proofs in Kleene's classical system G1 ("G1") cannot be included in Metamath's system H, which we shall henceforth call "system H" or "H". However, we may translate proofs in G1 into proofs in H.

By Kleene's THEOREM 47 (page 446)

 if in G1 then in H

By Kleene's COROLLARY of THEOREM 47 (page 448)

 if in G1 then in H if in G1 then in H if in G1 then in H

denotes the same connective denoted by . " , " , in the context of Virtual Deduction, denotes the same connective denoted by . This Virtual Deduction notation is specified by the following set.mm definitions:

 df-vd1 27031 dfvd2an 27044 dfvd3an 27056

replaces in the analog in H of a sequent in G1 having a non-empty antecedent. If occurs as the outermost connective denoted by or and occurs exactly once, we call the analog in H of a sequent in G1 a "virtual deduction" because the corresponding of the sequent is assigned properties similar to .

While sequent calculus proofs (proofs in G1) may have as steps sequents with 0, 1, or more formulas in the succedent, we shall only prove in G1 using sequents with exactly 1 formula in the succedent.

The User proves in G1 in order to obtain the benefits of more direct proving using sequent calculus, then translates the proof in G1 into a proof in H. The reference theorems and deductions to be used for proving in G1 are translations of theorems and deductions in set.mm.

Each theorem in set.mm corresponds to the theorem in G1. Deductions in G1 corresponding to deductions in H are similarly determined. Theorems in H with one or more occurences of either or may also be translated into theorems in G1 for by replacing the outermost occurence of or of the theorem in H with . Deductions in H may be translated into deductions in G1 in a similar manner. The only theorems and deductions in H useful for proving in G1 for the purpose of obtaining proofs in H are those in which, for each hypothesis or assertion, there are 0 or 1 occurences of and it is the outermost occurence of or . Kleene's THEOREM 46 and its COROLLARY 2 are used for translating from H to G1. By Kleene's THEOREM 46 (page 445)

 if in H then in G1

By Kleene's COROLLARY 2 of THEOREM 46 (page 446)

 if in H then in G1 if in H then in G1 if in H then in G1

The procedure for more direct proving of theorems or deductions in H is as follows. The User proves in G1. He(she) uses translated set.mm theorems and deductions as reference theorems and deductions. His(her) proof is only a guess in the sense that he(she) can't verify his(her) proof in G1 because he(she) doesn't have an automated proof checker to use. The proof in G1 is translated into its analog in H for verification by the Metamath program. This proof is called the Virtual Deduction proof. This proof may then be translated into a conventional Metamath proof automatically, removing the unnecessary Virtual Deduction symbols.

The translations from H to G1 and G1 to H are trivial. In practice, they may be done without much thought. In principle, they must be done, because the proving is done using sequents, which do not exist in H.

The analogs in H of the postulates of G1 are the set.mm postulates. The postulates in G1 corresponding to the Metamath postulates are not the classical system G1 postulates of Kleene (pages 442 and 443). set.mm has the predicate calculus postulates and other posulates. The Kleene classical system G1 postulates correspond to predicate calculus postulates which differ from the Metamath system G1 postulates corresponding to the predicate calculus postulates of Metamath's system H. Metamath's predicate calculus G1 postulates are presumably deducible from the Kleene classical G1 postulates and the Kleene classical G1 postulates are deducible from Metamath's G1 postulates. It should be recognized that, because of the different postulates, the classical G1 system corresponding to Metamath's system H is not identical to Kleene's classical system G1.

Why not create a separate database (setg.mm) of proofs in G1, avoiding the need to translate from H to G1 and from G1 back to H? The translations are trivial. Sequents make the language more complex than is necessary. More direct proving using sequent calculus may be done as a means towards the end of constructing proofs in H. Then, the language may be kept as simple as possible. A system G1 database would be redundant because it would duplicate the information contained in the corresponding system H database.

For earlier proofs, each "User's Proof" in the web page description of a Virtual Deduction proof in set.mm is the analog in H of the User's working proof in G1. The User's Proof is automatically completed by completeusersproof.cmd. The completed proof is the Virtual Deduction proof, which is the analog in H of the corresponding fully detailed proof in G1. The completed Virtual Deduction proof of these earlier proofs may be automatically translated into a conventional Metamath proof.

In September of 2016 completeusersproof.c was released. The input for completeusersproof.c is a Virtual Deduction User's Proof. Unlike completeusersproof.cmd, the completed proof is in conventional notation. completeusersproof.c eliminates the virtual deduction notation of the User's Proof after utilizing the information it provides.

Applying mmj2's unify command is essential to completeusersproof.c. The mmj2 program is invoked within the completeusersproof.c function mmj2Unify(). The original mmj2 program was written by Mel O'Cat. Mario Carneiro has enhanced it. mmj2Unify() is called multiple times during the execution of completeusersproof.

A Virtual Deduction proof is the Metamath-specific version of a Natural Deduction Proof. A Virtual Deduction proof generally cannot be directly input on a mmj2 Proof Worksheet and completed by the mmj2 tool because it is usually missing some technical proof steps which are not part of the Virtual Deduction proof but are necessary for a complete Metamath Proof. These missing technical steps may be automatically added by an automated proof assistant. completeusersproof.c is such a proof assistant. completeusersproof.c adds the missing technical steps and finds the reference theorems and deductions in set.mm which unify with the subproofs of the proof.

The User may write a Virtual Deduction proof and automatically transform it into a complete Metamath proof using the completeusersproof tool. The completed proof has been checked by the Metamath program. The task of writing a complete Metamath proof is reduced to writing what is essentially a Natural Deduction Proof.

Generally, proving using Virtual Deduction and completeusersproof reduces the amount Metamath-specific knowledge required by the User. Often, no knowledge of the specific theorems and deductions in set.mm is required to write some of the subproofs of a Virtual Deduction proof. Often, no knowledge of the Metamath-specific names of reference theorems and deductions in set.mm is required for writing some of the subproofs of a User's Proof. Often, the User may write subproofs of a proof using theorems or deductions commonly used in mathematics and correctly assume that some form of each is contained in set.mm and that completeusersproof will automatically generate the technical steps necessary to utilize them to complete the subproofs. Often, the fraction of the work which may be considered tedious is reduced and the total amount of work is reduced.

Hypotheses
Ref Expression
wph
wps
Assertion
Ref Expression
wvd1