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 originally 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 0 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 24414 ⊢ (.φ ▶ ψ. ↔ (φ → ψ))
df-vd2 24423 ⊢ (.φ, ψ ▶ χ. ↔ ((φ ∧ ψ) → χ))
df-vd3 24435 ⊢ (.φ, ψ, χ ▶ θ. ↔ ((φ ∧ ψ ∧ χ) → θ))
▶ 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.
Each "User's Proof" in the brief description of Virtual Deduction proofs 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 may be automatically translated into a conventional Metamath proof.
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.
Why exhibit the Virtual Deduction proofs rather deleting them after translating them into conventional Metamath proofs? The conventional Metamath proofs are preferred to the Virtual Deduction proofs because the Virtual Deduction language is unnecessarily complex with its additional notation. On the other hand, information regarding the how the proof in G1 was constructed is not contained in the conventional proofs with the removal of the ▶ symbol which distinguishes → in its role in mediating inferences from its role as a component symbol of the formula being proved.
This more direct means of proving is more amenable to automation in proof search and, therefore, certain types of steps may be automatically found and the names of all reference theorems may be automatically found. The tools program called completeusersproof.cmd allows for the omission of certain types of steps in the working proof, called a User's Proof, and finds all labels. This tool is possible only due to Mel O'Cat's mmj2 and Norm Megill's Metamath Proof Assistant, which are invoked by completeusersproof.cmd.Type your paragraph here.