Paul Krause on 25 Nov 2009 05:11:22 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Coq proof assistant

  • From: Paul Krause <paul.b.krause@gmail.com>
  • To: Philly Lambda <philly-lambda@googlegroups.com>
  • Subject: Re: Coq proof assistant
  • Date: Wed, 25 Nov 2009 05:11:07 -0800 (PST)
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:x-beenthere:received:received:received :received:received-spf:received:mime-version:received:date :in-reply-to:x-ip:references:user-agent:x-http-useragent:message-id :subject:from:to:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :x-thread-url:x-message-url:list-unsubscribe:list-subscribe :content-type:content-transfer-encoding; bh=C5U6IEIzWQhWJvEjg2/qPnRd7MiO9OI8MXf6f0J6PPI=; b=MFvLXw6H6XiX9htDUuat7ok/Xq6fNE8lYC3STlBqmlpBUwYMBq48YF2y4Fb9RSGsTC mgiLZHHZKbpoaUkCuaV+k8SCTtqx70CMiU8B8aG8CCZMUfP7l4f73jVhTJOAxmiW9bUs 7JskTcS+c37DHpUSeh+2/OEEycnwV14KevahE=
  • List-archive: <http://groups.google.com/group/philly-lambda?hl=>
  • Mailing-list: list philly-lambda@googlegroups.com; contact philly-lambda+owners@googlegroups.com
  • Reply-to: philly-lambda@googlegroups.com
  • User-agent: G2/1.0

Michael, thanks for the pointers.  Now I'll have something to occupy
myself over the long weekend ;).

The Software Foundations book looks good, and should go some way
towards helping me work through my areas of incomprehension.  I do
have the Bertot-Casteran book, which I like a lot, but there are still
things I'm having trouble understanding.  This looks like it might
help.

I love the 'assembly language of theorem proving' joke; spot on the
money.

I'll also check out Agda and see what I think.

I'm sure I'll have some concrete questions at some point, but let me
chew on the links you sent for a bit and see where that gets me.

Thanks again,
Paul

On Nov 24, 9:59 pm, Michael Greenberg <michael.m.greenb...@gmail.com>
wrote:
> Hi Paul,
>
> Coq is a great tool!  Penn (where I am a PhD student) is a big Coq
> school. ;)  We're the home of the POPLmark challenge
> (http://alliance.seas.upenn.edu/~plclub/cgi-bin/poplmark/) which
> exercises Coq (among other provers).  Benjamin Pierce, Chris
> Casinghino and I wrote Software Foundations
> (http://www.cis.upenn.edu/~bcpierce/sf/), the course book for CIS 500,
> the graduate level introduction to programming languages.  It uses Coq
> to teach functional programming, simple imperative programs, the
> simply-typed lambda calculus, and a few extensions to the lambda
> calculus.  Naturally, I think it's a pretty good introduction to Coq.
> :)  Some other Penn people---in particular, Aaron Bohannon and Brian
> Aydemir---put on a (great!) tutorial at POPL08 in San Francisco
> (http://www.cis.upenn.edu/~plclub/popl08-tutorial/).  It's targeted at
> a rather technical audience, but it offers more realistic developments
> than our book.  I hope some of those resources are useful for you.
>
> I agree that Coq can be frustrating.  Some of us joke that Coq is the
> assembly language of theorem proving---for example, it doesn't
> directly support dependent pattern matching, so tactics have to
> manually construct equalities.  At a higher level, I'm sometimes
> frustrated by the rigidity of the tactic language.  (Though I haven't
> tried using Ltac, which I hear is quite helpful.)  If you're looking
> for alternatives, Agda is a general-purpose Haskell-inspired theorem
> prover based on dependent pattern matching that some other people in
> the department like.
>
> Cheers,
> Michael