[POPLmark] Meta-comment
Karl Crary
crary at cs.cmu.edu
Thu May 12 11:24:26 EDT 2005
You've made this claim a couple of times now. I thought I refuted that
implicitly in my earlier message where I listed several advantage of
Twelf that had nothing to do with binders or higher-order
representation, but let me say it explicitly:
I do not believe that the advantages of Twelf are limited to systems
with traditional binding structure, or that make heavy use of
higher-order encodings. I say this on the basis of my EXTENSIVE
experience with TALT. A lot is going on in TALT, but the central focus
are the machine's heap and register file, which are implemented using
first-order representations.
Certainly Twelf was vital in the parts that did involve higher-order
encodings. (In particular, I find it hard to imagine doing the
confluence proof, which is key to canonical forms, in any other
system.) BUT, Twelf worked very, very well for the main body of the
proof, which was mostly first-order. This was for all the reasons I
listed in my previous message. In short, I claim that Twelf works very
nicely even when not exploiting higher-order representations.
Frankly, if you found that you haven't seen big benefits from Twelf on
the Princeton FPCC project, it's because you are really using Elf, not
Twelf. The big breakthrough of Twelf is the meta-logical framework, and
the Princeton project doesn't use that at all. (Don't misunderstand, I
know they have their reasons, to do with trusted computing base and so
forth.) You're complaining about the performance of your car when you
won't turn on the engine.
So I don't really see that experience as relevant. Princeton is
basically carrying out the Automath program, using LF to construct the
proof witnesses. They use the Elf/Twelf proof search engine to help
build the proof terms, and then they use an entirely different
implementation of almost-LF to check them. (Incidentally, if Andrew is
disappointed by how Elf/Twelf has worked, he hasn't mentioned it to me.)
-- Karl
Daniel C. Wang wrote:
> HOL and Coq have had many past success in many areas that have nothing
> to do with the handling of binders. Twelf is amazingly good at dealing
> with binders. So amazingly good that you can usally ignore all its
> other deficencies. However, when dealing with binders is not a
> significant part of the problem those deficencies become very apparent.
>
> I've also personally used Twelf on one very large project (FPCC) that
> avoided higher-order encodings. I can say with hindsight that since
> we were not using higher-order encodings it would have been easier to
> use an LCF style system that built proof witness rather than to start
> with Twelf.
>
More information about the Poplmark
mailing list