Results 21  30
of
153
An axiomatic approach to metareasoning on nominal algebras in HOAS
 Leeuwen (Eds.), 28th International Colloquium on Automata, Languages and Programming, ICALP 2001
, 2001
"... We present a logical framework # for reasoning on a very general class of languages featuring binding operators, called nominal algebras, presented in higherorder abstract syntax (HOAS). # is based on an axiomatic syntactic standpoint and it consists of a simple types theory a la Church extended wi ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
We present a logical framework # for reasoning on a very general class of languages featuring binding operators, called nominal algebras, presented in higherorder abstract syntax (HOAS). # is based on an axiomatic syntactic standpoint and it consists of a simple types theory a la Church extended with a set of axioms called the Theory of Contexts, recursion operators and induction principles. This framework is rather expressive and, most notably, the axioms of the Theory of Contexts allow for a smooth reasoning of schemata in HOAS. An advantage of this framework is that it requires a very low mathematical and logical overhead. Some case studies and comparison with related work are briefly discussed.
Recursion for HigherOrder Encodings
"... This paper describes a calculus of partial recursive functions that range over arbitrary and possibly higherorder objects in LF [HHP93]. Its most novel features include recursion under lambdabinders and matching against dynamically introduced parameters. ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
This paper describes a calculus of partial recursive functions that range over arbitrary and possibly higherorder objects in LF [HHP93]. Its most novel features include recursion under lambdabinders and matching against dynamically introduced parameters.
Scrap your Nameplate  Functional Pearl
"... Recent research has shown how boilerplate code, or repetitive code for traversing datatypes, can be eliminated using generic programming techniques already available within some implementations of Haskell. One particularly intractable kind of boilerplate is nameplate, or code having to do with names ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Recent research has shown how boilerplate code, or repetitive code for traversing datatypes, can be eliminated using generic programming techniques already available within some implementations of Haskell. One particularly intractable kind of boilerplate is nameplate, or code having to do with names, namebinding, and fresh name generation. One reason for the difficulty is that operations on data structures involving names, as usually implemented, are not regular instances of standard map, fold , or zip operations. However, in nominal abstract syntax, an alternative treatment of names and binding based on swapping, operations such as #equivalence, captureavoiding substitution, and free variable set functions are much betterbehaved.
A Complete Characterization of Observational Equivalence in Polymorphic λCalculus with General References
, 2009
"... We give a (sound and complete) characterization of observational equivalence in full polymorphic λcalculus with existential types and firstclass, higherorder references. Our method is syntactic and elementary in the sense that it only employs simple structures such as relations on terms. It is ne ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
We give a (sound and complete) characterization of observational equivalence in full polymorphic λcalculus with existential types and firstclass, higherorder references. Our method is syntactic and elementary in the sense that it only employs simple structures such as relations on terms. It is nevertheless powerful enough to prove many interesting equivalences that can and cannot be proved by previous approaches, including the latest work by Ahmed, Dreyer and Rossberg (to appear in POPL 2009). 1.
Recursive function definition for types with binders
 In Seventeenth International Conference on Theorem Proving in Higher Order Logics
, 2004
"... Abstract. This work describes the proof and uses of a theorem allowing definition of recursive functions over the type of λcalculus terms, where terms with bound variables are identified up to αequivalence. The theorem embodies what is effectively a principle of primitive recursion, and the analog ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
Abstract. This work describes the proof and uses of a theorem allowing definition of recursive functions over the type of λcalculus terms, where terms with bound variables are identified up to αequivalence. The theorem embodies what is effectively a principle of primitive recursion, and the analogues of this theorem for other types with binders are clear. The theorem’s sideconditions require that the putative definition be wellbehaved with respect to fresh name generation and name permutation. A number of examples over the type of λcalculus terms illustrate the use of the new principle. 1
Fine Control of Demand in Haskell
 In 6th International Conference on the Mathematics of Program Construction, Dagstuhl
, 2002
"... Functional languages have the Acalculus at their core, but then depart fi'om this fu'm foundation by including features that alter their default evaluation order. The resulting mixed evaluationpartly lazy and partly strictcomplicates the formal semantics of these languages. ..."
Abstract

Cited by 14 (6 self)
 Add to MetaCart
Functional languages have the Acalculus at their core, but then depart fi'om this fu'm foundation by including features that alter their default evaluation order. The resulting mixed evaluationpartly lazy and partly strictcomplicates the formal semantics of these languages.
Syntax for free: Representing syntax with binding using parametricity
 OF LECTURE NOTES IN COMPUTER SCIENCE
, 2009
"... We show that, in a parametric model of polymorphism, the type ∀α.((α → α) → α) → (α → α → α) → α is isomorphic to closed de Bruijn terms. That is, the type of closed higherorder abstract syntax terms is isomorphic to a concrete representation. To demonstrate the proof we have constructed a mode ..."
Abstract

Cited by 14 (5 self)
 Add to MetaCart
We show that, in a parametric model of polymorphism, the type ∀α.((α → α) → α) → (α → α → α) → α is isomorphic to closed de Bruijn terms. That is, the type of closed higherorder abstract syntax terms is isomorphic to a concrete representation. To demonstrate the proof we have constructed a model of parametric polymorphism inside the Coq proof assistant. The proof of the theorem requires parametricity over Kripke relations. We also investigate some variants of this representation.
Logical reasoning for higherorder functions with local state
 In Foundations of Software Science and Computation Structure
"... ABSTRACT. We introduce an extension of Hoare logic for callbyvalue higherorder functions with MLlike local reference generation. Local references may be generated dynamically and exported outside their scope, may store higherorder functions and may be used to construct complex mutable data stru ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
ABSTRACT. We introduce an extension of Hoare logic for callbyvalue higherorder functions with MLlike local reference generation. Local references may be generated dynamically and exported outside their scope, may store higherorder functions and may be used to construct complex mutable data structures. This primitive is captured logically using a predicate asserting reachability of a reference name from a possibly higherorder datum and quantifiers over hidden references. We explore the logic’s descriptive and reasoning power with nontrivial programming examples combining higherorder procedures and dynamically generated local state. Axioms for reachability and local invariant play a central role for reasoning about the examples.
A unifying model of variables and names
 Foundations of Software Science and Computational Structures, vol. 3441, Lect. Notes in Comp. Sci
, 2005
"... Abstract. We investigate a category theoretic model where both “variables” and “names”, usually viewed as separate notions, are particular cases of the more general notion of distinction. The key aspect of this model is to consider functors over the category of irreflexive, symmetric finite relation ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
Abstract. We investigate a category theoretic model where both “variables” and “names”, usually viewed as separate notions, are particular cases of the more general notion of distinction. The key aspect of this model is to consider functors over the category of irreflexive, symmetric finite relations. The models previously proposed for the notions of “variables ” and “names ” embed faithfully in the new one, and initial algebra/final coalgebra constructions can be transferred from the formers to the latter. Moreover, the new model admits a definition of distinctionaware simultaneous substitutions. As a substantial application example, we give the first semantic interpretation of MillerTiu’s FOλ ∇ logic. 1
About permutation algebras, (pre)sheaves and named sets
 In Higher Order and Symbolic Computation
, 2006
"... Abstract. In this paper, we survey some wellknown approaches proposed as general models for calculi dealing with names (like e.g. process calculi with namepassing). We focus on (pre)sheaf categories, nominal sets, permutation algebras and named sets. We study the relationships among these models, w ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
Abstract. In this paper, we survey some wellknown approaches proposed as general models for calculi dealing with names (like e.g. process calculi with namepassing). We focus on (pre)sheaf categories, nominal sets, permutation algebras and named sets. We study the relationships among these models, which allow for transferring techniques and constructions from one model to the other.