We argue that abstract datatypes - with public interfaces hiding private implementations - represent a form of codata rather than ordinary data, and hence that proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that the universal properties of unfold operators are perfectly suited for the task. We illustrate with solutions to two problems the solution to a problem in the recent literature. © 2008 Springer-Verlag
It is argued that the concept of abstract datatypes can be extended in a way that allows for opera-t...
The EPSRC-funded Generic and Indexed Programming project will explore the inter-action between datat...
Besides the original idea of having a framework for calculating programs from their specifications, ...
Abstract datatypes — with public interfaces hiding private implementations — represent a form of cod...
This paper presents a new approach to optimising corecursive pro-grams by factorisation. In particul...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
The absence of a finite axiomatization of the first-order theory of datatypes and codatatypes repres...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
International audienceThis paper presents a formalized framework for defining corecursive functions ...
Data types are a widely-used feature of functional programming languages that allow programmers to ...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
Formal reasoning in proof assistants, also known as mechaniza-tion, has high development costs. Buil...
It is argued that the concept of abstract datatypes can be extended in a way that allows for opera-t...
The EPSRC-funded Generic and Indexed Programming project will explore the inter-action between datat...
Besides the original idea of having a framework for calculating programs from their specifications, ...
Abstract datatypes — with public interfaces hiding private implementations — represent a form of cod...
This paper presents a new approach to optimising corecursive pro-grams by factorisation. In particul...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
The absence of a finite axiomatization of the first-order theory of datatypes and codatatypes repres...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
International audienceThis paper presents a formalized framework for defining corecursive functions ...
Data types are a widely-used feature of functional programming languages that allow programmers to ...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
Formal reasoning in proof assistants, also known as mechaniza-tion, has high development costs. Buil...
It is argued that the concept of abstract datatypes can be extended in a way that allows for opera-t...
The EPSRC-funded Generic and Indexed Programming project will explore the inter-action between datat...
Besides the original idea of having a framework for calculating programs from their specifications, ...