Open joscoh opened 5 years ago
I am working on this. Where can I find the hs-to-coq channel?
(I am working with Peter Trommler.)
Hi Wolfgang! Thanks for joining! The hs-to-coq channel is part of an internal Penn slack server. We're looking into creating a more public space for discussion. In the meantime, feel free to use this issue for questions.
Hi @womeier, we have just created a public hs-to-coq channel. It exists as a stream on Coq's Zulipchat: either use https://coq.zulipchat.com/#narrow/stream/240767-hs-to-coq-devs.20.26.20users or find "hs-to-coq devs & users" stream on Coq's Zulipchat (https://coq.zulipchat.com/). And just in case you don't know it yet, there is also an "Equations devs & users" stream on Coq's Zulipchat which you may find useful.
Ok, good to know. Thank you @lastland for the suggestion :)
Currently, hs-to-coq uses Program Fixpoint to deal with more complex termination arguments. However, this makes it extremely hard to work with the resulting code, since Program Fixpoint creates huge proof terms that are difficult and slow to manipulate (for instance, the file examples/graph/theories/HeapEquiv.v, which has a single rewrite lemma for a Program Fixpoint function, takes over 3 minutes to compile - though my proof might not be great). Using Equations instead (or in addition) would have the following advantages:
I have found it simpler, for most of the functions in examples/graph, to use deferredFix and write an Equations version that I then proved equivalent instead of using Program Fixpoint. I think it would be beneficial to just be able to use Equations directly.