Le 17.04.13 00:31, Bill Richter a écrit :
>     > That's great you're changing your Q-like module right now to use
>     > the parser instead of strings.
>
>     I'll do it if the new preterm parser gets integrated in HOL Light.
>
> Wow, I meant it was great you were using the parser in HOL4!  But that's even 
> better, if you're porting your HOL4 Q-like module to HOL Light.  Am I getting 
> something wrong?

Let me clarify:
- HOL4 has a module called "Q" (not developped by me) which basically 
replaces some tactics taking a term as input by the same tactics taking 
a preterm as input:
   * taking preterms as input can be done easily because HOL4 contains a 
preterm parser by default
   * the benefit is that it allows to remove type annotations (for the 
same reasons you would like a preterm parser) in many contexts;
   for instance, consider a proof where you use EXISTS_TAC as follows:
   # EXISTS_TAC `f (x:A) (y:B) :C`
   If f already appears in the context of the goal (either the 
assumptions or the conclusion) then there is somehow a way to know that 
f has type `:A->B->C` and thus we would reasonably like HOL(4/Light) to 
find it itself rather than provide it explicitly. This precisely what 
the Q module does in HOL4, it allows you to do instead:
   # Q.EXISTS_TAC `'f x y`
   (note that I used my notation with a " ' " at the beginning to show 
that we are using the a preter parser here; the notation is actually 
different in HOL4, but it is not important for your understanding)
   And similarly for many other tactics which require a term as input

- I did recently a module which does the same job for HOL Light (this is 
why I always refer to it as the "Q-like module"). For reasons that do 
not need to be mentionned here, this module is called "Pa" (for 
*Pa*rse/er/ing/whatever), but, right now instead of working with 
preterms, it works with strings; precisely because there is no preterm 
dedicated parser in HOL Light. Therefore it has the same problems as 
what you mentionned in the post at the origin of this conversation: 
problems in case of new lines and backslashes must be doubled. If the 
preterm parser was present by default in HOL Light, I could update my Pa 
module to take preterms instead of strings as input, and these problems 
would be solved.

-- 
Vincent ARAVANTINOS - PostDoctoral Fellow - Concordia University, Hardware
Verification Group
http://users.encs.concordia.ca/~vincent/


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to