Results 1  10
of
28
Uniform proofs as a foundation for logic programming
 ANNALS OF PURE AND APPLIED LOGIC
, 1991
"... A prooftheoretic characterization of logical languages that form suitable bases for Prologlike programming languages is provided. This characterization is based on the principle that the declarative meaning of a logic program, provided by provability in a logical system, should coincide with its ..."
Abstract

Cited by 373 (108 self)
 Add to MetaCart
A prooftheoretic characterization of logical languages that form suitable bases for Prologlike programming languages is provided. This characterization is based on the principle that the declarative meaning of a logic program, provided by provability in a logical system, should coincide with its operational meaning, provided by interpreting logical connectives as simple and fixed search instructions. The operational semantics is formalized by the identification of a class of cutfree sequent proofs called uniform proofs. A uniform proof is one that can be found by a goaldirected search that respects the interpretation of the logical connectives as search instructions. The concept of a uniform proof is used to define the notion of an abstract logic programming language, and it is shown that firstorder and higherorder Horn clauses with classical provability are examples of such a language. Horn clauses are then generalized to hereditary Harrop formulas and it is shown that firstorder and higherorder versions of this new class of formulas are also abstract logic programming languages if the inference rules are those of either intuitionistic or minimal logic. The programming language significance of the various generalizations to firstorder Horn clauses is briefly discussed.
PROOFS IN HIGHERORDER LOGIC
, 1983
"... Expansion trees are defined as generalizations of Herbrand instances for formulas in a nonextensional form of higherorder logic based on Church’s simple theory of types. Such expansion trees can be defined with or without the use of skolem functions. These trees store substitution terms and either ..."
Abstract

Cited by 71 (13 self)
 Add to MetaCart
Expansion trees are defined as generalizations of Herbrand instances for formulas in a nonextensional form of higherorder logic based on Church’s simple theory of types. Such expansion trees can be defined with or without the use of skolem functions. These trees store substitution terms and either critical variables or skolem terms used to instantiate quantifiers in the original formula and those resulting from instantiations. An expansion tree is called an expansion tree proof (ETproof) if it encodes a tautology, and, in the form not using skolem functions, an “imbedding ” relation among the critical variables be acyclic. The relative completeness result for expansion tree proofs not using skolem functions, i.e. if A is provable in higherorder logic then A has such an expansion tree proof, is based on Andrews ’ formulation of Takahashi’s proof of the cutelimination theorem for higherorder logic. If the occurrences of skolem functions in instantiation terms are restricted appropriately, the use of skolem functions in place of critical variables is equivalent to the requirement that the imbedding relation is acyclic. This fact not only resolves the open question of what
HigherOrder Horn Clauses
 JOURNAL OF THE ACM
, 1990
"... A generalization of Horn clauses to a higherorder logic is described and examined as a basis for logic programming. In qualitative terms, these higherorder Horn clauses are obtained from the firstorder ones by replacing firstorder terms with simply typed #terms and by permitting quantification ..."
Abstract

Cited by 60 (19 self)
 Add to MetaCart
A generalization of Horn clauses to a higherorder logic is described and examined as a basis for logic programming. In qualitative terms, these higherorder Horn clauses are obtained from the firstorder ones by replacing firstorder terms with simply typed #terms and by permitting quantification over all occurrences of function symbols and some occurrences of predicate symbols. Several prooftheoretic results concerning these extended clauses are presented. One result shows that although the substitutions for predicate variables can be quite complex in general, the substitutions necessary in the context of higherorder Horn clauses are tightly constrained. This observation is used to show that these higherorder formulas can specify computations in a fashion similar to firstorder Horn clauses. A complete theorem proving procedure is also described for the extension. This procedure is obtained by interweaving higherorder unification with backchaining and goal reductions, and constitutes a higherorder generalization of SLDresolution. These results have a practical realization in the higherorder logic programming language called λProlog.
A Logic Programming Approach To Manipulating Formulas And Programs
 IEEE Symp. Logic Programming
, 1994
"... : Firstorder Horn clause logic can be extended to a higherorder setting in which function and predicate symbols can be variables and terms are replaced with simply typed terms. For such a logic programming language to be complete in principle, it must incorporate higherorder unification. Althoug ..."
Abstract

Cited by 49 (14 self)
 Add to MetaCart
: Firstorder Horn clause logic can be extended to a higherorder setting in which function and predicate symbols can be variables and terms are replaced with simply typed terms. For such a logic programming language to be complete in principle, it must incorporate higherorder unification. Although higherorder unification is more complex than usual firstorder unification, its availability makes writing certain kinds of programs far more straightforward. In this paper, we present such programs written in a higherorder version of Prolog called Prolog. These programs manipulate structures, such as formulas and programs, which contain abstractions or bound variables. We show how a simple natural deduction theorem prover can be implemented in this language. Similarly we demonstrate how several simple program transformers for a functional programming language can be written in Prolog. These Prolog programs exploit the availability of conversion and higherorder unification to elegantly ...
A Theory of Modules for Logic Programming
 In Symp. Logic Programming
, 1986
"... Abstract: We present a logical language which extends the syntax of positive Horn clauses by permitting implications in goals and in the bodies of clauses. The operational meaning of a goal which is an implication is given by the deduction theorem. That is, a goal D ⊃ G is satisfied by a program P i ..."
Abstract

Cited by 41 (5 self)
 Add to MetaCart
Abstract: We present a logical language which extends the syntax of positive Horn clauses by permitting implications in goals and in the bodies of clauses. The operational meaning of a goal which is an implication is given by the deduction theorem. That is, a goal D ⊃ G is satisfied by a program P if the goal G is satisfied by the larger program P ∪ {D}. If the formula D is the conjunction of a collection of universally quantified clauses, we interpret the goal D ⊃ G as a request to load the code in D prior to attempting G, and then unload that code after G succeeds or fails. This extended use of implication provides a logical explanation of parametric modules, some uses of Prolog’s assert predicate, and certain kinds of abstract datatypes. Both a modeltheory and prooftheory are presented for this logical language. We show how to build a possibleworlds (Kripke) model for programs by a fixed point construction and show that the operational meaning of implication mentioned above is sound and complete for intuitionistic, but not classical, logic. 1. Implications as Goals Let A be a syntactic variable which ranges over atomic formulas of firstorder logic. Let G range over a class of formulas, called goal formulas, to be specified shortly. We shall assume, however, that this class always contains ⊤ (true) and all atomic formulas. The formulas represented by A and G may contain free variables. Given these two classes, we define definite clauses, denoted by the syntactic variable D, as follows: D: = G ⊃ A  ∀x D  D1 ∧ D2 A program is defined to be a finite set of closed definite clauses. P will be a syntactic variable for programs. A clause of the form ⊤ ⊃ A will often be written as simply A. Let P be a program. Define [P] to be the smallest set of formulas satisfying the following recursive definitions. (i) P ⊆ [P].
A unified sequent calculus for focused proofs
 In LICS: 24th Symp. on Logic in Computer Science
, 2009
"... Abstract—We present a compact sequent calculus LKU for classical logic organized around the concept of polarization. Focused sequent calculi for classical logic, intuitionistic logic, and multiplicativeadditive linear logic are derived as fragments of LKU by increasing the sensitivity of specialize ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
Abstract—We present a compact sequent calculus LKU for classical logic organized around the concept of polarization. Focused sequent calculi for classical logic, intuitionistic logic, and multiplicativeadditive linear logic are derived as fragments of LKU by increasing the sensitivity of specialized structural rules to polarity information. We develop a unified, streamlined framework for proving cutelimination in the various fragments. Furthermore, each sublogic can interact with other fragments through cut. We also consider the possibility of introducing classicallinear hybrid logics. KeywordsProof theory; focused proof systems; linear logic I.
Linear logic as a framework for specifying sequent calculus
 Lecture Notes in Logic 17, Logic Colloquium’99
, 2004
"... Abstract. In recent years, intuitionistic logic and type systems have been used in numerous computational systems as frameworks for the specification of natural deduction proof systems. As we shall illustrate here, linear logic can be used similarly to specify the more general setting of sequent cal ..."
Abstract

Cited by 11 (3 self)
 Add to MetaCart
Abstract. In recent years, intuitionistic logic and type systems have been used in numerous computational systems as frameworks for the specification of natural deduction proof systems. As we shall illustrate here, linear logic can be used similarly to specify the more general setting of sequent calculus proof systems. Linear logic’s meta theory can be used also to analyze properties of a specified objectlevel proof system. We shall present several example encodings of sequent calculus proof systems using the Forum presentation of linear logic. Since the objectlevel encodings result in logic programs (in the sense of Forum), various aspects of objectlevel proof systems can be automated. §1. Introduction. Logics and type systems have been exploited in recent years as frameworks for the specification of deduction in a number of logics. Such meta logics or logical frameworks have generally been based on intuitionistic logic in which quantification at (nonpredicate) higherorder types is available. Identifying a framework that allows the specification of a wide range of logics has
A logical interpretation of the λcalculus into the πcalculus, preserving spine reduction and types
, 2009
"... ..."
Completeness and Partial Soundness Results for Intersection & Union Typing for λµ ˜µ
 Annals of Pure and Applied Logic
"... This paper studies intersection and union type assignment for the calculus λµ ˜µ [17], a proofterm syntax for Gentzen’s classical sequent calculus, with the aim of defining a typebased semantics, via setting up a system that is closed under conversion. We will start by investigating what the minima ..."
Abstract

Cited by 6 (6 self)
 Add to MetaCart
This paper studies intersection and union type assignment for the calculus λµ ˜µ [17], a proofterm syntax for Gentzen’s classical sequent calculus, with the aim of defining a typebased semantics, via setting up a system that is closed under conversion. We will start by investigating what the minimal requirements are for a system for λµ ˜µ to be closed under subject expansion; this coincides with System M ∩ ∪ , the notion defined in [19]; however, we show that this system is not closed under subject reduction, so our goal cannot be achieved. We will then show that System M ∩ ∪ is also not closed under subjectexpansion, but can recover from this by presenting System M C as an extension of M ∩ ∪ (by adding typing rules) and showing that it satisfies subject expansion; it still lacks subject reduction. We show how to restrict M ∩ ∪ so that it satisfies subjectreduction as well by limiting the applicability to type assignment rules, but only when limiting reduction to (confluent) callbyname or callbyvalue reduction M ∩ ∪ ; in restricting the system, we sacrifice subject expansion. These results combined show that a sound and complete intersection and union type assignment system cannot be defined for λµ ˜µ with respect to full reduction.
DERIVING SAFETY CASES FROM AUTOMATICALLY CONSTRUCTED PROOFS
"... automated theorem provers. Formal proofs provide detailed justification for the validity of claims and are widely used in formal software development methods. However, they are often complex and difficult to understand, because the formalism in which they are constructed and encoded is usually machi ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
automated theorem provers. Formal proofs provide detailed justification for the validity of claims and are widely used in formal software development methods. However, they are often complex and difficult to understand, because the formalism in which they are constructed and encoded is usually machineoriented, and they may also be based on assumptions that are not justified. This causes concerns about the trustworthiness of using formal proofs as arguments in safetycritical applications. Here, we present an approach to develop safety cases that correspond to formal proofs found by automated theorem provers and reveal the underlying argumentation structure and toplevel assumptions. We concentrate on natural deduction style proofs, which are closer to human reasoning than resolution proofs, and show how to construct the safety cases by covering the natural deduction proof tree with corresponding safety case fragments. We also abstract away logical bookkeeping steps, which reduces the size of the constructed safety cases. We show how the approach can be applied to the proofs found by the Muscadet prover. 1