Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Reading material on "Program Fixpoint"

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Reading material on "Program Fixpoint"


Chronological Thread 
  • From: Siddharth Bhat <siddu.druid AT gmail.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: [Coq-Club] Reading material on "Program Fixpoint"
  • Date: Sat, 20 Jan 2018 13:27:27 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=siddu.druid AT gmail.com; spf=Pass smtp.mailfrom=siddu.druid AT gmail.com; spf=None smtp.helo=postmaster AT mail-qt0-f173.google.com
  • Ironport-phdr: 9a23:qticGx9YLahvgf9uRHKM819IXTAuvvDOBiVQ1KB40eIcTK2v8tzYMVDF4r011RmVBdyds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+54Dfbx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRxDohikJNDA37X/ZhdBrga1BvB6svQZyz5LIbIyXMvd1Y6PTfckdRWpERstfSi1BDZ6hYIsPFeUBJ/pYr4ngrFYTrRuxHxWsD/7oxz9Th3/5wLA10/k7HQ7bxgwgAtMOv2nPodX6MacdS+G1zK3SwTrfaPNW3C7w5Y7VeR4iufGBRax8fdbVxEU1FA7Ijk+cpZL4Mz6UzOgBrmqW4uRmWOmykWAosRtxrSKqxso0ionGmIYVylfc+CV82ok1JNm4RFdiYd64DJdcri+aO5Z0T84sWW1otyE6yroJuZ6/YicG0ogoxxnaa/CfcoiI5AzsVPqJLDtmmH5ofKizihWy/ES61OHwS8i53ExXoidHnNTArnUN2AbS6siDRPt95ECh2TOX2gDI6+FLPF07lbfBJ5E82L4wi5sTvlnYEy/5nUX5lq6WdkE+9ue07OTnZ63qpoWAOI9slgH+LqMul9SjDuQ/KwgCRnSU+eCh1LL45kD5W7VLjvgukqbDqpzaJMIbprS4AwBPyIoj5Qy/XH+a14FSln4eaVlBZRivjo7zOliILuqyRaO0hE3pmzN2zdjHOKfgC9PDNC6Qvq3meONG6kJQyAMp0dAXzZJdFvlVO/P/VlK3uMbFDxMRPAm9wuKhA9J4gNBNEVmTC7OUZfuB+WSD4fgidrHVNd0l/Q3lIv1g3MbAyHowmFsTZ66shMJFZ3WxH/AgKEKcMyO13oUxVFwStw97d9TEzUWYWGcKNXm3VqM4oDo8DdD+VNqRdsWWmLWEmRyDMNhWa2RBUA7eFH7pc8CdR69JZnvNeYlulTsLUbXnQIgkh0mj

I've been trying to learn how to write dependently typed code in Coq.

As far as I can tell, there are three styles:
1. Use tactics to fill in Definition blocks.
2. Directly "implement" stuff with dependent types (like Idris)
3. Use Program to delay obligations, so write "normal" code and fulfil obligations later.

The problem I face with #1 is that _proving_ things about Definitions encoded this way is impossible for me. For example, if I use omega in some Definition D, I cannot prove anything about D, because on unfolding D, I see the mess that is the omega implementation, I assume.

So, for proving things about definitions, #1 is out.

#2 is.. challenging, and as a newbie, I find that I often do not know how to express the things I want to say, or do not know how to convince Coq that certain things are impossible (eg: safe indexing into a vector)

So, for now, #3 seems easiest.

I would like references on the third style of implementing things. Could someone please recommend reading material?

Thanks,
Siddharth


--
Sending this from my phone, please excuse any typos!



Archive powered by MHonArc 2.6.18.

Top of Page