Results 11  20
of
132
Types for Modules
, 1998
"... The programming language Standard ML is an amalgam of two, largely orthogonal, languages. The Core language expresses details of algorithms and data structures. The Modules language expresses the modular architecture of a software system. Both languages are statically typed, with their static and dy ..."
Abstract

Cited by 77 (13 self)
 Add to MetaCart
(Show Context)
The programming language Standard ML is an amalgam of two, largely orthogonal, languages. The Core language expresses details of algorithms and data structures. The Modules language expresses the modular architecture of a software system. Both languages are statically typed, with their static and dynamic semantics specified by a formal definition.
Dynamics in ML
, 1993
"... Objects with dynamic types allow the integration of operations that essentially require runtime typechecking into staticallytyped languages. This article presents two extensions of the ML language with dynamics, based on our work on the CAML implementation of ML, and discusses their usefulness. ..."
Abstract

Cited by 62 (0 self)
 Add to MetaCart
Objects with dynamic types allow the integration of operations that essentially require runtime typechecking into staticallytyped languages. This article presents two extensions of the ML language with dynamics, based on our work on the CAML implementation of ML, and discusses their usefulness. The main novelty of this work is the combination of dynamics with polymorphism.
Least and greatest fixed points in linear logic Extended Version
, 2007
"... david.baelde at enslyon.org dale.miller at inria.fr Abstract. The firstorder theory of MALL (multiplicative, additive linear logic) over only equalities is an interesting but weak logic since it cannot capture unbounded (infinite) behavior. Instead of accounting for unbounded behavior via the addi ..."
Abstract

Cited by 62 (14 self)
 Add to MetaCart
(Show Context)
david.baelde at enslyon.org dale.miller at inria.fr Abstract. The firstorder theory of MALL (multiplicative, additive linear logic) over only equalities is an interesting but weak logic since it cannot capture unbounded (infinite) behavior. Instead of accounting for unbounded behavior via the addition of the exponentials (! and?), we add least and greatest fixed point operators. The resulting logic, which we call µMALL = , satisfies two fundamental proof theoretic properties. In particular, µMALL = satisfies cutelimination, which implies consistency, and has a complete focused proof system. This second result about focused proofs provides a strong normal form for cutfree proof structures that can be used, for example, to help automate proof search. We then consider applying these two results about µMALL = to derive a focused proof system for an intuitionistic logic extended with induction and coinduction. The traditional approach to encoding intuitionistic logic into linear logic relies heavily on using the exponentials, which unfortunately weaken the focusing discipline. We get a better focused proof system by observing that certain fixed points satisfy the structural rules of weakening and contraction (without using exponentials). The resulting focused proof system for intuitionistic logic is closely related to the one implemented in Bedwyr, a recent model checker based on logic programming. We discuss how our proof theory might be used to build a computational system that can partially automate induction and coinduction. 1
Unification of simply typed lambdaterms as logic programming
 In Eighth International Logic Programming Conference
, 1991
"... The unification of simply typed λterms modulo the rules of β and ηconversions is often called “higherorder ” unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist ..."
Abstract

Cited by 61 (3 self)
 Add to MetaCart
(Show Context)
The unification of simply typed λterms modulo the rules of β and ηconversions is often called “higherorder ” unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist. In this paper, we show that such unification problems can be coded as a query of the logic programming language Lλ in a natural and clear fashion. In a sense, the translation only involves explicitly axiomatizing in Lλ the notions of equality and substitution of the simply typed λcalculus: the rest of the unification process can be viewed as simply an interpreter of Lλ searching for proofs using those axioms. 1
A proof theory for generic judgments: An extended abstract
 In LICS 2003
, 2003
"... A powerful and declarative means of specifying computations containing abstractions involves metalevel, universally quantified generic judgments. We present a proof theory for such judgments in which signatures are associated to each sequent (used to account for eigenvariables of the sequent) and t ..."
Abstract

Cited by 56 (21 self)
 Add to MetaCart
(Show Context)
A powerful and declarative means of specifying computations containing abstractions involves metalevel, universally quantified generic judgments. We present a proof theory for such judgments in which signatures are associated to each sequent (used to account for eigenvariables of the sequent) and to each formula in the sequent (used to account for generic variables locally scoped over the formula). A new quantifier, ∇, is introduced to explicitly manipulate the local signature. Intuitionistic logic extended with ∇ satisfies cutelimination even when the logic is additionally strengthened with a proof theoretic notion of definitions. The resulting logic can be used to encode naturally a number of examples involving name abstractions, and we illustrate using the πcalculus and the encoding of objectlevel provability.
Set theory for verification: I. From foundations to functions
 J. Auto. Reas
, 1993
"... A logic for specification and verification is derived from the axioms of ZermeloFraenkel set theory. The proofs are performed using the proof assistant Isabelle. Isabelle is generic, supporting several different logics. Isabelle has the flexibility to adapt to variants of set theory. Its higherord ..."
Abstract

Cited by 51 (19 self)
 Add to MetaCart
(Show Context)
A logic for specification and verification is derived from the axioms of ZermeloFraenkel set theory. The proofs are performed using the proof assistant Isabelle. Isabelle is generic, supporting several different logics. Isabelle has the flexibility to adapt to variants of set theory. Its higherorder syntax supports the definition of new binding operators. Unknowns in subgoals can be instantiated incrementally. The paper describes the derivation of rules for descriptions, relations and functions, and discusses interactive proofs of Cantor’s Theorem, the Composition of Homomorphisms challenge [9], and Ramsey’s Theorem [5]. A generic proof assistant can stand up against provers dedicated to particular logics. Key words. Isabelle, set theory, generic theorem proving, Ramsey’s Theorem,
Third Order Matching is Decidable
 Annals of Pure and Applied Logic
, 1999
"... The higher order matching problem is the problem of determining whether a term is an instance of another in the simply typed calculus, i.e. to solve the equation a = b where a and b are simply typed terms and b is ground. The decidability of this problem is still open. We prove the decidability of ..."
Abstract

Cited by 51 (0 self)
 Add to MetaCart
(Show Context)
The higher order matching problem is the problem of determining whether a term is an instance of another in the simply typed calculus, i.e. to solve the equation a = b where a and b are simply typed terms and b is ground. The decidability of this problem is still open. We prove the decidability of the particular case in which the variables occurring in the problem are at most third order. Introduction The higher order matching problem is the problem of determining whether a term is an instance of another in the simply typed calculus i.e. to solve the equation a = b where a and b are simply typed terms and b is ground. Pattern matching algorithms are used to check if a proposition can be deduced from another by elimination of universal quantifiers or by introduction of existential quantifiers. In automated theorem proving, elimination of universal quantifiers and introduction of existential quantifiers are mixed and full unification is required, but in proofchecking and semiaut...
A generic tableau prover and its integration with Isabelle
 Journal of Universal Computer Science
, 1999
"... Abstract: A generic tableau prover has been implemented and integrated with Isabelle [Paulson, 1994]. Compared with classical rstorder logic provers, it has numerous extensions that allow it to reason with any supplied set of tableau rules. It has a higherorder syntax in order to support userde ne ..."
Abstract

Cited by 51 (11 self)
 Add to MetaCart
(Show Context)
Abstract: A generic tableau prover has been implemented and integrated with Isabelle [Paulson, 1994]. Compared with classical rstorder logic provers, it has numerous extensions that allow it to reason with any supplied set of tableau rules. It has a higherorder syntax in order to support userde ned binding operators, such as those of set theory. The uni cation algorithm is rstorder instead of higherorder, but it includes modi cations to handle bound variables. The proof, when found, is returned to Isabelle as a list of tactics. Because Isabelle veri es the proof, the prover can cut corners for e ciency's sake without compromising soundness. For example, the prover can use type information to guide the search without storing type information in full. Categories: F.4, I.1
Translating HigherOrder Clauses to FirstOrder Clauses
"... Abstract. Interactive provers typically use higherorder logic, while automatic provers typically use firstorder logic. In order to integrate interactive provers with automatic ones, it is necessary to translate higherorder formulae to firstorder form. The translation should ideally be both sound ..."
Abstract

Cited by 44 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Interactive provers typically use higherorder logic, while automatic provers typically use firstorder logic. In order to integrate interactive provers with automatic ones, it is necessary to translate higherorder formulae to firstorder form. The translation should ideally be both sound and practical. We have investigated several methods of translating function applications, types and λabstractions. Omitting some type information improves the success rate, but can be unsound, so the interactive prover must verify the proofs. This paper presents experimental data that compares the translations in respect of their success rates for three automatic provers. 1.