Re: [isabelle-dev] Fwd: [isabelle] Exception in conv.ML

2011-05-30 Thread Andreas Lochbihler
This fix solves the problem with the exception. I tried it with 574613b47583. 
Can you add it to the repository as I do not have wirte access to that.


Thanks,
Andreas

Lawrence Paulson schrieb:

Thank you for looking there! This is the most plausible culprit. But it is 
strange that this problem has arisen before.

A possible fix is to replace the last line of the function timing_depth_tac in 
that file as follows:

  handle PROVE = Seq.empty | THM _ = Seq.empty;

Andreas, do you want to try this and see if it helps?

Larry

On 27 May 2011, at 15:27, Stefan Berghofer wrote:


Hi Larry and Andreas,

there is another occurrence of gconv_rule in Provers/blast.ML
(in function timing_depth_tac). Since the exception is thrown
when invoking blast, this occurrence of gconv_rule may be the
culprit.




--
Karlsruher Institut für Technologie
IPD Snelting

Andreas Lochbihler
wissenschaftlicher Mitarbeiter
Adenauerring 20a, Geb. 50.41, Raum 023
76131 Karlsruhe

Telefon: +49 721 608-48352
Fax: +49 721 608-48457
E-Mail: andreas.lochbih...@kit.edu
http://pp.info.uni-karlsruhe.de
KIT - Universität des Landes Baden-Württemberg und nationales Forschungszentrum 
in der Helmholtz-Gemeinschaft

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] New Testing Infrastructure -- status report

2011-05-30 Thread Lawrence Paulson
Awesome! It looks positively industrial in scale.
Larry

On 30 May 2011, at 08:54, Alexander Krauss wrote:

 Hi all,
 
 In the past weeks, there has been some progress with our new testing
 infrastructure, which I would like to summarize here. Please give
 feedback, ask questions, and discuss.
 
 
 Really fast status for isabelle makeall
 =
 
 Thanks to a new fat server with 24 cores and 130G of RAM, we can now
 run isabelle makeall all in 17-18 minutes. This is done on all
 changesets as they come in, so we always know quickly when the tip of
 the repository breaks.
 
 The reports with logs etc. can all be browsed at
 
  http://isabelle.in.tum.de/reports/Isabelle/
 
 This is a fully functional repository view, annotated with test
 results.
 
 The first column of flashlights represents the status of
 Isabelle_makeall.
 
 
 Developer-initiated tests
 =
 
 Apart from changesets from the official repository, the system also
 considers changesets from a special testboard repository. All
 developers can push their untested changes here, to get some automatic
 feedback. Try it out, it is really convenient.
 
 To use testboard, it is convenient to add the following to your
 ~/.hgrc
 
  [paths]
  testboard = 
 ssh://usern...@macbroy20.informatik.tu-muenchen.de//home/isabelle-repository/repos/testboard
 
 Then, local changes can be pushed to testboard via
 
  hg push -f testboard
 
 and will usually be considered fairly quickly by the scheduler.
 (Note: -f is required, since the testboard repository will usually
 have multiple heads. Never use -f when pushing to the main development
 repository!)
 
 The reports from testboard can be viewed at
 
  http://isabelle.in.tum.de/testboard/Isabelle
 
 Note that testboard should be considered write-only. You should never
 pull from it unless you want to get everybody's unfinished stuff!
 
 
 SML/NJ testing
 ==
 
 Building the HOL image takes ca. 3-4 hours, and a full makeall takes
 ca. 24 hours. This has been prohibitive for pre-push testing with
 SML/NJ, so people generally have fixed issues after getting a failure.
 The new setup supports the same style of working but gives quicker
 feedback. Both the HOL image and makeall are run continuously, so
 there is much quicker feedback.
 
 The third column in the reports view signals the status of SML/NJ
 builds.  Note that the SML_makeall test still excludes a small number
 of sessions which are too big to fit into memory.
 
 
 AFP
 ===
 
 Currently, there is a reduced build of the AFP, which is run
 continuously, but it still excludes Flyspeck_Tame and
 JinjaThreads. When Gerwin is here, we'll try to make this build
 equivalent to the official AFP builds.
 
 The results are signalled in the second column in the reports view.
 
 
 Data collection
 ===
 
 Performance data is collected in every run. When Makarius is available
 again, we must decide on a set of sessions to be run regularly in a
 reproducible environment (i.e., without other jobs or interactive
 activity on the same machine), to get less fluctuation in the
 measurements.
 
 Judgement Day benchmarks are now run continuously on two lxlabbroy
 machines. This is still somewhat preliminary, and I must coordinate
 with Jasmin and Sascha what data should best be collected and how.
 
 Mutabelle benchmarks are run continuously on one lxlabbroy machine in
 pretty much the same way.
 
 The most important weakness at the moment is the lack of good plotting
 facilities for this sort of data. A student (Michael Kerscher) is
 currently working on that, with promising first results.
 
 
 Limitations
 ===
 
 - Missing email notification
 
  Here is some room for discussion: What would be a good notification
  scheme? Since tests are now run continuously, sending an email after
  each run is not really an option. Should we simply go for a daily
  summary? More sophisticated options are possible (e.g., notify the
  author of a broken changeset when all its parents are working), but
  these require some thought.
 
 - Scheduling strategies could be better sometimes
 - Plotting (see above)
 - ...
 
 
 
 Alex
 ___
 isabelle-dev mailing list
 isabelle-...@in.tum.de
 https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] [isabelle] Congruence rules for the code preprocessor

2011-05-30 Thread Lukas Bulwahn

Hi Andreas,


the following ML line should do the job of adding the congruence rule in 
your case:


setup {* Code_Preproc.map_pre (fn ss = ss addcongs [@{thm conj_cong}]) *}

Before we add yet another feature to the code generation setup in Isar, 
we would like to understand your scenario.
Does it occur naturally when setting up the code generator or is it a 
very special corner case in your specifications?



Lukas


On 05/29/2011 04:44 PM, Tobias Nipkow wrote:
Does the current attribute mechanism support selective attributes such 
as [code_inline cong], maybe along the lines of [simp del]? If it 
does, I assume it would be easy to add that information in the place 
that Florian pointed to?


Tobias

Am 28/05/2011 14:45, schrieb Florian Haftmann:

Hi Andreas,


the code generator tutorial mentions that the simpset for the code
preprocessor can apply the full generality of the Isabelle simplifier.
But how can I add anything else other than unfold theorems? The
attributes code_unfold and code_inline do not accept declarations like

declare conj_cong[code_inline cong]

Is there a way in Isar to declare congruence rules to the preprocessor?


no, this can only be done on the ML level, cf.
http://isabelle.in.tum.de/reports/Isabelle/file/0f9534b7ea75/src/Tools/Code/code_preproc.ML#l10. 



Maybe it would be worth thinking about transfering all simpset
declaration attributes also to code_inline.

Hope this helps,
Florian


___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev 



___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] New Testing Infrastructure -- status report

2011-05-30 Thread Jasmin Christian Blanchette
Hi Alex,

 In the past weeks, there has been some progress with our new testing
 infrastructure, which I would like to summarize here. Please give
 feedback, ask questions, and discuss.

Great!! Thanks for the update. I just have one question related to testboard:

 Then, local changes can be pushed to testboard via
 
  hg push -f testboard

I use queues a lot and usually do all testing before I qfinish the queued 
patches. Is there a Mercurial trick to push all the applied queues without 
qfinishing them first?

Jasmin

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] New Testing Infrastructure -- status report

2011-05-30 Thread Alexander Krauss

  hg push -f testboard


I use queues a lot and usually do all testing before I qfinish the queued 
patches. Is there a Mercurial trick to push all the applied queues without qfinishing 
them first?


hg push -f actually does push applied mq patches as normal changesets, 
so it should do exactly what you want.


Alex

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Latex issue (Fwd: isabelle dist build failed)

2011-05-30 Thread Lawrence Paulson
My impression from fooling around a little is that this is a bug that has been 
around for a year and a half. The comment seems to suggest that | no longer 
works as an index item (even when protected using), so we have to give up 
index entries for the symbols | and |-|. I wonder whether there is some sort of 
workaround?

http://r.789695.n4.nabble.com/Recent-TeX-changes-and-R-package-manuals-td956056.html

 (ii) there have been intermittent problems with (LaTeX) special 
 characters in indices.  But (hyperref 6.79d) 
 
Full support of makeindex’s encap feature (e.g. 
\index{alpha|textbf}). \hyperpage and the formatting command are 
cascaded via \hyperindexformat. Internally \index{alpha|textbf} is 
transferred to \index{alpha|hyperindexformat{\textbf}}. 
\hyperindexformat calls the formatting command in its first argument 
with the page range as argument that is put into \hyperpage. The 
formatting command may call \hyperpage itself, it will be disabled 
automatically to prevent nested \hyperpage commands. 
 
 has broken '|' as an index item ('||' was already broken) so I added 
 some special-casing (this does look like a bug in hyperref). 

Larry

On 30 May 2011, at 09:39, Alexander Krauss wrote:

 Hi all,
 
 The nightly isatest stopped working after the tex distribution on our servers 
 was updated to Tex Live 2010 (at least we suspect that this is the cause of 
 the problem).
 
 This seems to be an obscure latex problem that arises when buliding 
 doc-src/Logics. It seems that the (generated!) file logics.ind is somehow 
 malformed, which makes the subsequent tex run crash.
 
 Could someone who knows more about this document setup look into this issue?
 
 Steps to reproduce:
 
 * Log into macbroy20-28
 * On some repository clone, go to ~~/doc-src/Logics and run
 
  make clean dvi
 
 
 Note that the regular nightly isatest will not run until this is fixed, 
 because it first builds the documentation (as part of the distribution). The 
 new testing framework is not affected by it (since it effectively ignores 
 documentation at the moment).
 
 Alex
 
 
  Original Message 
 Subject: isabelle dist build failed
 Date: Mon, 30 May 2011 00:18:04 +0200
 From: isat...@macbroy28.informatik.tu-muenchen.de (Account Isatest)
 To: kra...@in.tum.de
 
 Could not build isabelle distribution. Log file available at
 macbroy28:/home/isatest/log/isatest-makedist-2011-05-30.log
 ___
 isabelle-dev mailing list
 isabelle-...@in.tum.de
 https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Latex issue (Fwd: isabelle dist build failed)

2011-05-30 Thread Lawrence Paulson
It seems it can be fixed by

(a) using ! rather than | as the sort key (the sorting of special symbols is 
arbitrary anyway)
(b) using \char124 to denote the | symbol

I would expect to see this problem in any index entry involving the | symbol.

Larry

On 30 May 2011, at 14:58, Lawrence Paulson wrote:

 My impression from fooling around a little is that this is a bug that has 
 been around for a year and a half. The comment seems to suggest that | no 
 longer works as an index item (even when protected using), so we have to 
 give up index entries for the symbols | and |-|. I wonder whether there is 
 some sort of workaround?
 
 http://r.789695.n4.nabble.com/Recent-TeX-changes-and-R-package-manuals-td956056.html
 
 (ii) there have been intermittent problems with (LaTeX) special 
 characters in indices.  But (hyperref 6.79d) 
 
   Full support of makeindex’s encap feature (e.g. 
   \index{alpha|textbf}). \hyperpage and the formatting command are 
   cascaded via \hyperindexformat. Internally \index{alpha|textbf} is 
   transferred to \index{alpha|hyperindexformat{\textbf}}. 
   \hyperindexformat calls the formatting command in its first argument 
   with the page range as argument that is put into \hyperpage. The 
   formatting command may call \hyperpage itself, it will be disabled 
   automatically to prevent nested \hyperpage commands. 
 
 has broken '|' as an index item ('||' was already broken) so I added 
 some special-casing (this does look like a bug in hyperref). 
 
 Larry
 
 On 30 May 2011, at 09:39, Alexander Krauss wrote:
 
 Hi all,
 
 The nightly isatest stopped working after the tex distribution on our 
 servers was updated to Tex Live 2010 (at least we suspect that this is the 
 cause of the problem).
 
 This seems to be an obscure latex problem that arises when buliding 
 doc-src/Logics. It seems that the (generated!) file logics.ind is somehow 
 malformed, which makes the subsequent tex run crash.
 
 Could someone who knows more about this document setup look into this issue?
 
 Steps to reproduce:
 
 * Log into macbroy20-28
 * On some repository clone, go to ~~/doc-src/Logics and run
 
 make clean dvi
 
 
 Note that the regular nightly isatest will not run until this is fixed, 
 because it first builds the documentation (as part of the distribution). The 
 new testing framework is not affected by it (since it effectively ignores 
 documentation at the moment).
 
 Alex
 
 
  Original Message 
 Subject: isabelle dist build failed
 Date: Mon, 30 May 2011 00:18:04 +0200
 From: isat...@macbroy28.informatik.tu-muenchen.de (Account Isatest)
 To: kra...@in.tum.de
 
 Could not build isabelle distribution. Log file available at
 macbroy28:/home/isatest/log/isatest-makedist-2011-05-30.log
 ___
 isabelle-dev mailing list
 isabelle-...@in.tum.de
 https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
 

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] Latex issue (Fwd: isabelle dist build failed)

2011-05-30 Thread Lawrence Paulson
There were broken index entries in most of the old documentation. For some 
reason, the | symbol didn't cause a problem in the tutorial. One index entry 
here was fixed to use ?? (as opposed to !) as the sort key.
Larry

On 30 May 2011, at 15:28, Lawrence Paulson wrote:

 It seems it can be fixed by
 
 (a) using ! rather than | as the sort key (the sorting of special symbols is 
 arbitrary anyway)
 (b) using \char124 to denote the | symbol
 
 I would expect to see this problem in any index entry involving the | symbol.
 
 Larry
 
 On 30 May 2011, at 14:58, Lawrence Paulson wrote:
 
 My impression from fooling around a little is that this is a bug that has 
 been around for a year and a half. The comment seems to suggest that | no 
 longer works as an index item (even when protected using), so we have to 
 give up index entries for the symbols | and |-|. I wonder whether there is 
 some sort of workaround?
 
 http://r.789695.n4.nabble.com/Recent-TeX-changes-and-R-package-manuals-td956056.html
 
 (ii) there have been intermittent problems with (LaTeX) special 
 characters in indices.  But (hyperref 6.79d) 
 
  Full support of makeindex’s encap feature (e.g. 
  \index{alpha|textbf}). \hyperpage and the formatting command are 
  cascaded via \hyperindexformat. Internally \index{alpha|textbf} is 
  transferred to \index{alpha|hyperindexformat{\textbf}}. 
  \hyperindexformat calls the formatting command in its first argument 
  with the page range as argument that is put into \hyperpage. The 
  formatting command may call \hyperpage itself, it will be disabled 
  automatically to prevent nested \hyperpage commands. 
 
 has broken '|' as an index item ('||' was already broken) so I added 
 some special-casing (this does look like a bug in hyperref). 
 
 Larry
 
 On 30 May 2011, at 09:39, Alexander Krauss wrote:
 
 Hi all,
 
 The nightly isatest stopped working after the tex distribution on our 
 servers was updated to Tex Live 2010 (at least we suspect that this is the 
 cause of the problem).
 
 This seems to be an obscure latex problem that arises when buliding 
 doc-src/Logics. It seems that the (generated!) file logics.ind is somehow 
 malformed, which makes the subsequent tex run crash.
 
 Could someone who knows more about this document setup look into this issue?
 
 Steps to reproduce:
 
 * Log into macbroy20-28
 * On some repository clone, go to ~~/doc-src/Logics and run
 
 make clean dvi
 
 
 Note that the regular nightly isatest will not run until this is fixed, 
 because it first builds the documentation (as part of the distribution). 
 The new testing framework is not affected by it (since it effectively 
 ignores documentation at the moment).
 
 Alex
 
 
  Original Message 
 Subject: isabelle dist build failed
 Date: Mon, 30 May 2011 00:18:04 +0200
 From: isat...@macbroy28.informatik.tu-muenchen.de (Account Isatest)
 To: kra...@in.tum.de
 
 Could not build isabelle distribution. Log file available at
 macbroy28:/home/isatest/log/isatest-makedist-2011-05-30.log
 ___
 isabelle-dev mailing list
 isabelle-...@in.tum.de
 https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev
 
 

___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev


Re: [isabelle-dev] [isabelle] Congruence rules for the code preprocessor

2011-05-30 Thread Lukas Bulwahn

On 05/30/2011 12:33 PM, Andreas Lochbihler wrote:

Hi Lukas,

here is an example that I would have expected to work. However, 
congruences seem to work other than I expected. Du you know what I am 
missing here?


theory Scratch imports Main begin
definition test where test xs = (last xs = 0)
definition test2 where test2 xs = (xs ~= []  test (rev xs))

(* Optimized implementation for test with context condition *)
lemma test_rev: xs ~= [] == test (rev xs) = (hd xs = 0)
unfolding test_def by(simp add: last_rev)

declare conj_cong[cong] test_rev[simp]
thm test2_def test2_def[simplified]

lemma test2 xs = (xs ~= []  test (rev xs))
apply simp
oops

The [simplified] attribute does apply the test_rev equation, but the 
simp method in the proof does. Apparently, the same issue prevents the 
code preprocessor from optimizing the code for test:


The simplifier behaves differently when working with free variables or 
schematic variables.
Tobias can probably give a more precise answer how it behaves 
differently (and why).


I will change the code preprocessor, so that you get the intended behaviour.

It might be worth discussing if the simplified attribute should be 
changed to do the same thing.



Lukas



lemmas [code_inline] = test_rev test_rev[folded List.null_def]
setup {* Code_Preproc.map_pre (fn ss = ss addcongs [@{thm 
conj_cong}]) *}

code_thms test2

test2 is still implemented in terms of test (rev xs)

How can I unfold test_rev in test2_def?




Andreas



___
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev