I'm working on static verification in Haskell, and I search for existing
works on specification of Haskell programs (such as pre/post conditions, for
example) or any other functional language. It would be great if there exists
a prover based on this kind of specifications. I already found the
ESC/Haskell. Do you know some other works which could be interesting?
Thanks,
rde.
Romain Demeyer schrieb:
> ------------------------------------------------------------------------
>
> _______________________________________________
> Haskell mailing list
> Has...@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
--
Jun.-Prof. Dr. Janis Voigtl�nder
http://www.iai.uni-bonn.de/~jv/
mailto:j...@iai.uni-bonn.de
_______________________________________________
Haskell mailing list
Has...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
are you aware of Haskabelle [1], a Haskell to Isabelle/HOL converter?
I've never used or investigated it.
-- Jean
[1] http://isabelle.in.tum.de/haskabelle.html
2010/10/25 Romain Demeyer <r...@info.fundp.ac.be>:
I found the paper "Verifying Haskell using constructive type theory"
[1] interesting...
Dominique
Footnotes:
[1] http://www.mimuw.edu.pl/~ben/Papers/monadic.pdf
_______________________________________________
Haskell-Cafe mailing list
Haskel...@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
You might also want to have a look at Zeno, being developed by Will
Sonnex (cc'd) which is in this space
http://www.doc.ic.ac.uk/~ws506/tryzeno/
Cheers,
Tris
> _______________________________________________
We have used Haskell extensively in the verification of the seL4 microkernel. One part of that was translating a prototype of the kernel into Isabelle and proving a large number of invariants as well as proving two refinement theorems about the translation. For our work the translation itself was not correctness critical, so we were happy to use our own somewhat ad-hoc tool for it.
Some papers on this are:
Pre/post verification and refinement of state monad programs:
http://www.cse.unsw.edu.au/~kleing/papers/Cock_KS_08.html
Experience report on the Haskell verification:
http://www.cse.unsw.edu.au/~kleing/papers/Klein_DE_09.html
The whole picture:
http://www.cse.unsw.edu.au/~kleing/papers/sosp09.html
More papers here:
http://www.ertos.nicta.com.au/research/l4.verified/pubs.pml
In general, if your program does not use state monads, but is just a simple, straightforward functional program, the combination of Haskabelle and Isabelle/HOL can work quite nicely without a big formal apparatus such as a pre/post calculus. You can just state properties directly as you might in quickcheck.
> It would be great if there exists a prover based on this kind of specifications. I already found the ESC/Haskell. Do you know some other works which could be interesting?
We're using Isabelle/HOL. In the work above this was together with our own translator from Haskell to Isabelle, in the future it will possibly Haskabelle which has already been pointed out.
Cheers,
Gerwin
Moreover, the Programatica project has an expressive logic
called P-logic, and tools supporting it:
http://programatica.cs.pdx.edu/
Best, Till
Simon
Induction, coinduction, narrowing and extendable sets of
simplification rules admit proofs and computations at various levels
of automation.
All derivations are recorded both in textual form and in terms of
straight-line programs that allow their stepwise replay.
Peter Padawitz
http://fldit-www.cs.tu-dortmund.de
> Would someone like to make a Haskell Wiki page to summarise the
> responses to this thread?
>
> Simon
>
I have updated the page "Applications and libraries/Theorem provers" [0]
and created the new wiki page "Specification and proof" [1]. I hope
someone with more expertise on the subject will write the body of this new
page.
Regards,
Henk-Jan van Tuyl
[0]
http://www.haskell.org/haskellwiki/Applications_and_libraries/Theorem_provers
[1] http://www.haskell.org/haskellwiki/Specification_and_proof
--
http://Van.Tuyl.eu/
http://members.chello.nl/hjgtuyl/tourdemonad.html
--