Re: [Hol-info] [isabelle] More on "References about mistakes and gaps in papers"

2020-09-07 Thread Makarius
On 26/05/2020 11:24, Andrei Popescu wrote:
> 
> This message's subject refers to an old thread on the Isabelle mailing
> list, from July 2018. This time, I and my coauthor are the
> protagonists of some "mistakes and gaps"...
> 
> In impressive recent work,
> 
> https://arxiv.org/abs/2002.10212
> 
> Johannes Åman Pohjola and Arve Gengelbach have formalized in HOL4 our
> model-theoretic proof of consistency for (an abstract representation
> of) Isabelle/HOL's logic (http://andreipopescu.uk/pdf/ITP2015.pdf).

I have now taken the time to read the paper: great work, and great to see
interactions of the various people (re)working foundations of HOL with adhoc
overloading.


As I understand it, the particulars of the dependency relation and its
construction from the definitional theory are still to be settled.

Just note that the cited paper [20] (Ondřej Kunčar, CPP 2015) slightly
deviates from the actual implementation
https://isabelle.sketis.net/repos/isabelle/file/Isabelle2020/src/Pure/defs.ML

It would be great if the next wave of formalization could clarify this --- in
a way that I know if and how I should improve the implementation as well.


Makarius


___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] New grammar of defining theorems?

2019-01-03 Thread Makarius
On 03/01/2019 13:20, Chun Tian (binghe) wrote:
> 
> I personally don’t like the keyword “Theorem” because I think many small
> theorems with 3 lines of tactics do not deserve the name “Theorem”. The
> correct way of using these conventions should be aligned with majority
> math books, which I believe there must be some “rules” mentioned somewhere.

Isar started with 'theorem', then added 'lemma' and 'corollary', much
later 'proposition'.

In everyday use 'lemma' quickly became the most popular one. So if there
were only one keyword, it would be 'lemma'.


    Makarius



signature.asc
Description: OpenPGP digital signature
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] New grammar of defining theorems?

2019-01-03 Thread Makarius
On 03/01/2019 11:23, Chun Tian (binghe) wrote:
> Hi Michael,
> 
> thanks for fixing the bugs. (now I see why I can’t find its definition…)
> 
> Going in this direction, have you considered adding also “Lemma” and 
> “Corollary”? Internally they're equivalent with “Theorem”, but they could 
> literally help writers (and readers) identifying different levels of 
> theorems, like those in math books.

This reminds me of Isabelle/Isar. Some decades ago I introduced these
variants of 'theorem' and it became a running gag of confusion and
unclear corner cases, because aliases were not really identical, but
distinguished internally by some tools.

Recently, we even introduced 'proposition' as another variant, but it is
unclear if it is more prominent than 'theorem' or less prominent than
'lemma'. Thus it depends on local conventions of particular
formalization projects how to treat it, e.g. in document presentation.

If I had another chance today, I would probably eliminate all funny
aliases of Isar commands.


Makarius



signature.asc
Description: OpenPGP digital signature
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] QuoteFilter with precise positions

2018-09-05 Thread Makarius
On 28/08/18 03:00, michael.norr...@data61.csiro.au wrote:
> 
> - there is evidently a bug in the position information when the leading 
> delimiter is a Unicode quote mark (the number of bytes gets counted rather 
> than the number of "characters");

With Unicode text it is inherently difficult to say how "characters" are
counted, and thus to say what is right or wrong. Whatever you do is
likely to be wrong in some sense.

Many people think of Unicode characters in the sense of Java or
JavaScript, which used to be UCS-2, but is now UTF-16 (with its 16 or 32
bit chars).

The website https://utf8everywhere.org provides very useful links and
explanations on the many confusions around Unicode, and hints to avoid
most of them.


For internal counting, I would prefer the raw byte address, as we have
it already in our fine SML strings that are undiluted by Unicode. It
allows to access large text chunks quickly without recoding back and forth.

For external purposes, e.g. error messages with characters positions, it
is hard to tell. It depends on the "consumers" that you have in mind: a
Java front-end is likely to expect 16-bit Char addresses. Unix tools are
likely to expect UTF-8 characters in the sense of codepoints. Nothing of
this is smallest textual unit, if you allow official Unicode in its full
complexity (but nobody has implemented that correctly anyway).


Makarius

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] QuoteFilter with precise positions

2018-08-27 Thread Makarius
Dear experts on antiquotations HOL4,

I've looked through tools/Holmake/QuoteFilter, but could not read the
input format -- I am used to functional parser combinators instead of
lex + yacc.

Is there a specification of the input syntax in the documentation? But
it is also changing occasionally, so it might be better to re-use the
existing implementation.

Ultimately I want to turn HOL4 ML source into tokens with precise source
positions, e.g. byte addresses of the original string.

The idea is to continue some experiments with HOL4 inside the Isabelle
Prover IDE, see also https://sketis.net/2015/hol4-workshop-at-cade-25


Makarius

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] Generated machine code of Poly/ML

2018-05-18 Thread Makarius
On 17/05/18 18:12, Mario Xerxes Castelán Castro wrote:
> The Poly/ML mailing list appears to be down at the moment.

David Matthews is the guy behind this. I have contacted him privately,
and he has now updated the webiste http://polyml.org to refer to the
changed URL of the mailing list:
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

David seems to be not subscribed here, so I am posting this on his behalf.


    Makarius

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] PAT_ASSUM doesn't remove the assumption now? (and a theorem cannot be proved in K11 any more)

2017-01-18 Thread Makarius
On 17/01/17 15:24, Chun Tian (binghe) wrote:
> Sorry, I re-checked my Isabelle environment and found that the PolyML in
> Isabelle is actually built by GCC (mingw versions), so my statement
> about "PolyML cannot be built in ..." was completely wrong. The rest
> ideas should still hold.

It is indeed built with MinGW, but that is very difficult to do. See
http://isabelle.in.tum.de/repos/isabelle/raw-file/Isabelle2016-1/Admin/polyml/INSTALL-MinGW
which is just a reminder for me for the precise versions need to be
used. Otherwise it won't work.

Maybe we can open a discussion on the Poly/ML mailing list, if this
rather old version of gcc on MinGW is still needed, or if things can be
updated and simplified.


Concerning system structures in ML, see also:

http://isabelle.in.tum.de/repos/isabelle/raw-file/Isabelle2016-1/src/Pure/ML/ml_system.ML

http://isabelle.in.tum.de/repos/isabelle/raw-file/Isabelle2016-1/src/Pure/System/bash.ML

Here the bash.exe is the one from Cygwin -- that is required for add-on
tools of Isabelle.


Makarius


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] CFP: Logical Frameworks and Meta-Languages: Theory and Practice

2016-03-02 Thread Makarius
Logical Frameworks and Meta-Languages: Theory and Practice
Thursday, 23 June 2016
Affiliated with FSCD
Porto, Portugal
http://dlicata.web.wesleyan.edu/events/lfmtp2016/

Logical frameworks and meta-languages form a common substrate for
representing, implementing, and reasoning about a wide variety of deductive
systems of interest in logic and computer science. Their design and
implementation and their use in reasoning tasks ranging from the correctness
of software to the properties of formal computational systems have been the
focus of considerable research over the last two decades. This workshop will
bring together designers, implementors, and practitioners to discuss various
aspects impinging on the structure and utility of logical frameworks,
including the treatment of variable binding, inductive and co-inductive
reasoning techniques and the expressiveness and lucidity of the reasoning
process.

LFMTP 2016 will provide researchers a forum to present state-of-the-art
techniques and discuss progress in areas such as the following:

* Encoding and reasoning about the meta-theory of programming languages and
related formally specified systems.

* Theoretical and practical issues concerning the treatment of variable
binding, especially the representation of, and reasoning about,
datatypes defined from binding signatures.

* Logical treatments of inductive and co-inductive definitions and
associated reasoning techniques.

* New theory contributions: canonical and substructural frameworks,
contextual frameworks, proof-theoretic foundations supporting binders,
functional programming over logical frameworks, homotopy type theory.

* Applications of logical frameworks, e.g., in proof-carrying
architectures such as proof-carrying authorization.

* Techniques for programming with binders in functional programming
languages such as Haskell, OCaml, or Agda and logic programming languages
such as lambda Prolog or Alpha-Prolog.

== Important Dates ==

Friday, April 8th: Abstract deadline
Wednesday, April 13th: Submission deadline
Friday, May 13th: Notification to authors
Friday, May 27th: Final version due
Thursday, June 23rd: Workshop date

== Submission ==

In addition to regular papers, we also solicit "work in progress"
reports, in a broad sense.  Those do not need to report fully polished
research results, but should be interesting for the community at large.

Submitted papers should be in PDF, formatted using the ACM sigplanconf
style files. The length is restricted to 10 pages for regular papers and
7 pages for "Work in Progress" papers.

Accepted regular papers will be included in the proceedings, which will be
published in ACM digital library in its International Proceedings series.

== Program Committee ==

- Edwin Brady
- Gilles Dowek, co-chair
- Marcelo Fiore
- Andrew Gacek
- Olivier Hermant
- Chantal Keller
- Dan Licata, co-chair
- Bernardo Toninho
- Makarius Wenzel

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] HOL4 build, deps etc.

2015-07-15 Thread Makarius
Dear HOL4 experts,

I am trying to understand HOL4 build management.  After some initial 
struggles, I have managed to make a regular build of everything via 
bin/build.  Now I want to see which sources are used in which canonical 
order.

The file tools/build-sequence appears to specify that abstractly, but I 
want to get the resulting sequences of ML files.  I've looked around 
tools/build.sml and tools/buildutils.sml a bit, and it ultimately seems to 
converge towards Holmake invocations.

The latter is unclear to me.  Which are typical targets, e.g. for the 
kernel or core theories?  Maybe there is even some Holmake command line 
option to ask for used file dependencies of such targets?


Makarius

--
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] HOL workshop, August 2-3

2015-06-25 Thread Makarius
On Thu, 25 Jun 2015, Ramana Kumar wrote:

 Everyone is welcome!

 A draft program can be found on the workshop website:
 https://www.cl.cam.ac.uk/~rk436/hol15/

Thanks for welcoming even non-HOL4 guys like myself.  As can be seen on 
the program, I've got a rather generous slot with hacking and discussion 
about the following topic:

   Isabelle/PIDE/jEdit as integrated development environment for Standard ML

   After more than 7 years of development, Isabelle/PIDE/jEdit is today the
   standard way to interact with that particular proof assistant. In
   Isabelle2015 (May 2015) the TTY-based REPL and its wrapper for Proof
   General / Emacs have already been dismantled. This radical move might be
   taken as an opportunity of the HOL4 community to attract former Isabelle
   users who really do want to use plain TTY interaction. Or as an
   opportunity to discuss possibilities for HOL4 users and developers to
   make their own moves towards full-scale IDE support.

   As a very modest start, I would like to present various possibilities of
   Isabelle/PIDE to operate as IDE for Standard ML, which happens to be the
   underlying language platform of HOL4 as well. This touches various
   facilities of Poly/ML that David Matthews provides specifically to tool
   builders: run-time compiler invocation with IDE feedback, toplevel
   environment management, structured toplevel printing (with markup and
   hyperlinks), and potentially also run-time debugging of SML (still
   unused in Isabelle2015).

   Beyond that it is also possible to integrate any other languages that
   are related or unrelated to the prover platform, using PIDE libraries
   either on the ML or Scala side of that IDE framework.


If anybody has specific interests, it is possible to tell me beforehand 
(privately or here on the list) so that I can adjust the workshop 
presentation accordingly.


Makarius

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical  virtual servers, alerts via email  sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] Isabelle-like advanced rule induction in HOL4?

2015-03-16 Thread Makarius

On Thu, 12 Mar 2015, Michael Norrish wrote:

I’ve made a feature request on Github 
(https://github.com/HOL-Theorem-Prover/HOL/issues/244), which may help 
remind me to implement this very nice feature.  (Not that it *has* to be 
me that implements it…)


Funny.  Note that the Isabelle situation is a bit convoluted after many 
years of advanced induct, induction, coinduct, coinduction.  A bit 
too many authors have worked on cumulatively better versions, but there 
is nobody who understands all details.


Of course, it *has* to be me to clear it out one day, unless some 
unexpected miracle happens.



Makarius--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] The HOL-Omega Tutorial is now available

2013-03-05 Thread Makarius
On Mon, 4 Mar 2013, Peter Vincent Homeier wrote:

 There was a bug in the previous version of the HOL-Omega system which
 prevented it from building with Poly/ML 5.5, the current version of Poly/ML.

 This has been fixed and posted to the public repository for HOL-Omega, 
 and the current version should build correctly. If anyone has tried 
 building HOL-Omega and been frustrated, please try again with this new 
 version of HOL-Omega.

In your changeset https://github.com/mn200/HOL/commit/9b92ae9 you say

   ... caused a type error with Poly/ML version 5.5. This is a difference
   from Poly/ML version 5.3.

Does it mean you were still using old Poly/ML 5.3 until recently?

For Isabelle, the advances from 5.3 to 5.4 to 5.5 made a big difference in 
performance.  5.5 is particularly nice, since it allows to run even big 
sessions in plain-old 32bit address space -- due to the online sharing of 
immutable data that David Matthews is doing now for all of us.

How is the situation for HOL4 concerning Poly/ML performance?


Makarius

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] A new HOL Light tool for verification of nonlinear inequalities

2012-11-27 Thread Makarius
On Fri, 23 Nov 2012, Alexey Solovyev wrote:

   * Page 15:
 move: {1}x a transforms the goal into !x1 a. a + x1 = x + 3, where
 x1 is an automatically generated name.

 How does that compare to SSReflect by Gonthier?  It is one of the very
 few points where SSReflect and Isar agree, to have generated names
 never intrude the proof text implicitly.  Does that actually
 happen above for HOL Light, or is it just the text confusing me?
 
 I'm not sure how this is done in SSReflect/Coq since I rarely used this 
 construction in my SSReflect/Coq proofs (in SSReflect/HOL Light, I'm not 
 using it often either). The SSReflect manual shows a similar example with a 
 similar outcome (see http://hal.inria.fr/inria-00258384, pages 27-28). I 
 agree that this is not a good way to interfere with the proof. Usually, this 
 construction is immediately followed by the introduction tactical = which 
 replaces auto-generated names with user-provided names.

OK, I see the following on page 28 of the SSReflect/Coq manual:

   forall n n0 : nat, n = n0 - G.
   where the name n0 is picked by the Coq display function, and assuming n
   appeared only in G.

I shall probably ask Gonthier about it the next time I see him.

On the other hand, in rare situations even Isar violates its own 
principles about intrusion of generated names into the proof, notably in 
certain induction proofs.


Makarius

--
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] A new HOL Light tool for verification of nonlinear inequalities

2012-11-27 Thread Makarius
On Fri, 23 Nov 2012, Alexey Solovyev wrote:

   * 'have' as subgoal: I reckon it is simular to subgoal_tac in Isabelle
 or its counterpart in HOL.  In Isar, I made this quite different:
 having a first-class notion of proof context, 'have' is just a fresh
 local goal within it, and its result a theorem with certain
 assumptions, which is then re-used in the enclosing proof. This gives
 you more structure and scalability than just goal-modifications in the
 old style.
 
 'have' is implemented via SUBGOAL_THEN in HOL Light. Your implementation of 
 'have' in Isar sounds interesting, but could you give examples when local 
 theorems are better than just subgoals?

After so many years of first-class notion of proof context and local facts 
within it, I find it hard to explain its many benefits.  So here are just 
some aspects to get an idea.

   (1) Occam's razor.  Traditional tactical provers encode local results by
   pushing more and more premises into subgoals.  This is somehow
   indirect: SUBGOAL_TAC and relatives do some logical bookeeping to do
   nothing more than saying you want to use later again what you had
   before already.  To carry around local facts, I don't need logic.  I
   just carry them around (in ML).

   A more basic instance of this principle are multiple facts, e.g.
   groups of related things like LE_1 in arith.ml of HOL-Light from
   today (rev 152).

let LE_1 = prove
  (`(!n. ~(n = 0) == 0  n) /\
(!n. ~(n = 0) == 1 = n) /\
(!n. 0  n == ~(n = 0)) /\
(!n. 0  n == 1 = n) /\
(!n. 1 = n == 0  n) /\
(!n. 1 = n == ~(n = 0))`,

   Here Isar makes an ML list of several thm values, not a thm with
   several propisitions encoded via auxiliary connectives.  Getting rid
   of redundant conjunctions (and auxilary quantifiers) should be
   rather obvious.  If you add management of implicit hyphotheses from
   the context (like Coq sections, Isabelle locales, or rather Isar
   proof contexts) you are coming towards genuine local facts.  Just
   facts within a context, without funny logical decorations.

   In your SSReflect/HOL Light manual you were speaking about the proof
   context in a way that might get close to that already.

   An important aspect of the small-scale reflection of Gonthier's
   original version seems to be similar avoidance of logical
   inconveniences.  Although he is still somehow tied to his type
   theory.

   (2) Structure.  The most basic indication of a structured proof step is
   an indication of its relevant facts: the collection of facts that
   might contribute to it at most.  It is given explicitly.  (Tools
   may also have a secondary context of implicit facts declared as
   hints in the library).

   If you add more and more results from SUBGOAL_TAC to you goal state,
   you get more and more potentially used premises.  This looses
   information to the user.  Which 1 or 2 or 3 of 20 of them contribute
   to the proof?

   (3) Scalability.  Like (2) but affecting automated proof tools.
   Overcrowded goal states slow down proof search, or make it loop.
   Isar has greatly benefitted from explicit fact indication before
   entering the next goal statement.  So relatively heavy automated
   tools have become more useful after the main reform in 1999.

   For example, you write:

 from fact1 fact42 fact99 have XXX by auto

   instead of implicit use from the old times:

 from prems -- 99 things produced before have XXX by auto

   Another aspect of scalability: having many independent 'have' goal
   states in your proof allows the prover to schedule things fexibly
   and in parallel.  It is good to be relived from the one
   central goal state where everything had to be fiddled through
   sequentially.


Makarius

--
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-08-06 Thread Makarius
On Sun, 5 Aug 2012, Konrad Slind wrote:

 My opinion is that Peter Homeier's HOL-Omega is the right setting to 
 properly implement something locale-like, since it provides 
 quantification over type variables in the logic. In plain old HOL the 
 implementation of locales as essentially assumptions on goals is too 
 limiting for polymorphism.

In the 1.5 decades refining Isabelle locales, we have separated these two 
concerns: (1) management of local contexts and definitional specifications 
wrt. local contexts, (2) logical foundations for building actual abstract 
contexts.

(1) is the infrastructure, consisting of quite a bit of abstract 
non-sense.  It is now called local theory in Isabelle.  It provides some 
interfaces for definitions in a local context, where the results are 
polymorphic in the sense of Hindley-Milner, but some types may remain 
fixed according to the context.

(2) are concrete implementations of locales, type classes, type-class 
instantiation, unrestricted overloading etc.  This could cover other 
concepts for modular theories using facilities of HOL-Omega, or external 
theory interpretation as in Isabelle/AWE from Bremen.


Both (1) and (2) are difficult to implement.  We are still working on 
various fine points concerning local syntax (via notation or abbreviation) 
that moves between such local contexts.  Another challenge that I have 
boldly revisited this year is to allow nesting of locale-like contexts.

What is also difficult to get right are declarations for proof tools 
associated with theorems produced in abstract situations, when they start 
moving around to other contexts.  E.g. ways to manage simpset-like 
containers in conformance to abstract theories and their interpretations 
by concrete instances.

Type classes have turned out an important special case for all that, 
because the abstraction looks concrete, via polymorphic constants with 
some specific type constraints.  Syntax and tool declarationas are often 
stable wrt. type-instantiation of class constants, without further ado.


Makarius

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


Re: [Hol-info] Proof assistants for way more people

2012-07-19 Thread Makarius
On Thu, 19 Jul 2012, Freek Wiedijk wrote:

 Doesn't the Isabelle kernel now have a feature that you can postpone 
 proving a thm and still already being allowed to use it?  I think 
 Makarius put that in the kernel especially to be able to parallelize 
 Isabelle proof checking on multi-core machines?

Yes, this concept is called proof promise.  See page 5 of my PLMMS 2009 
paper http://www4.in.tum.de/~wenzelm/papers/parallel-isabelle.pdf

Note that at the bottom right of page 5, the two main kernel rules 
(promise) and (fulfill) have been simplified later: \Pi_2 is required to 
be empty (all pending promises already fulfilled) and the \Pi_2  a check 
becomes obsolete --- it would be hard to implement anyway.

Moreover note that the idea to fork proofs in one context and join later 
in another context hinges on the \Theta_2 = \Theta_1 test of (fulfill). 
This works in Isabelle thanks to theory certificates that were introduced 
by Larry in the 1990-ies, and refined by myself over the years.  HOL4 and 
HOL-Light lack that concept.  (John Harrison keeps asking me every 10 
years what is its purpose :-)


Proof promises are used for parallel proof checking, but the basic concept 
is independent of all that: a promise acts like a polymorphic proof 
constant that can be replaced later on, by substituting with its 
definition.  This is like an implicit let-redex within the conceptual 
proof term language -- LCF systems usually omit that structure in memory.


Contrast promises with oracles, which are polymorphic contants that are 
postulated but never replaced (implemented).  Cf. 'sorry' in Isabelle.

Contrast promises also with ASSUME, which is like a non-polymorphic lambda 
over the proof; it also tends to get in the way of other tools, not just 
the pretty printer.  Cf. Shallow lazy proofs at TPHOLs 2005.


My general plan is to make more aggressive use for proof promises in the 
Isabelle/PIDE interaction model, not just to improve parallelism, but do 
get top-down development by default without the user having to say 'sorry' 
all the time.


Makarius


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


Re: [Hol-info] How do I reinitialize HOL in the command window?

2012-07-06 Thread Makarius
On Wed, 27 Jun 2012, Gottfried Barrow wrote:

 An issue being migrating off of teTeX, if you want to completely get off 
 of Cygwin.

 In Cygwin setup, it shows tetex-extra at version 3.0.0-3.

 At http://www.tug.org/tetex/, it says:

   I (Thomas Esser) have decided not to make new releases of teTeX any
   more (May 2006). The information below might get out of date as time
   goes by.

 But I have batch files and scripts to compile highlighted sections of
 LaTeX with MiKTeX. To compile LaTeX through isabelle latex would
 complicate things, and then Cygwin teTeX being old complicates things,
 so I stick with what's been working for me, but someday I might want
 antiquotations.

http://www.tug.org/texlive/ seems to support Cygwin directly by its own 
installer, without going through the Cygwin package management.  So it 
might be worth trying that.


 I haven't done anything to change the setup for ~~/contrib/cygwin-1.7.9.

Cygwin from 2012 poses some challenges to threads and sockets in Poly/ML, 
rendering it quite unstable for big applications.  This is why I have 
downgraded to cygwin-1.7.9 from spring 2011.

I hope to pick up this loose thread again together with David Matthews. 
It is one of the motivations to take Poly/ML on MinGW into account more 
seriously.  Another would be native x86_64 support that is still unavaible 
for Cygwin after so many years.

This might be also relevant to HOL maintainers, who want to move towards 
more serious support of Poly/ML and Windows.


Makarius

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


Re: [Hol-info] How do I reinitialize HOL in the command window?

2012-06-25 Thread Makarius
On Mon, 25 Jun 2012, Michael Norrish wrote:

 On 25/06/12 05:49, Makarius wrote:

 The bare-bones Cygwin with perl
 and python weights merely 100 MB, the JRE/JDK 200 MB, and avarage Isabelle 
 logic
 image 150 MB.

 Disk space is cheap of course, so being too worried about space is 
 perhaps not such a big deal.  More worrying perhaps is the thought that 
 users may not appreciate having new systems thrown onto their computers 
 if doing so affects things other than their theorem-proving.  My limited 
 experience with Cygwin (independent of any theorem-proving, and a while 
 ago now) is that it could make its presence felt, even in areas where it 
 was not wanted.

Past versions of Cygwin had this principle that there can be only one 
cygwin.dll installed on the system.  So putting one version of it here 
would prevent to install another version there.  Moreover, the installer 
would change various registry entries globally that then affect other 
Cygwins.

With more recent Cygwin 1.7.x is has become possible to make a 
pre-canned Cygwin installation that does not affect anything else.  In 
Isabelle2012 I have packaged it like that for the first time, hopefully 
with some success.  I have also changed some defaults to make HOME the 
actual Windows home, not the one of that particular copy of Cygwin.

This is becoming more and more alien to the Unix guy, but Windows users 
feel more at home with it.


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-05-30 Thread Makarius
On Wed, 30 May 2012, Josef Urban wrote:

 On Wed, May 30, 2012 at 8:19 AM, Bill Richter
 rich...@math.northwestern.edu wrote:

 BTW Makarius seemed to say on the Isabelle group that Mizar is exactly
 FOL with some automation to relieve the tedious parts of FOL.

 Mostly yes. It is (a bit strengthened) ZFC/FOL with small amount of
 second-order automation to handle things like infinite axiom/theorem
 schemes and Fraenkel terms (which behave quite a bit like lambda
 abstractions). The main difference to HOL is that weird sets (like
 von Neuman ordinals) are part of the ZFC universe, which is (at least
 by default) prevented by the strong type discipline in HOL. HOL's
 (type-constrained) higher-order functions map to first-order citizens
 of ZFC. For practical purposes, there does not seem to be much
 difference. An overwhelming part of both systems is first-order
 reasoning.

It is a bit difficult to have discussions stretched over several mailing 
lists ...

Bill has quoted me in a too restrictive sense: I did not say exactly FOL 
about Mizar, but characterization of Mizar by Josef is fine for me.

Concerning Isabelle, I need to try again to work against the standard 
misconceptions by most outsiders.  There are at least 3 different 
conceptual layers involved:

   * Isabelle/Pure as framework for unrestricted natural deduction
 (nothing said about order of the logic yet),

   * Isabelle/Isar as proof language on top of the framework, and

   * Isabelle/HOL as the main application environment, including extra
 tools.

If you start identifying Isabelle/HOL with Isabelle, and pretending that 
it is basically just FOL anyway, than you won't understand Isabelle.

We should probably switch back to the other mailing list to work this out 
further ...


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-05-13 Thread Makarius
On Sun, 13 May 2012, Ramana Kumar wrote:

 On Sat, May 12, 2012 at 11:54 PM, John Harrison
 john.harri...@cl.cam.ac.ukwrote:

 | Does this mean unit lists in HOL Light? :)
 | I'm thinking of adding a check that there are no more than 2^30-1 type
 | variables in the input theorem.

 I don't exclude either possibility yet...


 And what about switching to big integers? (for HOL Zero and/or HOL 
 Light) I thought HOL Zero might be switching to SML at some point 
 anyway?

With unit list John was probably hoping to have a precise model of natural 
numbers in OCaml.  This is not exactly the case, because datatype values 
can have loops in that language:

   let rec uuuh = () :: uuuh;;
   List.length uuuh;;

Anyway, I think we need to find an exit strategy from this endless thread.

Already in October 2009, I've tried to convince Mark that OCaml is not the 
right vehicle for extremely high trustability that he wants to have for 
HOL Zero.  And back then, I did not know all these nasty tricks yet that 
can be learned in the coffee room of LRI, with hardcore experts like 
Filiatre showing off all the boundary cases and neat tricks outside the 
normal mathematics of ML.

This is why SML never became very popular, because it spoils these games.


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-05-08 Thread Makarius
 for bound variables (free ones are named as in 
HOL-Light).  Larry used to have some code that would convert the index 
(unbounded integer) back and forth wrt. a singleton string (essentially an 
8bit integer simulated in SML90 without char type).  When David von Oheimb 
did his Bali formalizations in the late 1990-ies, he hit that wall with 
terms that had more than 255 nested abstractions.  Luckily it was an 
exception, not a kernel flaw.

Back then, I repaired Larry's code and resisted the temptation to upgrade 
the 8bit integer into 16bit.  Instead I made an unbounded representation 
within the string type in the ovious way.


Anyway, for LCF-style kernel design type int and string are often 
interchangeable to identify formal entities.  We have now both 
side-by-side for the main formal entities: types, consts, axioms etc. all 
have a fully-qualified name and a unique integer id in the internal 
tables.  For both I expect immutability and unboundedness, at least in the 
usual approximative sense of concrete machines running out of memory 
eventually.

The main critical operation of the sub-kernel infrastructure is now a 
counter to produce fresh integers.  One could probably do this with 64bit 
word arithmetic and explicit bounds check equally well; it means the 
machine will stop working at some point in the future, and needs to be 
restarted.


 Still, maybe Mark Adams will find a flaw in that reasoning and then I'll 
 change to using unit list instead of int!

For such a high-assurange project, I would recommend judicious use of 
immutable strings or 64 bit bounded machine integers (with explicit 
overflow check), depending on the situation.


Makarius


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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-05-05 Thread Makarius
On Sat, 5 May 2012, Mark wrote:

 Makarius wrote:
 This Obj stuff is absent in SML.

 Yes and I plan to port HOL Zero to SML.  SML is fundamentally safer and 
 better defined than OCaml.  I think I would have used SML from the onset 
 if I knew about these OCaml vulnerabilities.  Although OCaml is nicer in 
 other ways ..

I didn't know you are still planning to switch back to SML.  Anyway, what 
did you find nicer about OCaml?  As I've said, I was a bit scared by its 
proximity to C in many ways, when I did my little YXML implementations in 
3 days (half of the time figuring out semantic snags of OCaml string 
operations and library modules).


 Makarius wrote:
 Moreover, as I have explained to Mark Adams already in a
 similar discussion, one can seal up the toplevel
 interpreter loop, to isolate user scripts from any such
 built-in nonsense.  ...  A managed ML toplevel is again
 one of these layers that would complicate a prover
 implementation, but make it more reliable.  

 These techniques have the effect of removing vulnerabilities, but at the 
 expense of greatly complicating the implementation, perhaps introducing 
 their own vulnerabilities.  What I would really like is an ML 
 interpreter with a toplevel that can be configured to disallow all nasty 
 stuff (e.g. overwriting the 'thm' datatype, or overwriting its pretty 
 printer).

The latter is pretty close to what I've meant above.  In Poly/ML you can 
define how the ML toplevel reads or writes the environment of types, 
values, structures etc. so you can do some sandboxing there in a few pages 
of ML.


 Makarius wrote:
 I've looked at holzero-0.4.1 before and just today at
 holzero-0.5.4.  (I am still hoping to see a really
 convincing independent proof checker for the HOL family
 of systems.)

 In what sense is HOL Zero not a convincincly independent implementation of
 the HOL logic?

I did not look at all details yet.  The project looks generally very 
interesting, to get a dependable external checker for HOL eventually.

For the moment my main observations are:

   * A bit too much extra complication to repair OCaml strings.  If you
 forget just one immutise in a criticial spot, you have a
 vulnerability.  Such things need to be right by default, due to the
 underlying programming language.

   * Still too many obvious attacks are simply declared as forbidden in the
 Bounty.txt.  Here is the copy from holzero-0.5.4 for the record:

- building HOL Zero from a non-standard ML session state (e.g. with parallelism)
- overwriting key ML objects (e.g. the 'thm' datatype or 'get_all_axioms')
- overwriting the pretty printer for key ML datatypes (e.g. 'thm' or 'list')
- circumventing the ML language proper or its type system (e.g. 'Obj.magic')
- circumventing, reconfiguring or interfering with the ML interpreter
- exploiting bugs in the ML interpreter
- changing the operating system environment in which the ML interpreter runs

I reckon that Milner's LCF had less vulnerabilities.

For example, ML with parallel threads should now be standard, not 
non-standard as declared above.  It is merely a historical accident that 
OCaml is still sequential by default.  Your code will require some 
additional refinements to make it thread-safe, which requires some piling 
up of more stuff.  An alternative would be to nail down the environment 
to be always sequential.


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-05-03 Thread Makarius
On Thu, 3 May 2012, Freek Wiedijk wrote:

 This is not very much about HOL as such, so if this reply is 
 inappropriate for the HOL list, I apologise:

I am also a guest here, so we try to behave as best as we can.


 mutating the names of constants.

 I always found this mutable constants complaint silly. Many people 
 make it, but it never struck me as significant.

The question is what is the name of the game you want to play.  Mutable 
term language is not quite LCF approach, where the static type 
discipline is supposed to ensure correctness-by-construction.

For HOL-Light, John always keeps an eye on his sources -- static check by 
human inspection.  The ACL2 guys also manage that by hand in their weakly 
typed language, by restricting the number of people who work on the 
code-base to two. For a huge system with many contributors you can't do 
that.  This is where a robust LCF approach really helps.

Mark Adams occasionally promotes an even more aggressive scenario for HOL 
Zero where he wants to admit potentially malicious users, an army of paid 
proof-workers who want to cheat. (I am not really following him here, we 
are not that far yet.)


 Surely in every practical programming language you can cheat in some 
 way if you try hard enough.  For instance by poking the memory, either 
 internally through some Obj.magic like interface

This Obj stuff is absent in SML.  You can make nonsense with some 
implementations, but we reduce that danger by running with more than one, 
so it is essentially the intersection of the semantics.

Moreover, as I have explained to Mark Adams already in a similar 
discussion, one can seal up the toplevel interpreter loop, to isolate user 
scripts from any such built-in nonsense.  I think the original LCF by 
Milner actually did work like that, since ML was a closed interpreter 
within LISP.  (Unfortunetely, I've only ever seen the sources of Cambridge 
LCF.  Does anybody happen to have the older ones from Edinburgh or 
Standard?)

A managed ML toplevel is again one of these layers that would complicate a 
prover implementation, but make it more reliable.  We don't have that in 
Isabelle, because the malicous scenario is a bit artificial, but there is 
some runtime compiler support to allow the user to work with ML bindings 
in a stateless manner.


 or if you don't get that from your language by poking in /dev/mem?

That's another game.  A computing system consists of many layers.  If you 
have full physical or logical access to critical ones, you can do whatever 
nonsense you want.

Milner had some very important ideas in the 1970-ies how to organize the 
chaos, such that you get mostly real theorems out of it -- by restricting 
to certain layers, and some infrastructure to enforce that.


 What's important is that you won't cheat accidentally, by 
 misunderstanding how things work.

I've recently made my first practical steps in OCaml and was a bit scared 
by its proximity to C.  After 20 years of SML I am probably spoilt by too 
clean programming language semantics.

I did cheat by accident, stumbling over standard semantic traps of 
low-level languages.  Most languages have that, but it does not mean one 
cannot do better.

Again, these oberservations are more relevant to a project like HOL Zero 
than for HOL-Light.  I've looked at holzero-0.4.1 before and just today at 
holzero-0.5.4.  (I am still hoping to see a really convincing independent 
proof checker for the HOL family of systems.) My impression is now that he 
*is* piling up more and more stuff to make up for the semantic weaknesses 
of OCaml for his project.


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-05-03 Thread Makarius
On Thu, 3 May 2012, John Harrison wrote:

 Of course, the ability to understand a system down to the bottom does 
 have real value for those whose intended use is a bit more radical and 
 outside the normal or expected usage model. Besides, I think many people 
 are interested in formalization precisely because they want to have a 
 clearly understood foundation, a kind of search for certainty. So 
 those who are naturally drawn to formalization in the first place may 
 also appreciate being able to understand completely the logical and 
 software engineering foundations of a system.

This is a delicate and very interesting aspect.

A system like HOL-Light has the advantage that the reader gets quickly an 
impression what the basic logic functionality is meant to be.  This gives 
some certainty under additional assumptions, i.e. that the ML really is 
what it seems at first sight, and that certain bad things are not done in 
practice.  (Say someone taking apart terms and mutating the names of 
constants.)

When Mark Adams showed his new HOL0 system for in Cambridge in 2009, he 
did not know yet about these snags of OCaml.  Both type int and string are 
somehow insecure on this platform.  I've also done a tiny bit of OCaml 
implementation myself some weeks ago, and had to look a few days very 
closely what the basic operators mean, say equality on strings.

Sealing up such holes makes the implementation more complex.  For example, 
the Coq people have their own version of int and string that really mean 
int and string in a mathematical sense, without silent overflow or hidden 
mutation.

Driving this further and further, adding infrastructure to address 
weaknesses of the implementation and other side-conditions, you get to a 
highly complex system like Isabelle.  Here the idea is to provide a secure 
and fast environment to the end-user, like an operating system does, but 
the first impression that one could easily understand it is lost.


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-04-25 Thread Makarius
On Tue, 24 Apr 2012, Bill Richter wrote:

 Roger, if there's ``some cultural aversion to the use of axioms in the 
 HOL community,'' then maybe HOL isn't the right proof-checker to use in 
 high school geometry classes.  Does anyone think there is a better 
 proof-checker?  My guess is that this is just an interface problem that 
 HOL could easily solve, and I'm willing to work on it myself.

The strict definitional approach is mainly for foundational purposes, and 
for good reasons.  The HOL community usually quotes Bertrand Russel on 
that:

   The method of postulating what we want has many advantages; they are
   the same as the advantages of theft over honest toil.
   Introduction to Mathematical Philosophy, New York and London, 1919, p 71.

This means things like inductive definitions, datatypes, recursive 
functions are explicitly reduced to basic principles, not axiomatized by 
some magic ML code.  Moreover your own concepts should be defined 
properly, and results stated and proven explicitly.

Nonetheless, this does not prevent the user from working in a local 
context with parameters and assumptions in a quasi-axiomatic manner. 
Your results would then be releative to certain premises my_pred x y z == 
... in terms of the logical foundations.  By organizing such assumptions 
in a reasonable way, your application does not have to expose this to the 
end-user.

Don't ask me how to do that in HOL4, HOL-Light, ... though.  I am merely a 
guest on this mailing list.


Makarius

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


Re: [Hol-info] rigorous axiomatic geometry proof in HOL Light

2012-04-23 Thread Makarius

On Sat, 21 Apr 2012, Bill Richter wrote:

Mizar has a particularly annoying feature of not allowing TABs or the 
symbols for implies etc which Isabelle/Isar (which I never built or 
understood) uses.  So I wrote some emacs code .mizar-isar.el which gets 
around this.  Now I write up my Mizar code in Isar fashion, using the 
forbidden symbols ⇒ ¬ ∨ ∧ ≡ ∀ ∃ ⇔ and not worrying abo


I was occasionally considering to disallow TABs formally in Isabelle/Isar 
as well -- they just introduce too many problems for very little benefit.


To start using Isabelle/Isar you should not build it, just take one of 
the platform-specific distribution bundles from its download page and run 
it.


The different prover platforms all have their own cultural background. 
And for starting a serious project you should try to figure out which 
culture accomodates your own most closely.



Makarius--
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] Quick and easy exchange of ML values via XML/YXML

2012-03-29 Thread Makarius
Dear HOL users,

in the old LISP days, exchange of symbolic data was really trivial, using 
built-in read/write functions for s-expressions. Later things became more 
complex in ML, and especially with XML.

The following tiny library in SML or OCaml makes things again mostly 
trivial: https://bitbucket.org/makarius/yxml/src/

YXML is pronounced Why XML.  It is both the question and answer to the 
problem of concrete transfer syntax of seemingly trivial tree expressions. 
The other part is a rather obvious combinator library to represent typed 
ML expressions over untyped XML, in the same spirit as the ML runtime 
would do that for untyped bits in memory.

Isabelle/ML has included both as standard library functions for quite some 
time already.  Maybe the independent versions above help to bridge over to 
other provers from the HOL family.


Makarius

--
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] LAST CALL FOR WORKSHOP PROPOSALS: TPHOLs 2009

2009-01-07 Thread Makarius

LAST CALL FOR WORKSHOP PROPOSALS: TPHOLs 2009

The 22th International Conference on
Theorem Proving in Higher Order Logics

17 - 20 August 2009   (main conference)
21 August 2009(workshops)
in Munich, Germany

 **
 *  http://tphols.in.tum.de/  *
 **

TPHOLs is a series of international conferences that started in 1988
and brings together researchers working in all areas of interactive
theorem proving.  The main conference will be held on 17 through 20
August 2009 in Munich.  There will be an extra day for associated
workshops: 21 August 2009.


Workshop proposals
--

Workshops to be proposed here as an associated event to TPHOLs 2009
should be related to the general theme of interactive theorem proving
or some of its application areas.  See also the call for papers of the
main conference to get an idea about the topics covered there.

Both well-established workshops and newer ones are welcome.  The basic
format will be that of a one day event on 21 August 2009, after the
main conference.  Workshop proceedings can be published as a technical
report of TU München, if required.

Proposals or any further questions should be sent by e-mail to the
TPHOLs 2009 workshop chair: Makarius Wenzel makar...@sketis.net

Please include the following information in particular:

  * Workshop name and abbreviation
  * Names and affiliations of organizers
  * Topics covered by the workshop, possibly with some links to
websites of earlier instances of the workshop.


Important Dates
---
Submission of proposals:15 January 2009
Notification:   31 January 2009
Workshops:  21 August 2009--
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] polyml thread support

2008-11-10 Thread Makarius
On Sun, 9 Nov 2008, Lu Zhao wrote:

 Can I use the thread support in PolyML to do this task? and how? I'd
 like to run a ML function, which runs a HOL proof, for a certain amount
 of time, say 20 seconds

See also the thread Are timeouts possible in HOL (mosml or poly)? on 
this list (August 2008): 
http://sourceforge.net/mailarchive/message.php?msg_name=E1KOtVj-0008Aq-00%40mta1.cl.cam.ac.uk

When working with threads in Poly/M,L I do recommend the latest version 
5.2.1.  Before there is a problem with GC and internal wait that can 
produce a deadlock (very rarely).

Other examples for working with Poly/ML threads are available here: 
http://isabelle.in.tum.de/repos/isabelle/file/tip/src/Pure/Concurrent/


Makarius


-
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=100url=/
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] CALL FOR WORKSHOP PROPOSALS: TPHOLs 2009

2008-11-07 Thread Makarius
CALL FOR WORKSHOP PROPOSALS: TPHOLs 2009

The 22th International Conference on
Theorem Proving in Higher Order Logics

17 - 20 August 2009   (main conference)
21 August 2009(workshops)
in Munich, Germany

 **
 *  http://tphols.in.tum.de/  *
 **

TPHOLs is a series of international conferences that started in 1988
and brings together researchers working in all areas of interactive
theorem proving.  The main conference will be held on 17 through 20
August 2009 in Munich.  There will be an extra day for associated
workshops: 21 August 2009.


Workshop proposals
--

Workshops to be proposed here as an associated event to TPHOLs 2009
should be related to the general theme of interactive theorem proving
or some of its application areas.  See also the call for papers of the
main conference to get an idea about the topics covered there.

Both well-established workshops and newer ones are welcome.  The basic
format will be that of a one day event on 21 August 2009, after the
main conference.  Workshop proceedings can be published as a technical
report of TU München, if required.

Proposals or any further questions should be sent by e-mail to the
TPHOLs 2009 workshop chair: Makarius Wenzel [EMAIL PROTECTED]

Please include the following information in particular:

  * Workshop name and abbreviation
  * Names and affiliations of organizers
  * Topics covered by the workshop, possibly with some links to
websites of earlier instances of the workshop.


Important Dates
---
Submission of proposals:15 January 2009
Notification:   31 January 2009
Workshops:  21 August 2009-
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=100url=/___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


Re: [Hol-info] Are timeouts possible in HOL (mosml or poly)?

2008-08-02 Thread Makarius
On Fri, 1 Aug 2008, Mike Gordon wrote:

 Does anyone know if it is possible to run a function (e.g. SIMP_CONV 
 arith_ss []) for a fixed time and then fail on timeout. I vaguely 
 remember that there was no way to do this, but want to double check.

This is reasonably easy in recent versions of Poly/ML (5.1 or 5.2), thanks 
to support for (native) Posix threads.  The basic idea is to have a 
watchdog interrupt the current worker after some time:


structure TimeLimit =
struct

exception TimeOut;

fun timeLimit time f x = uninterruptible (fn restore_attributes = fn () =
  let
val worker = Thread.self ();
val timeout = ref false;
val watchdog = Thread.fork (fn () =
  (OS.Process.sleep time; timeout := true; Thread.interrupt worker), []);

(*RACE! timeout signal vs. external Interrupt*)
val result = Exn.capture (restore_attributes f) x;
val was_timeout = (case result of Exn.Exn Interrupt = ! timeout | _ = 
false);

val _ = Thread.interrupt watchdog handle Thread _ = ();
  in if was_timeout then raise TimeOut else Exn.release result end) ();

end;


The interface emulates the TimeLimit structure of SML/NJ, even though that 
platform is no longer used seriously.

See also the first part of 
http://isabelle.in.tum.de/repos/isabelle/file/Isabelle2008/src/Pure/ML-Systems/multithreading_polyml.ML
 
for the actual source, including some of our auxiliary combinators for 
changing thread attributes (interrruptibility etc.).


Makarius

-
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=100url=/
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info


[Hol-info] CFP - Programming Languages for Mechanized Mathematics Systems 2008

2008-01-31 Thread Makarius
---

   Jacques Carette (Co-Chair) (McMaster University, Canada)
   John Harrison  (Intel Corporation, USA)
   Hugo Herbelin  (INRIA, Ecole polytechnique, France)
   James McKinna  (Radboud University Nijmegen, Netherlands)
   Ulf Norell (Chalmers University, Sweden)
   Bill Page
   Christophe Raffalli(Universite de Savoie, France)
   Josef Urban(Charles University, Czech Republic)
   Stephen Watt   (ORCCA, University of Western Ontario, Canada)
   Makarius Wenzel (Co-Chair) (Technische Universitaet Muenchen, Germany)
   Freek Wiedijk  (Radboud University Nijmegen, Netherlands)


Important Dates
---

  * Submission deadline - 5 May 2008
  * Notification of acceptance - 6 June 2008
  * Final version - 7 July 2008 (approximately)
  * Workshop - 28-29 July 2008

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info