On 3 Aug 2012, at 05:49, Michael Norrish wrote: > On 03/08/12 07:48, Bill Richter wrote: >> Back to my earlier question, my miz3 code begins new_type("point",0);; >> new_type_abbrev("point_set",`:point->bool`);; >> new_constant("Line",`:point_set->bool`);; I still don't know what the HOL, or >> HOL4 meaning of this is, but I have a new conjecture: My new_type command >> defines a set called "point", And later when I write let A B C be point; >> that means that the variables A, B & C refer to elements of the set "point" >> Does that sound right? In particular, a type is the name of a set? > > A non-polymorphic type denotes a non-empty ZFC set. We can assume that this > set > is one of the "non-empty sets in the von Neumann cumulative hierarchy formed > before stage ω + ω" (Logic Manual, p10)
That isn't quite right. What the Logic Manual correctly says is that the set-theoretic universe in which HOL types and terms take their values is closed under certain operations and that the set of sets you mention (V_{\omega+\omega}) is a possible universe. It doesn't say that V_{\omega+\omega} is the universe and the axioms don't imply any upper bound on the cardinality of types. > > A polymorphic type is a effectively a function on types; when you instantiate > the type variables you are applying the function to arguments and getting > back > an actual non-empty set. > > When you do a new_type command, the system picks an arbitrary non-empty set > and > identifies your chosen name with that set. Logically, you know nothing at > all > about that type except that it is non-empty. Quite so. In particular, you don't know anything else about its cardinality. It could be V_{\omega+\omega} itself or something much bigger. It would be consistent (but not conservative) to use new_axiom to assert that a type introduced with new_type was a model of HOL or of ZFC, say. This is why I said in a reply to Ramana the other day that new_type really should be accounted for in the Logic Manual: new_constant is equivalent to a special case of constant specification but new_type is not equivalent to a special case of type definition. Regards, Rob. ------------------------------------------------------------------------------ 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