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 "friendly" operations, including constructors. Friendly corecursive functions 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
Coinduction is an important concept in functional programming. To formally prove properties of corec...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
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...
International audienceWe introduce AmiCo, a tool that extends a proof assistant, Isabelle/ HOL, with...
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. ...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
International audienceWe present two methods for defining corecursive functions that go beyond what ...
Abstract. Recursion is a well-known and powerful programming technique, with a wide variety of appli...
peer-reviewedProofs involving infinite structures can use corecursive functions as inhabitants of a...
Coinduction is an important concept in functional programming. To formally prove properties of corec...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
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...
International audienceWe introduce AmiCo, a tool that extends a proof assistant, Isabelle/ HOL, with...
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. ...
Corecursive programs produce values of greatest fixpoint types, in contrast to recursive programs, w...
International audienceWe present two methods for defining corecursive functions that go beyond what ...
Abstract. Recursion is a well-known and powerful programming technique, with a wide variety of appli...
peer-reviewedProofs involving infinite structures can use corecursive functions as inhabitants of a...
Coinduction is an important concept in functional programming. To formally prove properties of corec...
This paper presents a new approach to optimising corecursive programs by factorisation. In particula...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...