If I want to write proofs and algorithms/semantics using Coq on a Haskell program. How can I translate from Haskell to Coq to do this?
It seems that there are tools to translate OCaml programs. But how about Haskell?
If I want to write proofs and algorithms/semantics using Coq on a Haskell program. How can I translate from Haskell to Coq to do this?
It seems that there are tools to translate OCaml programs. But how about Haskell?
The main issue I see in such a translation is that Haskell programs (as well as Ocaml ones) can perform any kind of recursion algorithm, and might contain loops.
In Coq, there is no build-in notion of loops, and any recursive function has to terminate, and be explicit why it terminates.
To the best of my knowledge, there is no such tool at the moment.