Re: [Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-12 Thread Stephan Swiderski
Jim Apple wrote:
 On 9/11/06, Neil Mitchell [EMAIL PROTECTED] wrote:
  Can you give any examples of terminating Haskell programs that a human
  can analyse (perhaps with a bit of thought), but that your system
  can't? (I couldn't find any in your paper)

 Euclid's algorithm is mentioned on the web page, if I remember correctly.

Unfortunately, we are unable to show the termination of the gcd function
as definied  in the Hugs Prelude. But we could show the termination of
this slightly modified version:

igcd :: Int  -  Int  -  Int
igcd x y = igcd' (abs x) (abs y)

igcd' :: Int  -  Int  -  Int
igcd' 0 x = x
igcd' y 0 = y
igcd' (x+1) (y+1)
  | x  y  = igcd' (x-y) (y+1)
  | otherwise  = igcd' (y-x) (x+1)


So not only the algorithm itself is important; also the
way it is written is sometimes essential for proving termination.

Best regards,
Stephan

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-11 Thread Peter Schneider-Kamp
Ashley Yakeley wrote:
 Cool! So are there an infinite number of twin primes or not?

Good one. Wish I knew ;-)

Any (correct) termination analyzer is, of course, incomplete as
the halting problem is undecidable. Our goal is to handle as many
typical/practical/easy programs as possible.

One should certainly not expect automatic tools to solve open
problems from mathematics that can be encoded as termination problems.

By the way, if you want to make automatic termination analyzers fail,
then you should also try the most famous open termination problem:

syra :: Int - Int
syra x | x = 1 = x
   | True   = if even x then syra (div x 2) else syra (3 * x + 1)

Best regards,
Peter
-- 
Peter Schneider-Kamp   mailto:[EMAIL PROTECTED]
LuFG Informatik II http://www-i2.informatik.rwth-aachen.de/~nowonder
RWTH Aachenphone: ++49 241 80-21211

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-11 Thread Neil Mitchell

Hi Peter,


Any (correct) termination analyzer is, of course, incomplete as
the halting problem is undecidable. Our goal is to handle as many
typical/practical/easy programs as possible.


Can you give any examples of terminating Haskell programs that a human
can analyse (perhaps with a bit of thought), but that your system
can't? (I couldn't find any in your paper)

Thanks

Neil
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-11 Thread Jim Apple

On 9/11/06, Neil Mitchell [EMAIL PROTECTED] wrote:

Can you give any examples of terminating Haskell programs that a human
can analyse (perhaps with a bit of thought), but that your system
can't? (I couldn't find any in your paper)


Euclid's algorithm is mentioned on the web page, if I remember correctly.

Jim
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-08 Thread Ashley Yakeley

Stephan Swiderski wrote:

Dear all,

we are pleased to announce the integration of an

   automatic Haskell98 termination analyzer


Cool! So are there an infinite number of twin primes or not?

--
Ashley Yakeley
Seattle, WA

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-08 Thread Bill Wood
On Fri, 2006-09-08 at 17:03 -0700, Ashley Yakeley wrote:
   . . .
 Cool! So are there an infinite number of twin primes or not?

We await the response with bated breath.  On second thought, maybe
that's not a good idea ...

 -- Bill Wood


___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: ANN: Haskell98 termination analyzer (AProVE)

2006-09-08 Thread Taral

On 9/8/06, Bill Wood [EMAIL PROTECTED] wrote:

We await the response with bated breath.


Don't hold your breath.

--
Taral [EMAIL PROTECTED]
You can't prove anything.
   -- Gödel's Incompetence Theorem
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell