[Agda] Circular proof causes stack overflow

Nils Anders Danielsson nad at cse.gu.se
Wed Sep 4 17:44:46 CEST 2013


On 2013-09-04 16:25, Dan Piponi wrote:
> This short piece of code causes a stack overflow in 2.3.2.1 (sometimes
> after a long wait):

The release notes for Agda 2.3.4 (which is under development) currently
contains the following text:

   Definitions which fail the termination checker are not unfolded any
   longer to avoid loops or stack overflows in Agda.  However, the
   termination checker for a mutual block is only invoked after
   type-checking, so there can still be loops if you define a
   non-terminating function.  But termination checking now happens
   before the other supplementary checks: positivity, polarity,
   injectivity and projection-likeness.
   Note that with the pragma {-# NO_TERMINATION_CHECK #-} you can make
   Agda treat any function as terminating.

-- 
/NAD


More information about the Agda mailing list