[POPLmark] Re: [Provers] Re: adequacy

Geoffrey A. Washburn geoffw at cis.upenn.edu
Thu May 5 16:58:04 EDT 2005


On Tue, 3 May 2005, Karl Crary wrote:

> For what it's worth, our students tend to understand LF much more
> readily than Constructions.  I very much suspect cost of entry has more
> to do with local experience than anything else.  So hopefully this very
> discussion will improve LF's score!

	I think maybe one point that has not been emphasized enough is
  that many of the difficulties that some people at Penn (and elsewhere)
  are having trying to understand the Twelf solution are not because
  they are having trouble understanding LF.  I think everyone here
  has a handle on the LF type system.  The problem is that in order
  for a well-typed LF signature to be considered a proof, Twelf must
  verify a number of properties about the signature (coverage, totality,
  termination, etc.).  The reasoning used by Twelf internally to determine
  whether a signature has the necessary properties is not easy to grasp,
  and to my knowledge there are no approachable resources for the
  uninitiated that clearly explain the process and common pitfalls.

	Now in some ways it is comparing apples to oranges, but when it
  comes to Coq, one only needs to understand the typing rules of the
  Calculus of Inductive Constructions to determine whether a given term
  is in fact a proof.  I theorize that the lay-programming languages
  researcher has a much better understanding of how to repair a type
  error in CiC proof term because they can inspect the type system and see
  exactly what rule they violated.  When Twelf gives a user meta-logical
  error, say "foo is not ground" or "Output of subgoal not covered", the
  LF type system cannot guide them in repairing their error.  And again to
  my knowledge, there is no single resource (aside from perusing the
  source code) that explains the formalities of all the meta-reasoning
  that Twelf does.

	Benjamin tells me there is an article "How to believe a Twelf
  proof" in development, which sounds like it will hopefully help others
  understand what properties Twelf needs to verify.  However, based on the
  title I kind of expect this is directed at readers of Twelf proofs, and
  I think it would be valuable to develop a companion resource for those
  trying to develop proofs.

-- 
-- Geoff Washburn | geoffw at cis.upenn.edu | http://www.cis.upenn.edu/~geoffw/ --


More information about the Poplmark mailing list