Hi Bill,

| I'm only going to use the infix `same_side' as if I'd declared it it
| to have your type `point->line->point->bool', but how does HOL Light
| know that? I would have thought HOL Light would require instead
|
| let same_side_DEF = new_definition
|   `! A B be point . ! l be line . A,B same_side  l <=>
|   ~(?X. (X on_line l) /\ Between(A, X, B))`;;
|
| or something, maybe
| ! A:point B:point l:line . [...].

You can certainly make the types explicit, something like this:

  let same_side_DEF = new_definition
    `!A:point B:point l:line. A,B same_side  l <=>
    ~(?X. (X on_line l) /\ Between(A, X, B))`;;

This is potentially useful for documentation and may be necessary
in some cases. However, everything inside `term quotations` undergoes
a type inference phase that will try to infer types based on known
types of constants appearing there. In this case, since "Between" and
"on_line" have known types (as of course do the logical connectives
like "<=>") the types of all the variables get determined and hence
the type of "same_side" follows without any annotations. The process
of type inference uses a variant of the Hindley-Milner algorithm that
is known from languages in the ML family like OCaml.

| My 13yo son can read my Hilbert paper better than I can, and he found
| a ton of errors by going through it line by line.  My skills at
| math-paper-writing-error-detection don't work well at that (for math
| folks) excessively high level of detail.  But HOL Light will keep me
| coding until it's correct!

I am impressed that you already have an efficient proof-checker! But
yes, HOL Light should be even more careful and pedantic than any
human.

John.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to