Abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and so 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 the solution to a problem in the recent literature
Abstract. The unfolding of (1-)safe Petri nets to occurrence nets is well understood. There is a uni...
The EPSRC-funded Generic and Indexed Programming project will explore the inter-action between datat...
A new data type declaration mechanism of defining codatatypes is introduced to a functional programm...
Abstract datatypes — with public interfaces hiding private implementations — represent a form of cod...
We argue that abstract datatypes - with public interfaces hiding private implementations - represent...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
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...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
International audienceThis paper presents a formalized framework for defining corecursive functions ...
The absence of a finite axiomatization of the first-order theory of datatypes and codatatypes repres...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
Abstract. The unfolding of (1-)safe Petri nets to occurrence nets is well understood. There is a uni...
The EPSRC-funded Generic and Indexed Programming project will explore the inter-action between datat...
A new data type declaration mechanism of defining codatatypes is introduced to a functional programm...
Abstract datatypes — with public interfaces hiding private implementations — represent a form of cod...
We argue that abstract datatypes - with public interfaces hiding private implementations - represent...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
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...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
This paper presents a formalized framework for defining corecursive functions safely in a total sett...
International audienceThis paper presents a formalized framework for defining corecursive functions ...
The absence of a finite axiomatization of the first-order theory of datatypes and codatatypes repres...
Formal reasoning in proof assistants, also known as mechanization, has high development costs. Build...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
Abstract. The unfolding of (1-)safe Petri nets to occurrence nets is well understood. There is a uni...
The EPSRC-funded Generic and Indexed Programming project will explore the inter-action between datat...
A new data type declaration mechanism of defining codatatypes is introduced to a functional programm...