Results 11 - 20
of
97
Logical properties of name restriction
- Proc. 5th Int. Conf. Typed Lambda Calculi and Applications (TLCA’01), volume 2044 of Lecture Notes in Computer Science
, 2001
"... Abstract. We extend the modal logic of ambients described in [7] to the full ambient calculus, including name restriction. We introduce logical operators that can be used to make assertions about restricted names, and we study their properties. 1 ..."
Abstract
-
Cited by 43 (5 self)
- Add to MetaCart
Abstract. We extend the modal logic of ambients described in [7] to the full ambient calculus, including name restriction. We introduce logical operators that can be used to make assertions about restricted names, and we study their properties. 1
Operational congruences for reactive systems
, 2001
"... This document consists of a slightly revised and corrected version of a dissertation ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
This document consists of a slightly revised and corrected version of a dissertation
Manipulating Trees with Hidden Labels
- FOSSACS'03
, 2003
"... We define an operational semantics and a type system for manipulating semistructured data that contains hidden information. The data model is simple labeled trees with a hiding operator. Data manipulation is based on pattern matching, with types that track the use of hidden labels. ..."
Abstract
-
Cited by 30 (4 self)
- Add to MetaCart
We define an operational semantics and a type system for manipulating semistructured data that contains hidden information. The data model is simple labeled trees with a hiding operator. Data manipulation is based on pattern matching, with types that track the use of hidden labels.
The ∇-calculus. Functional programming with higher-order encodings
- In Proceedings of the 7th International Conference on Typed Lambda Calculi and Applications
, 2005
"... Abstract. Higher-order encodings use functions provided by one language to represent variable binders of another. They lead to concise and elegant representations, which historically have been difficult to analyze and manipulate. In this paper we present the ∇-calculus, a calculus for defining gener ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
Abstract. Higher-order encodings use functions provided by one language to represent variable binders of another. They lead to concise and elegant representations, which historically have been difficult to analyze and manipulate. In this paper we present the ∇-calculus, a calculus for defining general recursive functions over higher-order encodings. To avoid problems commonly associated with using the same function space for representations and computations, we separate one from the other. The simply-typed λ-calculus plays the role of the representation-level. The computationlevel contains not only the usual computational primitives but also an embedding of the representation-level. It distinguishes itself from similar systems by allowing recursion under representation-level λ-binders while permitting a natural style of programming which we believe scales to other logical frameworks. Sample programs include bracket abstraction, parallel reduction, and an evaluator for a simple language with first-class continuations. 1
Models for Name-Passing Processes: Interleaving and Causal
- In Proceedings of LICS 2000: the 15th IEEE Symposium on Logic in Computer Science (Santa Barbara
, 2000
"... We study syntax-free models for name-passing processes. For interleaving semantics, we identify the indexing structure required of an early labelled transition system to support the usual pi-calculus operations, defining Indexed Labelled Transition Systems. For noninterleaving causal semantics we de ..."
Abstract
-
Cited by 22 (3 self)
- Add to MetaCart
We study syntax-free models for name-passing processes. For interleaving semantics, we identify the indexing structure required of an early labelled transition system to support the usual pi-calculus operations, defining Indexed Labelled Transition Systems. For noninterleaving causal semantics we define Indexed Labelled Asynchronous Transition Systems, smoothly generalizing both our interleaving model and the standard Asynchronous Transition Systems model for CCS-like calculi. In each case we relate a denotational semantics to an operational view, for bisimulation and causal bisimulation respectively. We establish completeness properties of, and adjunctions between, categories of the two models. Alternative indexing structures and possible applications are also discussed. These are first steps towards a uniform understanding of the semantics and operations of name-passing calculi.
Focusing on binding and computation
- In IEEE Symposium on Logic in Computer Science
, 2008
"... Variable binding is a prevalent feature of the syntax and proof theory of many logical systems. In this paper, we define a programming language that provides intrinsic support for both representing and computing with binding. This language is extracted as the Curry-Howard interpretation of a focused ..."
Abstract
-
Cited by 20 (6 self)
- Add to MetaCart
Variable binding is a prevalent feature of the syntax and proof theory of many logical systems. In this paper, we define a programming language that provides intrinsic support for both representing and computing with binding. This language is extracted as the Curry-Howard interpretation of a focused sequent calculus with two kinds of implication, of opposite polarity. The representational arrow extends systems of definitional reflection with a notion of scoped inference rules, which are used to represent binding. On the other hand, the usual computational arrow classifies recursive functions defined by pattern-matching. Unlike many previous approaches, both kinds of implication are connectives in a single logic, which serves as a rich logical framework capable of representing inference rules that mix binding and computation. 1
Recursion for Higher-Order Encodings
"... This paper describes a calculus of partial recursive functions that range over arbitrary and possibly higher-order objects in LF [HHP93]. Its most novel features include recursion under lambda-binders 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 higher-order objects in LF [HHP93]. Its most novel features include recursion under lambda-binders and matching against dynamically introduced parameters.
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 higher-order 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 18 (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 higher-order 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.
A recursion combinator for nominal datatypes implemented in Isabelle/HOL
- IN PROC. OF THE 3RD INTERNATIONAL JOINT CONFERENCE ON AUTOMATED REASONING (IJCAR), VOLUME 4130 OF LNAI
, 2006
"... The nominal datatype package implements an infrastructure in Isabelle/HOL for defining languages involving binders and for reasoning conveniently about alpha-equivalence classes. Pitts stated some general conditions under which functions over alpha-equivalence classes can be defined by a form of str ..."
Abstract
-
Cited by 17 (7 self)
- Add to MetaCart
The nominal datatype package implements an infrastructure in Isabelle/HOL for defining languages involving binders and for reasoning conveniently about alpha-equivalence classes. Pitts stated some general conditions under which functions over alpha-equivalence classes can be defined by a form of structural recursion and gave a clever proof for the existence of a primitive-recursion combinator. We give a version of this proof that works directly over nominal datatypes and does not rely upon auxiliary constructions. We further introduce proving tools and a heuristic that made the automation of our proof tractable. This automation is an essential prerequisite for the nominal datatype package to become useful.
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 15 (4 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, name-binding, 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, capture-avoiding substitution, and free variable set functions are much better-behaved.

