http://www.cs.cmu.edu/~fp/courses/atp/handouts.html http://www.cs.cmu.edu/~fp/courses/atp/handouts/atp.pdf
Automated deduction is concerned with the mechanization of formal reasoning, following the laws of logic. The roots of the field go back to the end of the last century when Frege developed his Begriffsschrift, the first comprehensive effort to develop a formal language suitable as a foundation for mathematics. Alas, Russell discovered a paradox which showed that Frege’s system was inconsistent, …
Gentzen’s formulation of the predicate calculus in a system of natural deduction provides a major milestone for the field.
Gentzen’s seminal work also contains an early consistency proof for a formal logical system. As a technical device he introduced the sequent calculus and showed that it derives the same theorems as natural deduction. The famous Hauptsatz1 establishes that all proofs in the sequent calculus can be found according to a simple strategy.
Among the backward searching procedures we find tableaux, connection methods, matrix methods and some forms of resolution. Among the forward searching procedures we find classical resolution and the inverse method.
The prominence of resolution among these methods is no accident, since Robinson’s seminal paper represented a major leap forward in the state of the art. It is natural to expect that a combination of forward and backward search could improve the efficiency of theorem proving system. Such a combination, however, has been elusive up to now, due to the largely incompatible basic choices in design and implementation of the two kinds of search procedures.
There is one further dimension to consider: which logic do we reason in? In philosophy, mathematics, and computer science many different logics are of interest. … (to mention just a few). While each logic requires its own considerations, many techniques are shared. This can be attributed in part to the common root of different logics in natural deduction and the sequent calculus. Another reason is that low-level efficiency improvements are relatively independent of higher-level techniques.
… to transfer methods to different logics or applications …
“First I wanted to construct a formalism which comes as close as possible to actual reasoning. Thus arose a “calculus of natural deduction”. — Gerhard Gentzen Untersuchungen über das logische Schließen
The use of the notion of a judgment as conceptual prior to the notion of proposition has been advocated by Martin-L̈of.
“J2 under hypothesis J1”
J1
in the
derivation of J2
.“J for any a”
where a
is a parameter which may occur in J
.
[O/a]J
for arbitrary objects O
of the right category. Here
[O/a]J
is our notation for substituting the object O
for
parameter a in the judgment J
.J
is a parametric
derivation with free occurrences of the parameter a
.the alternative (brief) notation D :: J
. A hypothetical judgment
is written as, (u
is a label which identifies the hypothesis J1
)
-- u
J1
...
J2
While these are interesting and in many ways useful approaches to logic specification, neither of them comes particularly close to capturing the practice of mathematical reasoning. This was Gentzen’s point of departure for the design of a system of natural deduction…. the great advantage that one can define all logical connectives without reference to any other connective. This principle of modularity extends to the meta-theoretic study of natural deduction and simplifies considering fragments and extension of logics. … There is another advantage to natural deduction, namely that its proofs are isomorphic to the terms in a λ-calculus via the so-called Curry-Howard isomorphism, which establishes many connections to functional programming.
sequent calculus as a calculus of proof search for natural deduction and explicitly relate the two forms of presentation.
“A is an assumption”
and “A is true”
.“A is an assumption”
is
sufficient evidence for “A is a true”
. The reverse, if “A is
true” then “A may be used as an assumption”
is the Cut rule which
he proved to be redundant in his Hauptsatz.the variables x,
y
, function symbols f, g
, and parameters a, b
t ::= x | a | f(t1,...,tn)
c
is simply a function symbol with arity 0 c()
.the P, Q
A ::= P(t1,...,tn)| A1∧A2 | A1⊃A2 | A1∨A2 | ¬A | ⊥ | ⊤ | ∀x.A | ∃x.A
P
is simply a predicate symbol with
no arguments P()
x
is bound in propositions of the
form ∀x.A
and ∃x.A
∧
and ∨
bind
more tightly than ⊃
[t/x]A
for the result of substituting the term t
for the
variable x
in A
The main judgment of natural deduction —
C true, from hypotheses A1 true, . . . , An true.
certain structural properties of derivations are tacitly assumed, independently of any logical inferences.
… local reduction and expansion judgments …
… reduction between derivations …
⊤
⊤
, we know nothing new
if we have an assumption ⊤
and therefore we have no elimination rule
and no local reduction.⊤
⊥
.⊥
0-ary disjunction
∀x.A
should be provable if [a/x]A
is provable
for a new parameter a
(∃x. A
is true when there is a term t
such that
[t/x]A
is trueThere are three commonly used ways one can construct a system of
classical natural deduction by adding one additional rule of
inference. ⊥C
is called Proof by Contradiction or Rule of Indirect
Proof, ¬¬C
is the Double Negation Rule, and XM
is referred
to as Excluded Middle.
a formulation of natural deduction for intuitionistic logic with localized hypotheses, but not parameters. For this need a notation for hypotheses which we call a context.
“·”
represents the empty context, and Γ,u:A
adds hypothesis
A true
labeled u
to Γ
.
Contexts Γ ::= · | Γ, u:A
Γ,· = Γ
Γ, (Γ′, u:A) = (Γ, Γ′), u:A
Γ1, u1:A, Γ2, u2:B, Γ3 ⊢ C
then Γ1, u2:B, Γ2, u1:A, Γ3 ⊢ C
.Γ1, Γ2 ⊢ C
then Γ1, u:A, Γ2 ⊢ C
.Γ1, u1:A, Γ2, u2:A, Γ3 ⊢ C
then Γ1, u:A, Γ2, Γ3 ⊢ C
.Γ1,u:A,Γ2 ⊢ C
and Γ1 ⊢ A
then Γ1,Γ2 ⊢ C
.use the principle of structural induction over derivations: prove a property for all derivations by showing that, whenever it holds for the premisses of an inference, it holds for the conclusion. show the property outright when the rule under consideration has no premises (such rules are the base cases for the induction).
It is also possible to localize the derivations themselves, using proof terms. These proof terms form a λ-calculus closely related to functional programming. When parameters, hypotheses, and proof terms are all localized our main judgment becomes decidable. In the terminology of Martin-L̈of [ML94], the main judgment is then analytic rather than synthetic. We no longer need to go outside the judgment itself in order to collect evidence for it: An analytic judgment encapsulates its own evidence.
A
.
M
is a proof term for A
under hypotheses
Γ
⟨M,N⟩
can be seen as a representation of the proof of A∧B
by
∧-introductionA ⊃ B
will be represented by a
function which maps proofs of A
to proofs of B
. The introduction
rule explicitly forms such a function by λ-abstraction and the
elimination rule applies the function to an argument.We can now see that the formulas act as types for proof
terms. Shifting to the usual presentation of the typed λ-calculus we
use τ
and σ
as symbols for types, and τ × σ
for the product
type, τ → σ
for the function type, τ + σ
for the disjoint sum
type, 1
for the unit type and 0
for the empty or void type. Base
types b
remain unspecified, just as the basic propositions of the
propositional calculus remain unspecified.
Types τ::= b | τ1×τ2 | τ1→τ2 | τ1+τ2 | 1 | 0
Propositions A::= p | A1∧A2 | A1⊃A2 | A1∨A2 | ⊤ | ⊥
now summarize and restate the rules above, using the notation of types
instead of propositions (omitting only the case for negation). Γ
now declare variables with their types:
sequent calculus as a formal system for proof search in natural deduction
A simple strategy in the search for a natural deduction is to use introduction rules reasoning bottom-up (from the proposed theorem towards the hypotheses) and the elimination rules top-down (from the assumptions towards the proposed theorem). When they meet in the middle we have found a normal deduction.
literally just “main theorem”, often called the cut elimination theorem ↩