Introduction to Functional Programming
Introduction to Functional Programming
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
A Proof Tool Dedicated to Clean - The First Prototype
AGTIVE '99 Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance
Proving Correctness of Programs with IO - A Paradigm Comparison
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Verifying haskell programs using constructive type theory
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
The logic of demand in Haskell
Journal of Functional Programming
Extending the sparkle core language with object abstraction
Acta Cybernetica
Modelling deterministic concurrent I/O
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Introducing the Haskell equational reasoning assistant
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Programmed Strategies for Program Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Strength Induction in a Haskell Program Verifier
Electronic Notes in Theoretical Computer Science (ENTCS)
Proving Properties of Lazy Functional Programs with Sparkle
Central European Functional Programming School
Programming language elements for correctness proofs
Acta Cybernetica
A Single-Step Term-Graph Reduction System for Proof Assistants
Applications of Graph Transformations with Industrial Relevance
Embedding a logical theory of constructions in Agda
Proceedings of the 3rd workshop on Programming languages meets program verification
Automatic verification for interactive graphical programs
Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
Using strategies for assessment of programming exercises
Proceedings of the 41st ACM technical symposium on Computer science education
GAST: generic automated software testing
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Proving program properties specified with subtype marks
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Exchanging sources between clean and Haskell: a double-edged front end for the clean compiler
Proceedings of the third ACM Haskell symposium on Haskell
Embedding a proof system in haskell
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
The feasibility of interactively probing quiescent properties of GUI applications
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Generic graphical user interfaces
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Proof tool support for explicit strictness
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Combining interactive and automatic reasoning in first order theories of functional programs
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
Reasoning about i/o in functional programs
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
SPARKLE is a new theorem prover written in and specialized for the functional programming language CLEAN. It is mainly intended to be used by programmers for proving properties of parts of programs, combining programming and reasoning into one process. It can also be used by logicians interested in proving properties of larger programs.Two features of SPARKLE are in particular helpful for programmers. Firstly, SPARKLE is integrated in CLEAN and has a semantics based on lazy graph-rewriting. This allows reasoning to take place on the program itself, rather than on a translation that uses different concepts. Secondly, Sparkle supports automated reasoning. Trivial goals will automatically be discarded and suggestions will be given on more difficult goals.This paper presents a small example proof built in SPARKLE. It will be shown that building this proof is easy and requires little effort.