## Natural Deduction as Higher-Order Resolution (1986)

Venue: | Journal of Logic Programming |

Citations: | 55 - 8 self |

### BibTeX

@ARTICLE{Paulson86naturaldeduction,

author = {Lawrence C Paulson},

title = {Natural Deduction as Higher-Order Resolution},

journal = {Journal of Logic Programming},

year = {1986},

volume = {3},

pages = {237--258}

}

### Years of Citing Articles

### OpenURL

### Abstract

An interactive theorem prover, Isabelle, is under development. In LCF, each inference rule is represented by one function for forwards proof and another (a tactic) for backwards proof. In Isabelle, each inference rule is represented by a Horn clause.

### Citations

974 | A Theory of Type Polymorphism in Programming
- Milner
- 1978
(Show Context)
Citation Context ...m a, proving a ∈ A determines the type of a. Type inference comes for free, while Gothenburg’s Type Theory system [32] directly implements Milner’s algorithm, a lot of code using explicit unific=-=ation [25]. A gr-=-oup at INRIA also obtain the effect of Milner’s algorithm by executing inference rules [7]. • It can mean a is a proof of the proposition A. Given a proposition A, proving a ∈ A gives a construc... |

159 |
de Bruijn. Lambda-calculus notation with nameless dummies: a tool for auto- matic formula manipulation with application to the Church-Rosser theorem
- G
- 1972
(Show Context)
Citation Context ...e ML type term represents λ-expressions. Scheme variables are represented by (string,integer) pairs. Each bound variable is also represented by an integer, referring to the depth at which it is bound=-= [4]. T-=-he environment primitives use Boyer and Moore’s structure sharing [3] to standardize variables apart before unification. Normalization, α-convertibility, and substitution functions are provided. Th... |

150 |
Proving and applying program transformations expressed with second order patterns
- Huet, Lang
- 1978
(Show Context)
Citation Context ...it is unfortunate that each resolution step is undecidable. We can recover decidability by restricting unification. Limiting the search gives unpredictable results. Second-order matching is decidable =-=[18], -=-though second-order unification is not [11]. Perhaps first-order unification plus second-order matching is a practical compromise. Ketonen’s EKL proves theorems using first-order unification plus hi... |

148 |
Intuitionistic Type Theory. Bibliopolis
- Martin-Löf
- 1984
(Show Context)
Citation Context ...s for solving typical problems. This thirty percent of the code is kept separate from the rest. 8.1 Constructive Type Theory Martin-Löf’s Type Theory is an attempt to formalize constructive reasoni=-=ng [21, 29]-=-. It interprets propositions as types: the rules for each logical connective express its constructive meaning as operations on proof objects, elements of the corresponding type. For instance, the prop... |

132 |
On the meanings of the logical constants and the justifications of the logical laws. Unpublished manuscript
- Martin-Löf
- 1983
(Show Context)
Citation Context ...lo-Fraenkel set theory are syntactic. The ultimate semantic notion is truth, faintly approximated by theorems of formal logic. Regarding an axiom system as Holy Writ blurs the distinction. Martin-Löf=-= [22]-=- discusses the evolution of formal logic from an intuitionistic viewpoint. There are many distinct semantic viewpoints, and accordingly many formal systems. A universal logic is too much to hope for. ... |

116 |
A unification algorithm for typed λ-calculus
- Huet
- 1975
(Show Context)
Citation Context ... general unifier of two expressions, or reporting that no unifier exists. Higher-order unification amounts to solving equations in the typed λ-calculus with respect to α, β, and possibly η-convers=-=ion [17, 19]-=-. It is semi-decidable: if the expressions cannot be unified, the search for unifiers may diverge. Although a complete set of unifiers can be recursively enumerated, it may be infinite. Unifying the e... |

92 |
Why higher-order logic is a good formalism for specifying and verifying hardware
- Gordon
- 1985
(Show Context)
Citation Context ...he primitive inferences. Execution can be slow, and can fail. The only way to inspect a derived rule or tactic is to test it: a function cannot be printed. One solution is Gordon’s higher-order logi=-=c [14]. A formula is-=- simply a term of type bool; the theorem ⊢∀A. A(0) ∧ (∀n.A(n) ⇒ A(n + 1)) ⇒∀m.A(m) expresses the induction scheme. But such use of quantifiers and implication is precisely what Schmidt i... |

74 | Automating Higher-Order Logic
- Andrews, Miller, et al.
- 1984
(Show Context)
Citation Context ...solution. The mating approach unifies subformulas against each other without reducing everything to clause form. TPS can automatically prove Cantor’s Theorem: every set has more subsets than element=-=s [2]. U-=-nification discovers the diagonalization function. The EKL proof checker uses higher-order matching of rewrite rules [20]. N. G. de Bruijn’s AUTOMATH project has investigated several higher-order λ... |

73 |
G.Huet: Constructions: a higher order proof system for mechanizing mathematics
- Coquand
- 1985
(Show Context)
Citation Context ...rification of functional programs, and verification of digital circuits [30]. Logics include two versions of PPλ (for domain theory) [15, 31], a Logic for Sequential Machines, two higher-order logics=-= [8, 13]-=-, and two constructive type theories [9, 32]. Implementing a logic is a major undertaking: choosing a representation of formulas, implementing several dozen inference rules and tactics, implementing m... |

64 | HOL a machine oriented formulation of higher order logic
- Gordon
- 1985
(Show Context)
Citation Context ...rification of functional programs, and verification of digital circuits [30]. Logics include two versions of PPλ (for domain theory) [15, 31], a Logic for Sequential Machines, two higher-order logics=-= [8, 13]-=-, and two constructive type theories [9, 32]. Implementing a logic is a major undertaking: choosing a representation of formulas, implementing several dozen inference rules and tactics, implementing m... |

58 |
de Bruijn. A survey of the project Automath
- G
- 1980
(Show Context)
Citation Context ...der matching of rewrite rules [20]. N. G. de Bruijn’s AUTOMATH project has investigated several higher-order λ-calculi, reminiscent of Martin-Löf’s type theory, as languages for machine-checked =-=proof [5]. Huet-=- and Coquand’s theory of constructions is a natural development from AUTOMATH [8]. Gordon’s HOL is a version of LCF for proving theorems in Church’s higher-order logic [13]. The logics of HOL, E... |

39 |
A Mechanization of Type Theory
- Huet
(Show Context)
Citation Context ...ication diverges. 9 Related work The earliest applications of higher-order unification extended resolution to higher-order logic [19]. Huet’s constrained resolution postponed branching in unificatio=-=n [16]-=-. Rather than returning multiple unifiers in a resolution step, it recorded the remaining disagreement pairs as constraints on the new clause. Further resolutions satisfied the constraints or rendered... |

32 |
The sharing of structure in theorem-proving programs
- Boyer, More
- 1972
(Show Context)
Citation Context ...d by (string,integer) pairs. Each bound variable is also represented by an integer, referring to the depth at which it is bound [4]. The environment primitives use Boyer and Moore’s structure sharin=-=g [3] t-=-o standardize variables apart before unification. Normalization, α-convertibility, and substitution functions are provided. The λ-expression parser and printer are extensible. Each can be invoked in... |

24 |
Writing programs that construct proofs
- Constable, Knoblock, et al.
- 1985
(Show Context)
Citation Context ...ication of digital circuits [30]. Logics include two versions of PPλ (for domain theory) [15, 31], a Logic for Sequential Machines, two higher-order logics [8, 13], and two constructive type theories=-= [9, 32]-=-. Implementing a logic is a major undertaking: choosing a representation of formulas, implementing several dozen inference rules and tactics, implementing many more derived rules and higher level tool... |

21 |
Logic: Form and Function
- Robinson
- 1979
(Show Context)
Citation Context ... with free variables rather than with entire expressions. Perhaps all should not include the hypothesis, the subscript Γ. The simpler and more efficient rule Γ ⊢ B(allB) Γ ⊢ Π(B) resembles Rob=-=inson’s [33]. Hi-=-s logic includes exemplification terms, a version of Hilbert’s ɛ-operator. The rule allows allB to appear in the hypotheses Γ. It is sound with respect to models that assign allB a value y, if suc... |

17 |
Expansion Tree Proofs and Their Conversion to Natural Deduction Proofs
- Miller
(Show Context)
Citation Context ...s with variables in the other rule. The parameter names would also be standardized apart, preserving their uniqueness. Wallen [39] applies his technique to first-order logic and a modal logic. Miller =-=[23]-=- describes a similar technique in the setting of higher-order logic. 10s6 Higher-order unification Unifying two expressions t and u means solving the syntactic equation t = u by instantiating some of ... |

15 |
A programming system for type theory
- Petersson
- 1982
(Show Context)
Citation Context ...ication of digital circuits [30]. Logics include two versions of PPλ (for domain theory) [15, 31], a Logic for Sequential Machines, two higher-order logics [8, 13], and two constructive type theories=-= [9, 32]-=-. Implementing a logic is a major undertaking: choosing a representation of formulas, implementing several dozen inference rules and tactics, implementing many more derived rules and higher level tool... |

12 |
Interactive theorem proving with Cambridge LCF – a user’s manual
- Paulson
- 1985
(Show Context)
Citation Context ...e logic in ML. Recent LCF proofs involve denotational semantics, verification of functional programs, and verification of digital circuits [30]. Logics include two versions of PPλ (for domain theory)=-= [15, 31]-=-, a Logic for Sequential Machines, two higher-order logics [8, 13], and two constructive type theories [9, 32]. Implementing a logic is a major undertaking: choosing a representation of formulas, impl... |

11 |
A Look at TPS
- Miller, Cohen, et al.
- 1982
(Show Context)
Citation Context ...esolution went beyond using only flex-flex disagreement pairs, which are always unifiable, as constraints. The TPS theorem prover uses sophisticated heuristics in the search for higher-order unifiers =-=[24]-=-. In MATCH it chooses a disagreement pair likely to cause the least branching of the tree. It hashes disagreement sets to determine whether a new set is subsumed by an older one. Though the subsumptio... |

9 |
The undecidability of the second-order unification problem. Theoretical computer science
- Goldfarb
- 1981
(Show Context)
Citation Context ...s undecidable. We can recover decidability by restricting unification. Limiting the search gives unpredictable results. Second-order matching is decidable [18], though second-order unification is not =-=[11]. -=-Perhaps first-order unification plus second-order matching is a practical compromise. Ketonen’s EKL proves theorems using first-order unification plus higher-order matching. Ketonen claims that high... |

9 |
Mechanizing ω-order type theory through unification
- Jensen, Pietrzykowski
- 1976
(Show Context)
Citation Context ... general unifier of two expressions, or reporting that no unifier exists. Higher-order unification amounts to solving equations in the typed λ-calculus with respect to α, β, and possibly η-convers=-=ion [17, 19]-=-. It is semi-decidable: if the expressions cannot be unified, the search for unifiers may diverge. Although a complete set of unifiers can be recursively enumerated, it may be infinite. Unifying the e... |

8 |
Representing a logic in the LCF metalanguage
- Gordon
- 1982
(Show Context)
Citation Context ... the conclusion. Each tactic checks that it has received a suitable goal, then generates the subgoals giving the corresponding rule as validation. Milner [27] explains rules and tactics, while Gordon =-=[12]-=- works out the representation of a simple logic in ML. Recent LCF proofs involve denotational semantics, verification of functional programs, and verification of digital circuits [30]. Logics include ... |

7 |
EKL - A Mathematically Oriented Proof Checker
- Ketonen
- 1984
(Show Context)
Citation Context ...order matching is a practical compromise. Ketonen’s EKL proves theorems using first-order unification plus higher-order matching. Ketonen claims that higher-order matching is decidable, without proo=-=f [20]; Huet tells m-=-e that decidability is an open question. Quantifiers go beyond first-order unification, but where do we stop? LCF inference rules form the union of hypotheses: Γ ⊢ A ∆ ⊢ B Γ,∆ ⊢ A ∧ B Mu... |

7 |
The Definition of Standard
- Milner, Tofte, et al.
- 1997
(Show Context)
Citation Context ...tor? Fortunately, a different treatment of assumptions is possible: Unification cannot do everything. 7 The implementation Γ ⊢ A Γ ⊢ B Γ ⊢ A ∧ B Isabelle consists of 3200 lines of the new S=-=tandard ML [26], co-=-mpiled by David Matthew’s Poly/ML on a VAX/750 running Berkeley Unix. Both the language and Matthew’s compiler have been assets. Type-checking means that sophisticated code often works first time.... |

7 |
Lessons learned from LCF: a survey of natural deduction proofs
- Paulson
- 1985
(Show Context)
Citation Context ...cs, while Gordon [12] works out the representation of a simple logic in ML. Recent LCF proofs involve denotational semantics, verification of functional programs, and verification of digital circuits =-=[30].-=- Logics include two versions of PPλ (for domain theory) [15, 31], a Logic for Sequential Machines, two higher-order logics [8, 13], and two constructive type theories [9, 32]. Implementing a logic is... |

6 |
Natural deduction theorem proving in set theory
- Schmidt
- 1983
(Show Context)
Citation Context ...es with remarkable clarity, capturing the high-level structure of the proofs. 4 Reasoning with inference rules Schmidt argues that inference rules are more natural than axioms for goal-directed proof =-=[34]. To illustrate the-=- point, he develops natural deduction proof rules from the axioms of Gödel-Bernays set theory. The subset relation ⊆ is defined by the axiom ∀AB. A ⊆ B ⇐⇒ ∀x. x ∈ A ⇒ x ∈ B. Reasoni... |

5 |
Program verification in a logical theory of constructions
- Dybjer
- 1985
(Show Context)
Citation Context ...nd form and the connective ∧ are not part of the general framework; even the assertion sign ⊢ is just another constant. This representation of syntax is essentially Martin-Löf’s theory of expre=-=ssions [10] ext-=-ended to allow more than one atomic type. Church’s λ-calculus representation of higher-order logic [13] is similar. Church allows quantification over any type, with a different Π for each; its for... |

5 |
Generating connection calculi from tableau- and sequent-based proof systems
- Wallen
- 1986
(Show Context)
Citation Context ...equires scheme variables to be standardized apart: renamed to avoid clashes with variables in the other rule. The parameter names would also be standardized apart, preserving their uniqueness. Wallen =-=[39]-=- applies his technique to first-order logic and a modal logic. Miller [23] describes a similar technique in the setting of higher-order logic. 10s6 Higher-order unification Unifying two expressions t ... |

4 |
Data Type Proofs using Edinburgh LCF
- Monahan
- 1984
(Show Context)
Citation Context ...to bring the benefits of unification into LCF. Resolution tactics work on the goal’s assumptions, adding new assumptions. Most resolution tactics use one-way matching; Brian Monahan’s use unificat=-=ion [28]. Monahan-=- has also automated the construction of simple rules and tactics. His function METARULE . His METATAC produces the turns any theorem P1 ∧ ...∧ Pm ⇒ Q into the rule P1···Pm Q 5scorresponding t... |

4 |
Propositions and specifications of programs
- Nordström, Smith
- 1984
(Show Context)
Citation Context ...s for solving typical problems. This thirty percent of the code is kept separate from the rest. 8.1 Constructive Type Theory Martin-Löf’s Type Theory is an attempt to formalize constructive reasoni=-=ng [21, 29]-=-. It interprets propositions as types: the rules for each logical connective express its constructive meaning as operations on proof objects, elements of the corresponding type. For instance, the prop... |

4 |
Soundness of Hoare’s logic: an automatic proof using LCF
- Sokolowski
(Show Context)
Citation Context ...t have variables ranging over formulas. Stefan Soko̷lowski used Edinburgh LCF to prove the soundness of Hoare axiomatic rules with respect to a denotational semantics of a simple programming language=-= [37]. T-=-he proof requires the systematic expansion of many definitions. LCF’s simplifier expands definitions by rewriting, but Soko̷lowski preferred to structure his proof in terms of derived inference rul... |

3 |
A programming notation for tactical reasoning
- Schmidt
- 1984
(Show Context)
Citation Context ...not free in Γ,B,C Γ ⊢ C Decorating the parameter exi with the expressions it must not occur in gives Γ ⊢ Σ(B) Γ,B(exiΓ,B,C) ⊢ C Γ ⊢ C Schmidt also suggests natural deduction rules using=-= Skolemization [35]. He tag-=-s a parameter with free variables rather than with entire expressions. Perhaps all should not include the hypothesis, the subscript Γ. The simpler and more efficient rule Γ ⊢ B(allB) Γ ⊢ Π(B) ... |

3 |
Natural Logic (Edinburgh
- Tennant
- 1978
(Show Context)
Citation Context ...oduction, Γ ⊢ A ∆ ⊢ B Γ,∆ ⊢ A ∧ B is bound to the ML identifier CONJ of type thm → thm → thm. In natural deduction, each theorem is proved with respect to a set of assumptions. Conve=-=ntional textbooks [38]-=- treat the assumptions as leaves of the proof tree; when the assumption is discharged, the leaf is crossed out. LCF attaches the assumptions directly to the theorem, resulting in a sort of sequent cal... |

1 |
Frege’s formal language, Printed notes
- Aczel
- 1981
(Show Context)
Citation Context ...n element of type A ⇒ B a function object. An expression of function arity is also called unsaturated, while an expression of atomic arity is called saturated. These concepts are due to Gottlob Freg=-=e [1]-=-. Functions play important roles in the rules, but only saturated expressions can denote types or elements of types: a single expression cannot be both a function and a function object. 15sConsider th... |

1 |
The use of machines to assist in rigorous proof, Philosophical Transactions of the Royal Society of London 312
- Milner
- 1984
(Show Context)
Citation Context ...has received suitable premises, then generates the conclusion. Each tactic checks that it has received a suitable goal, then generates the subgoals giving the corresponding rule as validation. Milner =-=[27]-=- explains rules and tactics, while Gordon [12] works out the representation of a simple logic in ML. Recent LCF proofs involve denotational semantics, verification of functional programs, and verifica... |

1 |
A note on tactics in
- Soko̷lowski
- 1983
(Show Context)
Citation Context ...eferred to structure his proof in terms of derived inference rules. Soko̷lowski’s innovation was to allow pattern variables in goals, and allow tactics to instantiate pattern variables by unificati=-=on [36]. E-=-xistential goals are an obvious use for pattern variables. Soko̷lowski’s tactics could allow the existential witness to be inferred later in the proof. 2 An environment holds instantiations of patt... |

1 |
The set of unifiers in typed λ-calculus as regular expressions, Rewriting Techniques and Applications
- Zaionc
- 1985
(Show Context)
Citation Context ...3 unifiers. Too many variables make the search space explode. For representing first-order logic, second-order expressions suffice: no function variable need have functions as arguments. Marek Zaionc =-=[40] gives-=- a third-order example: the expressions f(λx.x) and A have the infinite set of unifiers {f = λy.A} {f = λy.y(A)} {f = λy.y(y(A))} and so on. 6.1 Huet’s search procedure Most implementations use ... |