Skip to main content
Article thumbnail
Location of Repository

Automated Termination Proofs for Haskell . . .

By Jürgen Giesl, Matthias Raffelsieper, Peter Schneider-Kamp, Stephan Swiderski and René Thiemann


There are many powerful techniques for automated termination analysis of term rewriting. However, up to now they have hardly been used for real programming languages. We present a new approach which permits the application of existing techniques from term rewriting to prove termination of most functions defined in Haskell programs. In particular, we show how termination techniques for ordinary rewriting can be used to handle those features of Haskell which are missing in term rewriting (e.g., lazy evaluation, polymorphic types, and higher-order functions). We implemented our results in the termination prover AProVE and successfully evaluated them on existing Haskell-libraries

Topics: Techniques, Applicative (Functional) Programming, I.2.2 [Artificial Intelligence, Automatic Programming—Automatic analysis of algorithms, I.2.3 [Artificial Intelligence, Deduction and Theorem Proving General Terms, Languages, Theory, Verification Additional Key Words and Phrases, functional programming, Haskell, termination analysis, term rewriting, dependency
Year: 2010
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.