Thanks, Ramana! I've often wanted Isabelle locales. Are you going to code them in HOL4? For readability I'd like to not "constantly have this annoying TarskiModel hypothesis hanging around," as Michael said, but it would be good to write up a longer version of at least part of my code to show that I can avoid both new_axiom and new_type.
Does you folks know about the Coq work of Vladimir Voevodsky, a mathematician with a Fields medal? http://www.math.ias.edu/~vladimir/Site3/Univalent_Foundations.html Vladimir is even in my subject, homotopy theory, although I don't understand any of his. He says he's working on "new foundations of mathematics", although to my untutored eye, he seems to be formalizing homotopy theory: http://www.math.ias.edu/~vladimir/Foundations_library/toc.html My feeling is that Vladimir's work is a sign that mathematicians and CS folks ought to work together on formal proofs. With this in mind, here are a few dumb questions and points: Why are there so many HOLs, HOL Light, Hol4, Holzero? Why don't you all work on the same program? It kinda seems that HOL4 is the theoreticians and John racks up the theorems. That sounds like a good combination to me! Are you exploring different theoretical possibilities? It sure seems to me that "Working in a Model of ZFC" is more descriptive than HOL. Since working in a model is soooo much more pleasant than strict syntactic FOL proofs, that explains why HOL is more pleasant than FOL, but it doesn't justify the terminology. Maybe I'm missing something. Why are miz3 and Mizar the only proof assistants where one can easily write up human readable proofs? Why can't you write readable declarative proofs in every proof assistant, e.g. HOL4? I'd be happy to port my code to HOL4 or Isabelle if I knew how to write human readable proofs there. Michael seemed to suggest earlier that miz3 was intentionally weakened, and I see no evidence of this. It could be that Mizar is intentionally weak (I've read this is a feature in using Mizar to teach classes), and there are Mizar documents I've been told about, but I really don't care about Mizar. Mizar was a great pioneering effort in human readable proofs, but I don't think Mizar is really part of the formal proofs revolution. Freek's code miz3.ml I think just sets up the format for miz3 code, caching proofs, mixing declarative and procedural, all very impressive hard work, and I've found no bugs. The labor of "by" calculations is done in John's Examples/holby.ml, and it's hard to believe that John would have intentionally weakened his own attempt! I found no evidence of intentionally weakening. Freek, Cris and Rob got me to understand that miz3 is a lot more powerful than I thought. Holby.ml does some simple things and then calls MESON, which has a built-in depth! limit of 50 (I don't know what that means), and MESON only does FOL, not HOL (don't quite get that either). How much weakness do these two facts explain? Could we substitute some other prover for MESON to increase the power of miz3? If someone could look at my 3500 lines of miz3 Hilbert axiomatic geometry code http://www.math.northwestern.edu/~richter/RichterHOL-LightMiz3HilbertAxiomGeometry.tar.gz they could maybe explain what MESON isn't doing because it's FOL. My unlearned opinion is that my Hilbert code uses real HOL, because there I use so much sets (from sets.ml), but my Tarksi code http://www.math.northwestern.edu/~richter/TarskiAxiomGeometry.ml only uses FOL, and therefore MESON should do a better job on my Tarski code than my Hilbert code. But this is just wild speculation on my part. From skimming your sources very superficially, it looks as if the Between 'constant' would need to be a parameter of TarskiModel too. Thanks, Michael! I think I'll have to learn what polymorphism means before I can grok your post. There ought to be examples in the HOL dox of how to define common complicated set-theoretic structures that come up in math all the time. In math one just says A Tarski plane in a set T together with subsets Between subset T^3 Equiv subset T^4 satisfying these 11 axioms. A Hilbert plane H is more complicated, because of congruence being defined not on points but subsets of H. How about this? A topological space is a set X together with a subset of P(X) called the open sets of X, satisfying various properties. If you read something saying that there is no empty set, it's meaning that there is no empty type. Thanks, Michael, that helps a lot! I definitely missed that. I'm just on page 1 (actually 9) of your Logic manual: This model is given in terms of a fixed set of sets U, which will be called the universe and which is assumed to have the following properties. Inhab Each element of U is a non-empty set. I would have thought that U here is a "universe", the set of sets that we're going be allowed to use. However, this paragraph begins with The HOL syntax contains syntactic categories of types and terms whose elements are intended to denote respectively certain sets and elements of sets. I guess I can't even read that. Does that say that an element of a type is a set (or element of a set)? And does that mean that U is not the universe of sets, but instead, the "universe" of types? Shows you what you get from just reading the first page! If I read the whole manual, or even the first chapter, I'd probably understand. -- Best, Bill ------------------------------------------------------------------------------ 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