I'm not sure if this is of interest to readers of this thread, but here 
goes:

Elements of Functional Programming, by Chris Reade (a student level 
textbook) has this to say, at pp 396-7:

(talking about type inference)

(quote)
Note that in these inferences, we used T, T-1, ..., as meta type 
variables standing for unknown types and these unknown types may involve 
ordinary type variables such as \alpha, \beta, ... and so on.  There is 
a conceptual distinction between meta variables which we use (outside 
the system) to stand for any type and type variables which are part of 
the type system and also stand for any type.  However we can 
conveniently borrow ordinary type variables for use as meta 
type-variables to simplify the development of an algorithm.
(end quote)

Ie, the last sentence seems to say that although it is a significant 
conceptual distinction, it doesn't really matter.

A related point:  Isabelle (though not HOL) has "explicitly variable" 
variables (for both types and terms), ?a and ?'a, as well as "fixed" 
variables, a and 'a. The ? variables can be substituted for, the others 
can't.  But when a theorem is proved, the non-? variables can be changed 
to ? variables.

I've never really thought about it, but if you'd asked me I would have 
said that I suppose the non-? variables are part of the object language 
and the ? variables are a sort of meta level device.  Which may again 
suggest that a conceptual distinction is not practically significant.

Another related question: Peter has raised the issue of whether a type 
variable is a meta level or an object level notion.
Does it make sense equally to consider whether a non-variable type 
assertion, say x : int, is an object-level assertion, or a meta-level 
statement about an object level term x? I would find it more natural to 
say the former.  But does the answer to that question matter?

Jeremy Dawson



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to