In the attached file
the function prop1
doesn't termination check if the last line is replaced with the commented out one. Should it do so by a lexicographic recursion on the term and its type? I tried adding the type explicitly but this didn't help.
I think your problem is the following:
foo : {A : Set} -> List A -> List A foo [] = [] foo (x :: []) = [] foo (x :: y :: xs) = foo (y :: xs)
The termination checker can't see that y :: xs
is smaller than x :: y :: xs
. Also to allow you to omit the type (over which the recursion is done), bug 20070604-1 would have to be fixed.
- Ulf
Fixed. y :: xs
is now recognisably smaller than x :: y :: xs
.
Page last modified on July 30, 2007, at 11:24 am
Powered by
PmWiki