Thanks, Ramana!  I think it would be good to compare what I'm doing with how 
things are in HOL4, because 
1) John has always stressed the importance of readability in formal proofs, and 
2) my code looks like it will be a lot simpler than John's mizar.ml or Freek's 
miz.ml.
I know nothing of HOL4, and there is a lot I don't know in general, so you can 
teach me a lot. 

As you expressed reservations about the theorems assoc list in database.ml, 
tell me how DB.fetch is implemented. 

   You can't detect matching braces with regular expressions.

Thanks!  I looked at your link, and I'll study it later.  I think I realized 
that for the emulating the miz3 code that I've actually written, I don't 
actually need this, so I'll write that version first.  

   What you probably need is to define your tactic language with a
   grammar and write a parser for it.

I think I'm done with the HOL Light campl parser, and that Vince already told 
me everything I need.  There's a line 

  else if c = ";" then "parse_qproof \""^(String.escaped s)^"\""

in quotexpander in system.ml, and I just write one line 

let parse_qproof s = (String.sub s 1 (String.length s - 1));;

Now every back-quoted expression `;[...]` becomes a string with no newline or 
bacsklash problems.  Following Freek's miz3.ml, an entire theorem/proof will be 
such an expression `;[...]`, and I'll just write code to turn this string into 
a HOL Light proof.  That doesn't sound very hard to me, but maybe it is, as I'm 
not done yet.  

But maybe I'm missing something, because I don't know what tactic language, 
grammar or parser means.  I looked at your link and got confused right away!  I 
know about syntax and semantics, but grammar is something different!  I'll try 
to learn it about grammar.

   You're going down a route that I think many people do by accident
   and end up in a dead end or with a broken solution.

Thanks for the warning.  Maybe it would be more helpful if you told me how I'm 
replicating work that's already been done in HOL and HOL Light, so I can profit 
from this work instead of reinventing the wheel.  

   HOL4 does not have a separate tactic language. Proof scripts are
   written in SML directly. (The SML implementation will have a parser
   etc. though.)  HOL4 does have a sophisticated parser for the object
   language of HOL terms and types, which I think I've mentioned
   before.

I don't know what this means, but it sounds relevant and important.  

-- 
Best,
Bill 

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to