[POPLmark] Meta-comment
Karl Crary
crary at cs.cmu.edu
Tue May 10 14:06:45 EDT 2005
I sympathize with what Greg has to say, and I trust no one will be
shocked that I think Twelf is exactly the right tool for that sort of
thing. Look, I don't own stock in Twelf, and I'm not promoting my own
research. I am strictly a user, and I've found--as a user--that Twelf
is a terrific tool.
I now do nearly all of my meta-theory in machine-checked form, and it's
not just me. For all of our students, it's now de rigueur to do their
development in Twelf, unless there's some reason not to. This is not
because we insist; it is because if it's feasible, it's clearly the
right thing to do. So while I understand that people are apprehensive
about adopting a new way of doing things, it's not uncharted territory.
At CMU we are doing it this way today.
I'm not going to claim that Twelf is perfect, because it's not, but I
will say that I have hardly ever (only once, in fact) encountered
obstacles I could not work around. In fact, once you learn the ropes,
things usually go smoothly. I would say that the situation is already
far from embarassing, and the tools are getting better all the time.
In my experience, when one does run into problems, it's never in the
process of representing the logic. Rather, it's in getting the proof to
go through while working within the limitations of the Twelf
meta-logic. (This is why I'm eager for the conversation to move on from
"can you do this or that in HOAS," because I've never once had trouble
in that arena. I suppose it's possible I've just been lucky!)
Since I'm sure someone will ask, I'll say what I've found the
problematic limitations to be: First, Twelf's meta-sentences are
limited to Pi-2 form, which makes it impossible to do logical relation
arguments in the meta-logic. Second, Twelf will not let you manipulate
the context in various ways that we find convenient on paper, which
sometimes (rarely) necessitates baroque workarounds. (Our Poplmark
solution uses a fairly benign such example.) Incidentally, Carsten
Schuermann's upcoming Delphin system should ameliorate both problems to
a great extent.
So that's my take. I think that Greg and Benjamin's agendas are
feasible *now*, as evidenced by the fact that we are already doing them
at CMU!
P.S. Greg, I'm surprised that you would say that you never learn
anything from doing safety proofs! I would understand if you said that
reading a complete proof is rarely enlightening, but the process of
putting together proofs has taught me plenty. Indeed, I remember
instances in work we've done together (TAL, Lambda-R, and especially the
Capability calculus) where bugs in proofs led to important new insights!
-- Karl
More information about the Poplmark
mailing list