Results 1 
7 of
7
Partial polymorphic type inference and higherorder unification
 IN PROCEEDINGS OF THE 1988 ACM CONFERENCE ON LISP AND FUNCTIONAL PROGRAMMING, ACM
, 1988
"... We show that the problem of partial type inference in the nthborder polymorphic Xcalculus is equivalent to nthorder unification. On the one hand, this means that partial type inference in polymorphic Xcalculi of order 2 or higher is undecidable. On the other hand, higherorder unification is oft ..."
Abstract

Cited by 88 (8 self)
 Add to MetaCart
We show that the problem of partial type inference in the nthborder polymorphic Xcalculus is equivalent to nthorder unification. On the one hand, this means that partial type inference in polymorphic Xcalculi of order 2 or higher is undecidable. On the other hand, higherorder unification is often tractable in practice, and our translation entails a very useful algorithm for partial type inference in the worder polymorphic Xcalculus. We present an implementation in AProlog in full.
Mechanically verifying the correctness of an offline partial evaluator (extended version
, 1995
"... Abstract. We show that using deductive systems to specify an offline partial evaluator allows one to specify, prototype, and mechanically verify correctness via metaprogramming — all within a single framework. For a λmixstyle partial evaluator, we specify bindingtime constraints using a natural ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
Abstract. We show that using deductive systems to specify an offline partial evaluator allows one to specify, prototype, and mechanically verify correctness via metaprogramming — all within a single framework. For a λmixstyle partial evaluator, we specify bindingtime constraints using a naturaldeduction logic, and the associated program specializer using natural (aka “deductive”) semantics. These deductive systems can be directly encoded in the Elf programming language — a logic programming language based on the LF logical framework. The specifications are then executable as logic programs. This provides a prototype implementation of the partial evaluator. Moreover, since deductive system proofs are accessible as objects in Elf, many aspects of the partial evaluator correctness proofs (e.g., the correctness of bindingtime analysis) can be coded in Elf and mechanically checked. 1
A Hybrid Linear Logic for Constrained Transition Systems
, 2009
"... Linear implication can represent state transitions, but real transition systems operate under temporal, stochastic or probabilistic constraints that are not directly representable in ordinary linear logic. We propose a general modal extension of intuitionistic linear logic where logical truth is ind ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Linear implication can represent state transitions, but real transition systems operate under temporal, stochastic or probabilistic constraints that are not directly representable in ordinary linear logic. We propose a general modal extension of intuitionistic linear logic where logical truth is indexed by constraints and hybrid connectives combine constraint reasoning with logical reasoning. The logic has a focused cutfree sequent calculus that can be used to internalize the rules of particular constrained transition systems; we illustrate this with an adequate encoding of the synchronous stochastic picalculus. We also present some preliminary experiments of direct encoding of biological systems in the logic. 1
Axiomatizing the Quote
"... We study reflection in the Lambda Calculus from an axiomatic point of view. Specifically, we consider various properties that the quote �· � must satisfy as a function from Λ to Λ. The most important of these is the existence of a definable left inverse: a term E, called the evaluator for �·�, that ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We study reflection in the Lambda Calculus from an axiomatic point of view. Specifically, we consider various properties that the quote �· � must satisfy as a function from Λ to Λ. The most important of these is the existence of a definable left inverse: a term E, called the evaluator for �·�, that satisfies E�M � = M for all M ∈ Λ. Usually the quote �M � encodes the syntax of a given term, and the evaluator proceeds by analyzing the syntax and reifying all constructors by their actual meaning in the calculus. Working in Combinatory Logic, Raymond Smullyan [12] investigated which elements of the syntax must be accessible via the quote in order for an evaluator to exist. He asked three specific questions, to which we provide negative answers. On the positive side, we give a characterization of quotes which possess all of the desired properties, equivalently defined as being equitranslatable with a standard quote. As an application, we show that Scott’s coding is not complete in this sense, but can be slightly modified to be such. This results in a minimal definition of a complete quoting for Combinatory Logic.
On the expressivity of minimal generic quantification: Extended version
 BGM + 06] David Baelde, Andrew Gacek, Dale Miller, Gopalan Nadathur, and Alwen
, 2008
"... We come back to the initial design of the ∇ quantifier by Miller and Tiu, which we call minimal generic quantification. In the absence of fixed points, it is equivalent to seemingly stronger designs. However, several expected theorems about (co)inductive specifications can not be derived in that set ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We come back to the initial design of the ∇ quantifier by Miller and Tiu, which we call minimal generic quantification. In the absence of fixed points, it is equivalent to seemingly stronger designs. However, several expected theorems about (co)inductive specifications can not be derived in that setting. We present a refinement of minimal generic quantification that brings the expected expressivity while keeping the minimal semantic, which we claim is useful to get natural adequate specifications. We build on the idea that generic quantification is not a logical connective but one that is defined, like negation in classical logics. This allows us to use the standard (co)induction rule, but obtain much more expressivity than before. We show classes of theorems that can now be derived in the logic, and present a few practical examples.
A Logic for Constrained Process Calculi with Applications to Molecular Biology
, 2009
"... Linear implication can represent state transitions, but real transition systems operate under temporal, stochastic or probabilistic constraints that are not directly representable in ordinary linear logic. We propose a general modal extension of intuitionistic linear logic where logical truth is ind ..."
Abstract
 Add to MetaCart
Linear implication can represent state transitions, but real transition systems operate under temporal, stochastic or probabilistic constraints that are not directly representable in ordinary linear logic. We propose a general modal extension of intuitionistic linear logic where logical truth is indexed by constraints and hybrid connectives combine constraint reasoning with logical reasoning. The logic has a focused cutfree sequent calculus that can be used to internalize the rules of particular constrained transition systems; we illustrate this with an adequate encoding of the synchronous stochastic picalculus that has been used to encode a number of biochemical reaction systems. We also discuss direct encodings of biochemical reactions in suitable (temporal and stochastic) fragments of the logic. 1
Mechanized metatheory revisited
"... Proof assistants and the programming languages that implement them need to deal with a range of linguistic expressions that involve bindings. Since most mature proof assistants do not have builtin methods to treat this aspect of syntax, they have been extended with various packages and libraries t ..."
Abstract
 Add to MetaCart
Proof assistants and the programming languages that implement them need to deal with a range of linguistic expressions that involve bindings. Since most mature proof assistants do not have builtin methods to treat this aspect of syntax, they have been extended with various packages and libraries that allow them to encode such syntax using, for example, de Bruijn numerals and nominal logic features. I put forward the argument that bindings are such an intimate aspect of the structure of expressions that they should be accounted for directly in the underlying programming language support for proof assistants and not as packages and libraries. One possible approach to designing programming languages and proof assistants that directly supports such an approach to bindings in syntax is presented. The roots of such an approach can be found in the mobility of binders between the termlevel bindings, formulalevel bindings (quantifiers), and prooflevel bindings (eigenvariables). In particular, by combining Church’s approach to terms and formulas (found in his Simple Theory of Types) and Gentzen’s approach to sequent calculus proofs, we can learn how bindings can declaratively interact with the full range of logical connectives and quantifiers. I will also illustrate how that framework provides an intimate and semantically clean treatment of computation and reasoning with syntax containing bindings. Some implemented systems, which support this intimate and builtin treatment of bindings, will be briefly described.