Tag Archives: Termination

“General Recursion using Coinductive Monad” Got Right

Anton Setzer argued in his letter to the Agda mailing list that we should go back to a category theoretical view of codata, and Dan Doel soon successfully experimented the ideas.

Posted in Research Blog | Also tagged , | Leave a comment

General Recursion using Coindutive Monad

It would be nice to if we could write the program and prove its termination separately. Adam Megacz published an interesting paper: A Coinductive Monad for Prop-Bounded Recursion. As a practice, I tried to port his code to Agda.

Posted in Research Blog | Also tagged , | Leave a comment

Well-Foundedness and Reductivity

It seems that reductivity of Doornbos and Backhouse is in fact accessibility, which is often taken by type theorists to be an alternative definition of well-foundedness.

Posted in Research Blog | Also tagged , , | Leave a comment

Well-Founded Recursion and Accessibility

Given a relation < that has been shown to be well-founded, we know that a recursively defined function is terminating if its arguments becomes “smaller” with respect to < at each recursive call. We can encode such well-founded recursion in Agda’s style of structural recusion.

Posted in Research Blog | Also tagged , | 2 Comments

Terminating Unfolds (2)

After seeing our code, Nils Anders Danielsson suggested two improvements. Firstly, to wrap the bound in the seed. Secondly, to define unfoldT↓ using well-founded recursion.

Posted in Research Blog | Also tagged , | Leave a comment

Terminating Unfolds (1)

I hope to come up with a variation of unfoldr which, given a proof of well-foundedness, somehow passes the termination check.

Posted in Research Blog | Also tagged , | Leave a comment