Proceedings of the 2007 Workshop on Programming Languages Meets Program Verification 2007
DOI: 10.1145/1292597.1292601
|View full text |Cite
|
Sign up to set email alerts
|

A coinductive monad for prop-bounded recursion

Abstract: This paper develops machinery necessary to mechanically import arbitrary functional programs into Coq's type theory, manually strengthen their specifications with additional proofs, and then mechanicaly re-extracting the newly-certified program in a form which is as efficient as the original program.In order to facilitate this goal, the coinductive technique of [Cap05] is modified to form a monad whose operators are the constructors of a coinductive type rather than functions defined over the type. The inducti… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
6
0

Year Published

2008
2008
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 8 publications
(7 citation statements)
references
References 21 publications
0
6
0
Order By: Relevance
“…Unfortunately it can be inconvenient to use this definition of bind in systems based on guarded corecursion, because > > = is not a constructor. Megacz (2007) suggests (more or less) the following alternative definition:…”
Section: Related Workmentioning
confidence: 99%
“…Unfortunately it can be inconvenient to use this definition of bind in systems based on guarded corecursion, because > > = is not a constructor. Megacz (2007) suggests (more or less) the following alternative definition:…”
Section: Related Workmentioning
confidence: 99%
“…See Cousot (1990) for a tutorial. More recently, Megacz (2007) gave a nice survey of several alternative approaches to code terminating programs in a dependently typed language with inductive and coinductive types.…”
Section: Conclusion and Related Workmentioning
confidence: 99%
“…In computing science, Floyd (1967) proposed the use of well-ordering in programming language semantics (See Cousot 1990 for a tutorial). More recently, Megacz (2007) gave a nice survey of several alternative approaches to code terminating programs in a dependently typed language with inductive and coinductive types.…”
Section: Conclusion and Related Workmentioning
confidence: 99%
“…There are analogous techniques that also do not require a termination proof. One such method is Prop-bounded recursion based on a coinductive monad [20,9]. In this method the coinductive type permits to represent infinitely long computations as (potentially) infinitely large objects of coinductive types.…”
Section: Related Workmentioning
confidence: 99%
“…One is also able to write a function that directly refers to itself, which would be incompatible with, e.g., Fixpoint due to syntactic restrictions. However, the coinductive methods require a more complex notion of equality due to the presence of infinite objects, such as, in the case of [20], the John Major equality which relies on the JMeq axiom of Coq.…”
Section: Related Workmentioning
confidence: 99%