merged
authorwenzelm
Tue, 14 Jul 2015 19:08:40 +0200
changeset 60725 daf200e2d79a
parent 60721 c1b7793c23a3 (current diff)
parent 60724 4fce5d462afc (diff)
child 60726 6d500a224cbe
merged
--- a/Admin/isatest/isatest-makeall	Tue Jul 14 13:48:03 2015 +0200
+++ b/Admin/isatest/isatest-makeall	Tue Jul 14 19:08:40 2015 +0200
@@ -18,7 +18,7 @@
 function usage()
 {
   echo
-  echo "Usage: $PRG [-l targets] settings1 [settings2 ...]"
+  echo "Usage: $PRG [-x SESSION] [-l SESSIONS] settings1 [settings2 ...]"
   echo
   echo "  Runs isabelle build for specified settings."
   echo "  Leaves messages in ${ERRORLOG} and ${LOGPREFIX} if it fails."
@@ -47,6 +47,7 @@
 [ -d $DISTPREFIX ] || fail "$DISTPREFIX is not a directory."
 
 # build args and nice setup for different target platforms
+BUILD_OPTS=""
 BUILD_ARGS="-v"
 NICE="nice"
 case $HOSTNAME in
@@ -65,6 +66,13 @@
 
 ISABELLE_HOME="$($ISABELLE_TOOL getenv -b ISABELLE_HOME)"
 
+if [ "$1" = "-x" ]; then
+  shift
+  [ "$#" -lt 2 ] && usage
+  BUILD_OPTS="$BUILD_OPTS -x $1"
+  shift
+fi
+
 if [ "$1" = "-l" ]; then
   shift
   [ "$#" -lt 2 ] && usage
@@ -122,7 +130,7 @@
 
     cp $DISTPREFIX/Isabelle/etc/settings.orig $DISTPREFIX/Isabelle/etc/settings
     cat $SETTINGS >> $DISTPREFIX/Isabelle/etc/settings
-    (ulimit -t $MAXTIME; $NICE "$ISABELLE_TOOL" build $BUILD_ARGS >> $TESTLOG 2>&1)
+    (ulimit -t $MAXTIME; $NICE "$ISABELLE_TOOL" build $BUILD_OPTS -- $BUILD_ARGS >> $TESTLOG 2>&1)
 
     if [ $? -eq 0 ]
     then
--- a/Admin/isatest/isatest-makedist	Tue Jul 14 13:48:03 2015 +0200
+++ b/Admin/isatest/isatest-makedist	Tue Jul 14 19:08:40 2015 +0200
@@ -100,7 +100,7 @@
 
 ## spawn test runs
 
-$SSH lxbroy10 "$MAKEALL $HOME/settings/at64-poly"
+$SSH lxbroy10 "$MAKEALL -x HOL-Proofs $HOME/settings/at64-poly"
 sleep 15
 $SSH lxbroy4 "
   $MAKEALL -l HOL-Library $HOME/settings/at-poly;
--- a/Admin/isatest/settings/at64-poly	Tue Jul 14 13:48:03 2015 +0200
+++ b/Admin/isatest/settings/at64-poly	Tue Jul 14 19:08:40 2015 +0200
@@ -22,4 +22,4 @@
 ISABELLE_OUTPUT="$ISABELLE_HOME_USER/heaps"
 ISABELLE_BROWSER_INFO="$ISABELLE_HOME_USER/browser_info"
 
-ISABELLE_BUILD_OPTIONS="threads=1 -x HOL-Proofs"
+ISABELLE_BUILD_OPTIONS="threads=1"
--- a/src/Pure/Isar/proof.ML	Tue Jul 14 13:48:03 2015 +0200
+++ b/src/Pure/Isar/proof.ML	Tue Jul 14 19:08:40 2015 +0200
@@ -498,7 +498,7 @@
     fun err_lost () = error ("Lost goal structure:\n" ^ Display.string_of_thm ctxt goal);
 
     val th =
-      (Goal.conclude (if length (flat propss) > 1 then Thm.norm_proof goal else goal)
+      (Goal.conclude (if length (flat propss) > 1 then Thm.close_derivation goal else goal)
         handle THM _ => err_lost ())
       |> Drule.flexflex_unique (SOME ctxt)
       |> Thm.check_shyps (Variable.sorts_of ctxt)
--- a/src/Pure/goal.ML	Tue Jul 14 13:48:03 2015 +0200
+++ b/src/Pure/goal.ML	Tue Jul 14 19:08:40 2015 +0200
@@ -230,7 +230,9 @@
             result)
           (Thm.term_of stmt);
   in
-    Conjunction.elim_balanced (length props) res
+    res
+    |> length props > 1 ? Thm.close_derivation
+    |> Conjunction.elim_balanced (length props)
     |> map (Assumption.export false ctxt' ctxt)
     |> Variable.export ctxt' ctxt
     |> map Drule.zero_var_indexes