This paper presents a formalized framework for defining corecursive functions safely in a total setting, based on corecursion up-to and relational parametricity. The end product is a general corecursor that allows corecursive (and even recursive) calls under well-behaved operations, including constructors. Corecursive functions that are well behaved can be registered as such, thereby increasing the corecursor's expressiveness. The metatheory is formalized in the Isabelle proof assistant and forms the core of a prototype tool. The corecursor is derived from first principles, without requiring new axioms or extensions of the logic
Abstract. Recursion is a well-known and powerful programming technique, with a wide variety of appli...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
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 ...
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...
We introduce AmiCo, a tool that extends a proof assistant, Isabelle/HOL, with flexible function defi...
Recursion is a well-known and powerful programming technique, with a wide variety of applications. ...
International audienceWe introduce AmiCo, a tool that extends a proof assistant, Isabelle/ HOL, with...
International audienceWe present two methods for defining corecursive functions that go beyond what ...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
Coinduction is an important concept in functional programming. To formally prove properties of corec...
We introduce AmiCo, a tool that extends a proof assistant, Isabelle/HOL, with flexible function defi...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
Abstract. Recursion is a well-known and powerful programming technique, with a wide variety of appli...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
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 ...
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...
We introduce AmiCo, a tool that extends a proof assistant, Isabelle/HOL, with flexible function defi...
Recursion is a well-known and powerful programming technique, with a wide variety of applications. ...
International audienceWe introduce AmiCo, a tool that extends a proof assistant, Isabelle/ HOL, with...
International audienceWe present two methods for defining corecursive functions that go beyond what ...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
Coinduction is an important concept in functional programming. To formally prove properties of corec...
We introduce AmiCo, a tool that extends a proof assistant, Isabelle/HOL, with flexible function defi...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
Abstract. Recursion is a well-known and powerful programming technique, with a wide variety of appli...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...