Two different ways of defining ad-hoc polymorphic operations commonly occur in programming languages. With the first form polymorphic operations are defined inductively on the...
We propose a novel approach to proving the termination of heapmanipulating programs, which combines separation logic with cyclic proof within a Hoare-style proof system. Judgement...
James Brotherston, Richard Bornat, Cristiano Calca...
In this paper we study the interaction of subtyping and parametricity. We describe a logic for a programming language with parametric polymorphism and subtyping. The logic support...
We present a logical framework Υ for reasoning on a very general class of languages featuring binding operators, called nominal , presented in higher-order abstract syntax (HOAS)....
This paper introduces a new recursion principle for inductive data modulo -equivalence of bound names. It makes use of Oderskystyle local names when recursing over bound names. It...