On 5 Aug 2012, at 08:18, Bill Richter wrote:

> Thanks, Ramana!  I've often wanted Isabelle locales.  Are you going to code 
> them in HOL4?

Locales are one of the many things that (I believe) make the Isabelle HOL logic 
much more bloated than the original and best HOL logic as supported by HOL4, 
HOL Light, HOL Zero and ProofPower. It might be possible to give a similar 
facility as a bolt-on outside the logic.

>  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
> 

People who don't know about Voevodsky's ideas may like to watch the videos of 
two interesting talks by him:

http://video.ias.edu/voevodsky-80th

http://video.ias.edu/conversations/voevodsky#attachments


> 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?

That's a very long story. HOL4 and ProofPower came first in the early 90s as a 
result of roughly simultaneous efforts in academia (HOL4) and industry 
(ProofPower) to port Mike Gordon's original Classic HOL onto Standard ML. John 
wrote HOL Light a few years later, see 
http://www.cl.cam.ac.uk/~jrh13/papers/holright.html for some of his motivation. 
Holzero is much more recent work by Mark Adams and Mark's website explains his 
rationale. There is also HOL Omega by Peter Homeier, which is an extension of 
HOL4 to support quantification over types.

>  Why don't you all work on the same program?

My reason for sticking with ProofPower is that I know it and that, until 
recently, it was the only HOL that offered civilised logical and mathematical 
notation (foralls and exists and cups and caps etc.) on screen. ProofPower also 
encourages you to make nice LaTeX documents out of your specifications and 
proofs.

>  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?
> 

I don't see it like that. I would say that HOL4 is better documented than HOL 
Light and has a lot more library support for system verification. That said, 
HOL Light is much better documented now than it was in the past. HOL4 is 
probably the system of choice for people doing research in hardware or software 
verification, while HOL Light has got a lot more support for mathematics.

> 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. 
> 

Actually, in HOL you are working in a model of Zermelo set theory with choice, 
not ZFC - there is nothing equivalent to the axiom of replacement in HOL. I 
agree that saying that we work in polymorphic typed set theory gives a better 
idea of the actual mathematical experience than saying it is higher-order logic.

> 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 would say it is because the community has put far more effort into tools that 
make it easier to find proofs and because proof automation conflicts with the 
desire for proof scripts that are readable on their own. For many of us, a 
long-term goal is to provide tools that can outstrip human capability on useful 
classes of problems. We can already do this in some cases, e.g., calculating 
derivatives. If the tool can calculate something for me, why should I have to 
write down the result of the calculation?

Readability of a proof on its own rather than comprehensibility of the proof 
when you replay it and see what happens is a non-trivial research topic in its 
own right. I see it as quite problematic. For a start, readability depends on 
the reader. Very often an expert will be happy with a few strategic pointers 
while a beginner wants lots of detail, so they need to see different 
projections of the proof.

Personally, I find Mizar proofs unreadable. Or rather I have never learnt how 
to read them and don't feel greatly motivated to do so.

> ...
> Thanks, Michael!  I think I'll have to learn what polymorphism means before I 
> can grok your post.

In a typed system, polymorphism gives you the ability to formalise a concept 
like "set union" as a single object "cup" that works for sets of any type, 
providing the types agree. For example, all the HOLs have distinct types for 
natural numbers and for real numbers. Without polymorphism, you would need to 
define distinct functions for all the types you were interested in:

nat_cup : nat SET -> nat SET -> nat SET
real_cup : real SET -> real SET -> real SET
nat_pair_cup (nat x nat) SET -> (nat x nat) SET -> (nat x nat) SET

etc. With polymorphism you define:

cup : 'a SET -> 'a SET -> 'a SET

where "'a" is a so-called type variable. cup then works as if it has every type 
of the form "t SET -> t SET -> t SET".



>  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. 

You may be interested in my ProofPower development of a little bit of 
elementary topology. See:

http://www.lemma-one.com/ProofPower/examples/wrk067.pdf

You will see there how polymorphism can obviate the clunky distinction between 
classes and sets that one gets when working in first-order set theory. I define 
a polymorphic set 'a Topology as the set of all topologies with points of type 
'a. This is then a first-class object representing the class of all topological 
spaces.

> 
>   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)?

It means that types denote sets and terms denote elements.  Each term has a 
unique type and is guaranteed to denote an element of the set denoted by that 
type.

(When you write down a term in the concrete syntax, you don't have to write 
down all the type information associated with it. The tool infers a most 
general possible type for the term and uses that. Abstractly and in the 
underlying represention used in the tool, all the type information is there in 
the term.)

>  And does that mean that U is not the universe of sets, but instead, the 
> "universe" of types?

The denotations of types range over U and the denotations of terms range over 
\bigcup U.

> 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.
> 

The definition of the closure properties required of U finish on the top of the 
second page!

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

Reply via email to