Results 1  10
of
30
Relational reasoning in a nominal semantics for storage
 In Proc. 7th International Conference on Typed Lambda Calculi and Applications (TLCA), volume 3461 of Lecture Notes in Computer Science
, 2005
"... a higherorder CBV language with recursion and dynamically allocated mutable references that may store both ground data and the addresses of other references, but not functions. This model is adequate, though far from fully abstract. We then develop a relational reasoning principle over the denotati ..."
Abstract

Cited by 66 (13 self)
 Add to MetaCart
(Show Context)
a higherorder CBV language with recursion and dynamically allocated mutable references that may store both ground data and the addresses of other references, but not functions. This model is adequate, though far from fully abstract. We then develop a relational reasoning principle over the denotational model, and show how it may be used to establish various contextual equivalences involving allocation and encapsulation of store. 1
Alphastructural recursion and induction
 Journal of the ACM
, 2006
"... The nominal approach to abstract syntax deals with the issues of bound names and αequivalence by considering constructions and properties that are invariant with respect to permuting names. The use of permutations gives rise to an attractively simple formalisation of common, but often technically i ..."
Abstract

Cited by 56 (6 self)
 Add to MetaCart
The nominal approach to abstract syntax deals with the issues of bound names and αequivalence by considering constructions and properties that are invariant with respect to permuting names. The use of permutations gives rise to an attractively simple formalisation of common, but often technically incorrect uses of structural recursion and induction for abstract syntax modulo αequivalence. At the heart of this approach is the notion of finitely supported mathematical objects. This paper explains the idea in as concrete a way as possible and gives a new derivation within higherorder logic of principles of αstructural recursion and induction for αequivalence classes from the ordinary versions of these principles for abstract syntax trees.
Relational parametricity and separation logic
 In 10th FOSSACS, LNCS 4423
, 2007
"... Abstract. Separation logic is a recent extension of Hoare logic for reasoning about programs with references to shared mutable data structures. In this paper, we provide a new interpretation of the logic for a programming language with higher types. Our interpretation is based on Reynolds’s relation ..."
Abstract

Cited by 33 (14 self)
 Add to MetaCart
(Show Context)
Abstract. Separation logic is a recent extension of Hoare logic for reasoning about programs with references to shared mutable data structures. In this paper, we provide a new interpretation of the logic for a programming language with higher types. Our interpretation is based on Reynolds’s relational parametricity, and it provides a formal connection between separation logic and data abstraction.
Normalization by evaluation for MartinLöf type theory with one universe
 IN 23RD CONFERENCE ON THE MATHEMATICAL FOUNDATIONS OF PROGRAMMING SEMANTICS, MFPS XXIII, ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE
, 2007
"... ..."
Static name control for FreshML
 In IEEE Symposium on Logic in Computer Science (LICS
, 2007
"... 3 A complete example ..."
(Show Context)
Separation logic for higherorder store
 Pages 575–590 of: Computer Science Logic. Lecture Notes in Computer Science
, 2006
"... Abstract. Separation Logic is a substructural logic that supports local reasoning for imperative programs. It is designed to elegantly describe sharing and aliasing properties of heap structures, thus facilitating the verification of programs with pointers. In past work, separation logic has been d ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
Abstract. Separation Logic is a substructural logic that supports local reasoning for imperative programs. It is designed to elegantly describe sharing and aliasing properties of heap structures, thus facilitating the verification of programs with pointers. In past work, separation logic has been developed for heaps containing records of basic data types. Languages like C or ML, however, also permit the use of code pointers. The corresponding heap model is commonly referred to as “higherorder store ” since heaps may contain commands which in turn are interpreted as partial functions between heaps. In this paper we make Separation Logic and the benefits of local reasoning available to languages with higherorder store. In particular, we introduce an extension of the logic and prove it sound, including the Frame Rule that enables specifications of code to be extended by invariants on parts of the heap that are not accessed. 1
Nominal System T
, 2010
"... This paper introduces a new recursion principle for inductive data modulo ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
(Show Context)
This paper introduces a new recursion principle for inductive data modulo
Nominal renaming sets
"... Abstract. Nominal techniques are based on the idea of sets with a finitelysupported atomspermutation action. We consider the idea of nominal renaming sets, which are sets with a finitelysupported atomsrenaming action; renamings can identify atoms, permutations cannot. We show that nominal renaming ..."
Abstract

Cited by 13 (8 self)
 Add to MetaCart
(Show Context)
Abstract. Nominal techniques are based on the idea of sets with a finitelysupported atomspermutation action. We consider the idea of nominal renaming sets, which are sets with a finitelysupported atomsrenaming action; renamings can identify atoms, permutations cannot. We show that nominal renaming sets exhibit many of the useful qualities found in (permutative) nominal sets; an elementary setsbased presentation, inductive datatypes of syntax up to binding, cartesian closure, and being a topos. Unlike is the case for nominal sets, the notion of namesabstraction coincides with functional abstraction. Thus we obtain a concrete presentation of sheaves on