Skip to Content.
Sympa Menu

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

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

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


Chronological Thread 
  • From: Merlin Göttlinger <megoettlinger AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Reading material on "Program Fixpoint"
  • Date: Sat, 20 Jan 2018 13:38:26 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=megoettlinger AT gmail.com; spf=Pass smtp.mailfrom=megoettlinger AT gmail.com; spf=None smtp.helo=postmaster AT mail-io0-f180.google.com
  • Ironport-phdr: 9a23:wPdLoRw8o7/kLTbXCy+O+j09IxM/srCxBDY+r6Qd2+oTIJqq85mqBkHD//Il1AaPAd2Craocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HObwlSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRDnhicINT43/m/UhMJtkqxUvAmsqAZjz4POeoyZKOZyc6HbcNgHRWRBRMFRVylZD427cYQPFe4BPeder4blplUWqwe+BRWoBOPuzD9IiWH53bcn2OkmFAHJwgMgH9UQv3TIsNX1MKYSUea6zKbW1zXOdPxW2TLn54jJdhAtu+2DXbV1ccfIz0QkCg3LjlKVqYP/PjOV0PwAs2md7+p6VOKgkXQrqw9rojS3yccsi5XJhoIIyl/f7yl23IE1JdigRE56Z96kCppQuDuAO4dsTMMiWWdlszs5xL0eoZO3YjQGxZA9yxPca/GLaZaE7gztWeqLPDt1h25pdbSijBio60eg0PfzVsys3VZKsCVFlt7Mu2gI1xPJ68iHTuJx/kam2TqTzgzT5PxILEMomabBJJ4hxbkwlpUXsUvdBCP5hEL2jKqOekUl/Oin9fjnb634qpOAM4J4kALzP6Q0lsChH+g1PBICU3WY9OigzLHj+Ff2QLROjv04iKnZt5XaKNwepqGnDA9V1Zgs6wqjDzei0dQYm3YHI0xfeB+cgIjpPkvBIPH8Dfuln1uslzJry+jcPrL9GpXNMmTDkLD5cLlh7E5c0RM/wsxb55JJEb4MO+nzW0/0tNzAFBA1KQ20w+D9CNV8zIwSQ2yPArXKeJ/V5FSP/6ckJ/SGTI4Tojf0bfY/tND0inpsvFIHeaiv6rSJdGy8H/JpLl/RNX/hjdAMDXsOvwwxQfbCh1iLUDoVbHG3CfFvrgonAZ6rWN+QDrumh6aMiX/iT89mI1teA1XJKk/GMoCNWvMCciWXe5YznTkNVLznQIgkh0j36F3KjoF/J++RwRU28Ir53YEsteLWnBA2szdzCpbFijzffyRPhmoNAgQO8uV/rEh6kAnR1KF5h7lZEoQW6aoZCkE1MpnTy+E8ANf3CFrM

Have you read the manual:
https://coq.inria.fr/refman/program.html

Here are a few examples of Program in use:
https://github.com/jwiegley/coq-lattice/blob/master/Lattice.v

Cheers,
Merlin

Siddharth Bhat <siddu.druid AT gmail.com> schrieb am Sa., 20. Jan. 2018 um 14:28 Uhr:
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