Metamath Proof Explorer


Syntax definition wvd1

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

Natural Deduction is a well-known proof method originally proposed by Gentzen in 1935 and comprehensively summarized by Prawitz in his 1965 monograph "Natural deduction: a proof-theoretical 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 excerpt 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 his (Gentzen's) Hauptsatz or normal form theorem 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 ph , ... , ps ->.. ch , ... , th where ph , ... , ps and ch , ... , th are seqences of a finite number of 0 or more formulas (substituting Metamath notation for Kleene's notation). The part ph , ... , ps is the antecedent, and ch , ... , th the succedent of the sequent ph , ... , ps ->.. ch , ... , th .

When the antecedent and the succedent each have a finite number of 1 or more formulas, the sequent ph , ... , ps ->.. ch , ... , th has the same interpretation for G1 as the formula ( ( ph /\ ... /\ ps ) -> ( ch \/ ... \/ th ) ) for H. The interpretation extends to the case of an antecedent of 0 formulas by regarding ( ph /\ ... /\ ps ) for 0 formulas (the "empty conjunction") as true and ( ch \/ ... \/ th ) 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 ph , ... , ps of 0 or more (occurrences of) formulas, a finite sequence of one or more (occurrences of) formulas is called a (formal) deduction from the assumption formulas ph , ... , ps , if each formula of the sequence is either one of the formulas ph , ... , ps , 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, ph , ... , ps |- ch ), 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 writing rigorously verifiable mathematical proofs 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 |- ->.. ph in G1 then |- ph in H

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

if |- ph ->.. ps in G1 then |- (. ph ->. ps ). in H
if |- ph ,. ps ->.. ch in G1 then |- (. (. ph ,. ps ). ->. ch ). in H
if |- ph ,. ps ,. ch ->.. th in G1 then |- (. (. ph ,. ps ,. ch ). ->. th ). 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 |- ( (. ph ->. ps ). <-> ( ph -> ps ) )
dfvd2an |- ( (. (. ph ,. ps ). ->. ch ). <-> ( ( ph /\ ps ) -> ch ) )
dfvd3an |- ( (. (. ph ,. ps ,. ch ). ->. th ). <-> ( ( ph /\ ps /\ ch ) -> th ) )

->. replaces ->.. in the analogue in H of a sequent in G1 having a nonempty antecedent. If ->. occurs as the outermost connective denoted by ->. or -> and occurs exactly once, we call the analogue 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 |- ph in set.mm corresponds to the theorem |- ->.. ph in G1. Deductions in G1 corresponding to deductions in H are similarly determined. Theorems in H with one or more occurrences of either ->. or -> may also be translated into theorems in G1 for by replacing the outermost occurrence 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 occurrences of ->. and it is the outermost occurrence 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 |- ph in H then |- ->.. ph in G1

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

if |- (. ph ->. ps ). in H then |- ph ->.. ps in G1
if |- (. (. ph ,. ps ). ->. ch ). in H then |- ph ,. ps ->.. ch in G1
if |- (. (. ph ,. ps ,. ch ). ->. th ). in H then |- ph ,. ps ,. ch ->.. th in G1

To prove in H, the User simply proves in G1 and translates each G1-proof step into a H-proof step. The translation is trivial and immediate. The proof in H is in Virtual Deduction notation. It is a working proof in the sense that, if it has no errors, each theorem and deduction of the proof is true, but may or may not, after being translated into conventional notation, unify with any theorem or deduction scheme in set.mm. Each theorem or deduction scheme in set.mm has a particular form. The working proof written by the User (the "User's Proof" or "Virtual Deduction Proof") may contain theorems and deductions which would unify with a variant of a theorem or deduction scheme in set.mm, but not with any particular form of that theorem or deduction scheme in set.mm.

The computer program completeusersproof.c may be applied to a Virtual Deduction proof to automatically add steps to the proof ("technical steps") which, if possible, transforms the form of a theorem or deduction of the Virtual Deduction proof not unifiable with a theorem or deduction scheme in set.mm into a variant form which is. For theorems and deductions of the Virtual Deduction proof which are completable in this way, completeusersproof saves the User the extra work involved in satisfying the constraint that the theorem or deduction is in a form which unifies with a theorem or deduction scheme in set.mm. mmj2, which is invoked by completeusersproof, automatically finds one of the reference theorems or deductions in set.mm which unifies with each theorem and deduction in the proof satisfying this constraint and labels the theorem or the assertion step of the deduction.

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 analogue in H of the User's working proof in G1. The User's Proof is automatically completed by completeusersproof.cmd (superseded by completeusersproof.c in September of 2016). The completed proof is the Virtual Deduction proof, which is the analogue 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.

The input for completeusersproof.c is a Virtual Deduction proof. Unlike completeusersproof.cmd, the completed proof is in conventional notation. completeusersproof.c eliminates the virtual deduction notation of the Virtual Deduction proof after utilizing the information it provides.

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

A Virtual Deduction proof is a Metamath-specific version of a Natural Deduction Proof. In order for mmj2 to complete a Virtual Deduction proof it is necessary that each theorem or deduction of the proof is in a form which unifies with a theorem or deduction scheme in set.mm. completeusersproof weakens this constraint.

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.

The completeusersproof program and all associated files necessary to use it may be downloaded from the Metamath web site. All syntax definitions, theorems, and deductions necessary to create Virtual Deduction proofs are contained in set.mm. Examples of Virtual Deduction proofs in mmj2 Proof Worksheet .txt format are included in the completeusersproof download.

https://us.metamath.org/other/completeusersproof/suctrvd.html , https://us.metamath.org/other/completeusersproof/sineq0altvd.html , https://us.metamath.org/other/completeusersproof/iunconlem2vd.html , https://us.metamath.org/other/completeusersproof/isosctrlem1altvd.html , and https://us.metamath.org/other/completeusersproof/chordthmaltvd.html are examples of Virtual Deduction proofs.

Generally, proving using Virtual Deduction and completeusersproof reduces the amount of 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.

Ref Expression
Assertion wvd1 wff φ ψ