test/Tools/isac/Test_Isac.thy
author Walther Neuper <wneuper@ist.tugraz.at>
Mon, 26 Mar 2018 16:25:01 +0200
changeset 59421 ed3644e3657e
parent 59417 3a7d1c9e91f3
child 59428 ba408e905cce
permissions -rwxr-xr-x
LibraryC: clean source file done
     1 (* Title:  All tests on isac (some outcommented since Isabelle2002-->2009-2)
     2    Author: Walther Neuper 101001
     3    (c) copyright due to license terms.
     4 
     5    Isac's tests are organised parallel to sources: 
     6      "~~/test/Tools/isac" has same directory structure as "~~/src/Tools/isac"
     7    plus
     8      ~~/test/Tools/isac/ADDTESTS
     9      ~~/test/Tools/isac/Minisubpbl: the Lucas-Interpreter's core functionality
    10 -------------------------------------------------------------------------------
    11 
    12 Prepare running tests: see below
    13 Run tests:
    14 $ cd /usr/local/isabisac/
    15 $ export ISABELLE_VERSION=2015 # for libisabelle
    16 $ ./bin/isabelle jedit -l Isac test/Tools/isac/Test_Isac.thy &
    17 *)
    18 
    19 section \<open>Prepare running tests\<close>
    20 text \<open>
    21 Isac encapsulates code as much as possible in structures without open. TODO ProgLang.
    22 This policy conflicts with those tests, which go into functions to details
    23 not declared in the signatures.
    24 
    25 In order to maintain these tests without changes, this has to be done before running tests:
    26 (1) Extend signatures for tests by
    27     ~~$ ./xcoding-to-test.sh
    28     ~~$ ./zcoding-to-test.sh  # -"- + go back to Test_Isac.thy
    29     Running Test_Isac.thy opens all structures, see code after "begin" below.
    30 (2) Clean signatures for coding
    31     ~~$ ./xtest-to-coding.sh
    32     ~~$ ./xtest-to-coding.sh  # -"- + go back to coding (!update thy!)
    33 
    34 ********************* don't forget (2) BEFORE pushing to repository *********************
    35 
    36 The above bash files accomplish query replace in src/Tools/isac:
    37     \<clubsuit>--- ! aktivate for Test_Isac BEGIN ---\* )\<clubsuit> \<longrightarrow> \<clubsuit>--- ! aktivate for Test_Isac BEGIN ---\*)\<clubsuit>
    38     \<clubsuit>( *\--- ! aktivate for Test_Isac END ---\<clubsuit>   \<longrightarrow> \<clubsuit>(*\--- ! aktivate for Test_Isac END ---\<clubsuit>
    39      ^^^ in signature outcommented,                     ^^^ NOT outcommented,
    40          this is status for coding                          this is status for tests
    41 \<close>
    42 
    43 section \<open>code for copy & paste\<close>
    44 text \<open>
    45 "~~~~~ fun , args:"; val () = ();
    46 "~~~~~ and , args:"; val () = ();
    47 
    48 "~~~~~ to  return val:"; val () = ();
    49 
    50 \<close>
    51 section \<open>Run the tests\<close>
    52 text \<open>
    53 * say "OK" to the popup asking for theories to be loaded
    54 * watch the <Theories> window for errors in the "imports" below
    55 \<close>
    56 
    57 theory Test_Isac imports Build_Thydata (* note that imports are WITHOUT open struct ..*)
    58 (*/---------------------- do Minisubpbl before ADDTESTS/All_Ctxt ------------------------------\*)
    59   "ADDTESTS/accumulate-val/Thy_All"
    60   "ADDTESTS/Ctxt"
    61   "ADDTESTS/test-depend/Build_Test"
    62   "ADDTESTS/All_Ctxt"
    63   "ADDTESTS/Test_Units"
    64   "ADDTESTS/course/phst11/T1_Basics"
    65   "ADDTESTS/course/phst11/T2_Rewriting"
    66   "ADDTESTS/course/phst11/T3_MathEngine"
    67   "ADDTESTS/file-depend/BuildC_Test"
    68   "ADDTESTS/session-get_theory/Foo"
    69 (*"ADDTESTS/course/SignalProcess/Build_Inverse_Z_Transform"
    70    ADDTESTS/------------------------------------------- see end of tests *)
    71 (*"~~/test/Pure/Isar/Test_Parsers"           dropped Isabelle2014-->2015 *)
    72 (*"~~/test/Pure/Isar/Pure/Isar/Struct_Deriv" lost at update 2009-2-->2011*)
    73   "~~/test/Pure/Isar/Test_Parse_Term"
    74 (*/---------------------- do Minisubpbl before ADDTESTS/All_Ctxt ------------------------------\*)
    75   "~~/test/Tools/isac/Interpret/ptyps"       (* setup for ptyps.sml    *)
    76   "~~/test/Tools/isac/ProgLang/calculate"    (* setup for calculate.sml*)
    77 
    78 
    79 
    80   "~~/test/Tools/isac/ProgLang/scrtools"     (* setup for scrtools.sml *)
    81   "~~/test/Tools/isac/Knowledge/integrate"   (* setup for integrate.sml*)
    82 (*\---------------------- do Minisubpbl before ADDTESTS/All_Ctxt ------------------------------/*)
    83   "~~/src/Tools/isac/Knowledge/GCD_Poly_OLD" (*not imported by Isac.thy*)
    84   "~~/src/Tools/isac/Knowledge/GCD_Poly_FP"  (*not imported by Isac.thy*)
    85 (*\---------------------- do Minisubpbl before ADDTESTS/All_Ctxt ------------------------------/*)
    86 
    87 begin
    88 
    89 ML {*
    90 (*/-------------------------------------------------------- ! aktivate for Test_Isac BEGIN ---\*)
    91                       (* these vvv test, if funs are intermediately opened in structure 
    92                          in case of errors here consider ~~/./xtest-to-coding.sh      *)
    93   open Kernel;
    94   open Math_Engine;            CalcTreeTEST;
    95   open Lucin;                  appy;
    96   open Inform;                 cas_input;
    97   open Rtools;                 trtas2str;
    98   open Chead;                  pt_extract;
    99   open Generate;               (* NONE *)
   100   open Ctree;                  append_problem;
   101   open Specify;                show_ptyps;
   102   open Applicable;             mk_set;
   103   open Solve;                  (* NONE *)
   104   open Selem;                  e_fmz;
   105   open Stool;                  transfer_asms_from_to;
   106   open Tac;                    (* NONE *)
   107   open Model;                  (* NONE *)
   108   open LTool;                  rule2stac;
   109   open Rewrite;                mk_thm;
   110   open Calc;                   get_pair;
   111   open TermC;                  atomt;
   112   open Celem;                  e_pbt;
   113   open Rule;                   string_of_thm;
   114 (*\--- ! aktivate for Test_Isac END ----------------------------------------------------------/*)
   115 *}
   116 
   117 ML {*
   118 "~~~~~ fun xxx, args:"; val () = ();
   119 *} ML {*
   120 *} ML {*
   121 *}
   122 
   123 ML {*
   124   KEStore_Elems.set_ref_thy @{theory};
   125   (*fun autoCalculate' cI auto = autoCalculate cI auto (*|> Future.join*)*);
   126 *}
   127 
   128 (*---------------------- check test file by testfile -------------------------------------------
   129   ---------------------- check test file by testfile -------------------------------------------*)
   130 section {* trials with Isabelle's functions *}
   131   ML {*"%%%%%%%%%%%%%%%%% start Isabelle %%%%%%%%%%%%%%%%%%%%%%%";*}
   132   ML_file "~~/test/Pure/General/alist.ML"
   133   ML_file "~~/test/Pure/General/basics.ML"
   134   ML_file "~~/test/Pure/General/scan.ML"
   135   ML_file "~~/test/Pure/PIDE/xml.ML"
   136   ML {*"%%%%%%%%%%%%%%%%% end Isabelle %%%%%%%%%%%%%%%%%%%%%%%%%";*}
   137 
   138 section {* test ML Code of isac *}
   139   ML {*"%%%%%%%%%%%%%%%%% start ProgLang.thy %%%%%%%%%%%%%%%%%%%";*}
   140   ML_file          "library.sml"
   141   ML_file          "calcelems.sml"
   142 (*---------------------- do Minisubpbl before ADDTESTS/All_Ctxt --------------------------------
   143   ---------------------- do Minisubpbl before ADDTESTS/All_Ctxt --------------------------------*)
   144   ML_file          "kestore.sml"        (* setup in ADDTEST/accumulate-val/lucas_interpreter.sml*)
   145   ML_file "ProgLang/termC.sml"
   146   ML_file "ProgLang/calculate.sml"      (* requires setup from calculate.thy                    *)
   147   ML_file "ProgLang/rewrite.sml"
   148   ML_file "ProgLang/listC.sml"
   149   ML_file "ProgLang/scrtools.sml"
   150   ML_file "ProgLang/tools.sml"
   151 (*---------------------- do Minisubpbl before ADDTESTS/All_Ctxt --------------------------------
   152   ---------------------- do Minisubpbl before ADDTESTS/All_Ctxt --------------------------------*)
   153   ML {*"%%%%%%%%%%%%%%%%% end ProgLang.thy %%%%%%%%%%%%%%%%%%%%%";*}
   154   ML {*"%%%%%%%%%%%%%%%%% start Minisubpbl %%%%%%%%%%%%%%%%%%%%%";*}
   155   ML_file "Minisubpbl/000-comments.sml"
   156   ML_file "Minisubpbl/100-init-rootpbl.sml"
   157   ML_file "Minisubpbl/150-add-given.sml"
   158   ML_file "Minisubpbl/200-start-method.sml"
   159   ML_file "Minisubpbl/250-Rewrite_Set-from-method.sml"
   160   ML_file "Minisubpbl/300-init-subpbl.sml"
   161   ML_file "Minisubpbl/400-start-meth-subpbl.sml"
   162   ML_file "Minisubpbl/490-nxt-Check_Postcond.sml"
   163   ML_file "Minisubpbl/500-met-sub-to-root.sml"
   164   ML_file "Minisubpbl/530-error-Check_Elementwise.sml"
   165   ML_file "Minisubpbl/600-postcond.sml"
   166   ML {*"%%%%%%%%%%%%%%%%% end Minisubpbl.thy %%%%%%%%%%%%%%%%%%%%%%%";*}
   167   ML {*"%%%%%%%%%%%%%%%%% start Interpret.thy %%%%%%%%%%%%%%%%%%";*}
   168   ML_file "Interpret/mstools.sml"
   169   ML_file "Interpret/ctree.sml"         (*!...!see(25)*)
   170   ML_file "Interpret/ptyps.sml"         (* requires setup from ptyps.thy *)
   171   ML {* (*check_unsynchronized_ref (); ==== trick on error: CUT AND PASTE THIS LINE =========*) *}
   172   ML_file "Interpret/generate.sml"
   173   ML_file "Interpret/calchead.sml"
   174   ML_file "Interpret/appl.sml"          (*complete "WEGEN INTERMED TESTCODE"   *)
   175   ML_file "Interpret/rewtools.sml"
   176   ML_file "Interpret/script.sml"
   177   ML_file "Interpret/solve.sml"
   178   ML_file "Interpret/inform.sml"
   179   ML_file "Interpret/mathengine.sml"    (*!part. WN130804: +check Interpret/me.sml*)
   180   ML {*"%%%%%%%%%%%%%%%%% end Interpret.thy %%%%%%%%%%%%%%%%%%%%";*}
   181   ML {*"%%%%%%%%%%%%%%%%% start xmlsrc.thy %%%%%%%%%%%%%%%%%%%%%";*}
   182   ML_file "xmlsrc/mathml.sml"           (*part.*)
   183   ML_file "xmlsrc/datatypes.sml"        (*TODO/part.*)
   184   ML_file "xmlsrc/pbl-met-hierarchy.sml"(*TODO after 2009-2/part.*)
   185   ML_file "xmlsrc/thy-hierarchy.sml"
   186   ML_file "xmlsrc/interface-xml.sml"     (*TODO after 2009-2*)
   187   ML {*"%%%%%%%%%%%%%%%%% end xmlsrc.thy %%%%%%%%%%%%%%%%%%%%%%%";*}
   188   ML {*"%%%%%%%%%%%%%%%%% start Frontend.thy %%%%%%%%%%%%%%%%%%%";*}
   189   ML_file "Frontend/messages.sml"
   190   ML_file "Frontend/states.sml"
   191   ML_file "Frontend/interface.sml"
   192   ML_file "Frontend/use-cases.sml"
   193 (*WITHOUT inhibit exn WN1130621 Isabelle2012-->13 !thehier! THIS ERROR OCCURS:
   194   ... SAME ERROR HERE ON ISABELLE2012 AS IN ISAC ON ISABELLE2011*)
   195   ML_file          "print_exn_G.sml"
   196   ML {*"%%%%%%%%%%%%%%%%% end Frontend.thy %%%%%%%%%%%%%%%%%%%%%";*}
   197   ML {*"%%%%%%%%%%%%%%%%% start Knowledge %%%%%%%%%%%%%%%%%%%%%%";*}
   198   ML_file "Knowledge/delete.sml"
   199   ML_file "Knowledge/descript.sml"
   200   ML_file "Knowledge/atools.sml"
   201   ML_file "Knowledge/simplify.sml"
   202   ML_file "Knowledge/poly.sml"
   203   ML_file "Knowledge/gcd_poly_ml.sml"
   204   ML_file "Knowledge/gcd_poly_winkler.sml" (*must be after gcd_poly_ml.sml: redefines functions*)
   205   ML_file "Knowledge/rational.sml"
   206   ML_file "Knowledge/equation.sml"
   207   ML_file "Knowledge/root.sml"
   208   ML_file "Knowledge/lineq.sml"
   209 (*ML_file "Knowledge/rooteq.sml"    some complicated equations not recovered from 2002 *)
   210   ML_file "Knowledge/rateq.sml"   (*some complicated equations not recovered from 2002 *)
   211   ML_file "Knowledge/rootrat.sml"
   212   ML_file "Knowledge/rootrateq.sml"(*ome complicated equations not recovered from 2002 *)
   213   ML_file "Knowledge/partial_fractions.sml"
   214   ML_file "Knowledge/polyeq.sml"
   215 (*ML_file "Knowledge/rlang.sml"     much to clean up, similar tests in other files     *)
   216   ML_file "Knowledge/calculus.sml"
   217   ML_file "Knowledge/trig.sml"
   218 (*ML_file "Knowledge/logexp.sml"    not included as stuff for presentation of authoring*) 
   219   ML_file "Knowledge/diff.sml"
   220   ML_file "Knowledge/integrate.sml"
   221   ML_file "Knowledge/eqsystem.sml"
   222   ML_file "Knowledge/test.sml"
   223   ML_file "Knowledge/polyminus.sml"
   224   ML_file "Knowledge/vect.sml"
   225   ML_file "Knowledge/diffapp.sml"        (* postponed to dev. specification | TP-prog. *)
   226   ML_file "Knowledge/biegelinie-1.sml"
   227 (*ML_file "Knowledge/biegelinie-2.sml" since Isabelle2017: "exception Size raised" *)
   228   ML_file "Knowledge/algein.sml"
   229   ML_file "Knowledge/diophanteq.sml"
   230   ML_file "Knowledge/Inverse_Z_Transform/inverse_z_transform.sml"
   231   ML_file "Knowledge/inssort.sml"
   232   ML_file "Knowledge/isac.sml"
   233   ML_file "Knowledge/build_thydata.sml"
   234   ML {*"%%%%%%%%%%%%%%%%% end Knowledge %%%%%%%%%%%%%%%%%%%%%%%%";*}
   235   ML {*"%%%%%%%%%%%%%%%%% start ADDTESTS %%%%%%%%%%%%%%%%%%%%%%%";*}
   236   ML_file "~~/test/Tools/isac/ADDTESTS/libisabelle/mini-test.sml"
   237   ML_file "~~/test/Tools/isac/ADDTESTS/libisabelle/protocol.sml"
   238   ML {*"%%%%%%%%%%%%%%%%% end ADDTESTS %%%%%%%%%%%%%%%%%%%%%%%%%";*}
   239 
   240   ML {*"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";*}
   241   ML {*"%%%%%%%%%%%%%%%%% end Test_Isac %%%%%%%%%%%%%%%%%%%%%%%%";*}
   242   ML {*"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";*}
   243 
   244 section {* history of tests *}
   245 text {*
   246   Systematic regression tests have been introduced to isac development in 2003.
   247   Sanity of the regression tests suffers from updates following Isabelle development,
   248   which mostly exceeded the resources available in isac's development.
   249 
   250   The survey below shall support to efficiently use the tests for isac 
   251   on different Isabelle versions. Conclusion in most cases will be: 
   252 
   253   !!! Use most recent tests or go back to the old notebook
   254       with isac on Isabelle2002. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   255 *}
   256 
   257 
   258 subsection {* isac on Isabelle2015 *}
   259 subsubsection {* Summary of development *}
   260 text {*
   261   * Add signatures from top of thy-hierarchy down to Interpret (not ProgLang).
   262     This complicates Test_Isac, see "Prepare running tests" above.
   263   * Remove TTY interface.
   264   * Re-activate insertion sort.
   265 *}
   266 subsubsection {* State of tests: unchanged *}
   267 subsubsection {* Changesets of begin and end *}
   268 text {*
   269   last changeset with Test_Isac 2f1b2854927a
   270   first changeset with Test_Isac ???
   271 *}
   272 
   273 subsection {* isac on Isabelle2014 *}
   274 subsubsection {* Summary of development *}
   275 text {*
   276   migration from "isabelle tty" --> libisabelle
   277 *}
   278 
   279 subsection {* isac on Isabelle2013-2 *}
   280 subsubsection {* Summary of development *}
   281 text {*
   282   reactivated context_thy
   283 *}
   284 subsubsection {* State of tests *}
   285 text {*
   286   TODO
   287 *}
   288 subsubsection {* Changesets of begin and end *}
   289 text {*
   290   TODO
   291   :
   292   : isac on Isablle2013-2
   293   :
   294   Changeset: 55318 (03826ceb24da) merged
   295   User: Walther Neuper <neuper@ist.tugraz.at>
   296   Date: 2013-12-12 14:27:37 +0100 (7 minutes)
   297 *}
   298 
   299 subsection {* isac on Isabelle2013-1 *}
   300 subsubsection {* Summary of development *}
   301 text {*
   302   Isabelle2013-1 was replaced within a few weeks due to problems with the document model;
   303   no significant development steps for ISAC.
   304 *}
   305 subsubsection {* State of tests *}
   306 text {*
   307   See points in subsection "isac on Isabelle2011", "State of tests".
   308 *}
   309 subsubsection {* Changesets of begin and end *}
   310 text {*
   311   Changeset: 55283 (d6e9a34e7142) notes for resuming work on Polynomial.thy
   312   User: Walther Neuper <neuper@ist.tugraz.at>
   313   Date: 2013-12-03 18:13:31 +0100 (8 days)
   314   :
   315   : isac on Isablle2013-1
   316   :
   317   Changeset: 55279 (130688f277ba) Isabelle2013 --> 2013-1: Test_Isac perfect
   318   User: Walther Neuper <neuper@ist.tugraz.at>
   319   Date: 2013-11-21 18:12:17 +0100 (2 weeks)
   320 
   321 *}
   322 
   323 subsection {* isac on Isabelle2013 *}
   324 subsubsection {* Summary of development *}
   325 text {*
   326   # Oct.13: replaced "axioms" by "axiomatization"
   327   # Oct.13: Mathias Lehnfeld started removing Unsynchornized.ref
   328   # Sep.13: integrated gcd_poly (functional, without Unsychronized.ref) into
   329     simplification of multivariate rationals (without improving the rulesets involved).
   330 *}
   331 subsubsection {* Run tests *}
   332 text {*
   333   Is standard now; this subsection will be discontinued under Isabelle2013-1
   334 *}
   335 subsubsection {* State of tests *}
   336 text {*
   337   See points in subsection "isac on Isabelle2011", "State of tests".
   338   # re-activated listC.sml
   339 *}
   340 subsubsection {* Changesets of begin and end *}
   341 text {*
   342   changeset 52174:8b055b17bd84 --- removed all code concerned with "castab = Unsynchronized.ref"
   343   User: Mathias Lehnfeld <s1210629013@students.fh-hagenberg.at>
   344   Date: Tue Nov 19 22:23:30 2013 +0000
   345   :
   346   : isac on Isablle2013 
   347   :
   348   Changeset: 52061 (4ecea2fcdc2c) --- Build_Isac.thy runs on Isabelle2013
   349   User: Walther Neuper <neuper@ist.tugraz.at>
   350   Date: 2013-07-15 08:28:50 +0200 (4 weeks)
   351 *}
   352 
   353 subsection {* isac on Isabelle2012 *}
   354 subsubsection {* Summary of development *}
   355 text {*
   356   isac on Isabelle2012 is considered just a transitional stage
   357   within the update from Isabelle2011 to Isabelle2013; thus no further development of isac;
   358   For considerations on the transition see 
   359   ~~/src/Tools/isac/Knowledge/Build_Thydata/thy, section "updating isac..".
   360 *}
   361 subsubsection {* Run tests *}
   362 text {*
   363 $ cd /usr/local/isabisac12/
   364 $ ./bin/isabelle jedit -l HOL src/Tools/isac/Build_Isac.thy
   365 $ ./bin/isabelle jedit -l Isac test/Tools/isac/Test_Isac.thy
   366 *}
   367 subsubsection {* State of tests *}
   368 text {*
   369   At least the tests from isac on Isabelle2011 run again.
   370   However, Test_Isac.thy shows erratic behaviour; no errors are obtained when scrolling 
   371   in parallel with evaluation.
   372 
   373   Counting "error in kernel" for Frontend/interface.sml (the tests considered most significant)
   374   yields 69 hits, some of which were already present before Isabelle2002-->2009-2
   375   (i.e. on the old notebook from 2002).
   376 
   377   Now many tests with (*...=== inhibit exn ...*) give a reason or at least the origin:
   378   # === inhibit exn WN1130621 Isabelle2012-->13 !thehier! === ...see Build_Thydata.thy
   379   # === inhibit exn AK110726 === ...reliable work by Alexander Kargl, most likely go back to 2002
   380   # === inhibit exn WN1130701 broken at Isabelle2002 --> 2009-2 === , most likely go back to 2002
   381   Reasons for outcommented tests are also found in Test_Isac.thy near the respective file.sml.
   382 
   383   Some tests have been re-activated (e.g. error patterns, fill patterns).
   384 *}
   385 subsubsection {* Changesets of begin and end *}
   386 text {*  
   387   Changeset: 52051 (35751d90365e) end of improving tests for isac on Isabelle2012
   388   User: Walther Neuper <neuper@ist.tugraz.at>
   389   Date: 2013-07-11 16:58:31 +0200 (4 weeks)
   390   :
   391   : isac on Isablle2012 
   392   :
   393   Changeset: 48757 (74eb3dfc33cc) updated src from Isabelle2011 to Isabelle2012
   394   User: Walther Neuper <neuper@ist.tugraz.at>
   395   Date: 2012-09-24 18:35:13 +0200 (8 months)
   396   ------------------------------------------------------------------------------
   397   Changeset: 48756 (7443906996a8) merged
   398   User: Walther Neuper <neuper@ist.tugraz.at>
   399   Date: 2012-09-24 18:15:49 +0200 (8 months)
   400 *}
   401 
   402 subsection {* isac on Isabelle2011 *}
   403 subsubsection {* Summary of development *}
   404 text {*
   405   isac's mathematics engine has been extended by two developments:
   406   (1) Isabelle's contexts were introduced by Mathias Lehnfeld
   407   (2) Z_Transform was introduced by Jan Rocnik, which revealed
   408     further errors introduced by (1).
   409   (3) "error patterns" were introduced by Gabriella Daroczy
   410   Regressions tests have been added for all of these.
   411 *}
   412 subsubsection {* Run tests *}
   413 text {*
   414   $ cd /usr/local/isabisac11/
   415   $ ./bin/isabelle jedit -l HOL src/Tools/isac/Build_Isac.thy
   416   $ ./bin/isabelle jedit -l Isac test/Tools/isac/Test_Isac.thy
   417 *}
   418 subsubsection {* State of tests *}
   419 text {* 
   420   Systematic efforts outcommented less significant tests by (*...=== inhibit exn ...*) 
   421   and sometimes give reasons for failing tests.
   422   (*...=== inhibit exn AK...*) was done by Alexander Kargl; this is reliable
   423   work, some of which couldn't be revised (and renamed) by WN and thus survived some time.
   424 
   425   The most signification tests (in particular Frontend/interface.sml) run,
   426   however, many "error in kernel" are not caught by an exception.
   427   ------------------------------------------------------------------------------
   428   After the changeset below Test_Isac worked with check_unsynchronized_ref ():
   429   ------------------------------------------------------------------------------
   430   Changeset: 42457 (ca691a84b81a) PROVISIONALLY MADE TESTS RUN with Unsynchronized.ref
   431   User: Walther Neuper <neuper@ist.tugraz.at>
   432   Date: 2012-08-06 10:38:11 +0200 (11 months)
   433 
   434 
   435   The list below records TODOs while producing an ISAC kernel for 
   436   gdaroczy and jrocnik, wich could NOT be done before all tests are RUNNING
   437   (so to be resumed with Isabelle2013-1):
   438   ############## WNxxxxxx.TODO can be found in sources ##############
   439   --------------------------------------------------------------------------------
   440   WN111013.TODO: lots of cleanup/removal in test/../Test.thy
   441   --------------------------------------------------------------------------------
   442   WN111013.TODO: remove concept around "fun init_form", lots of troubles with 
   443   this special case (see) --- why not nxt = Model_Problem here ? ---
   444   --------------------------------------------------------------------------------
   445   WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat, see test/
   446   ... FIRST redesign 
   447   # simplify_* , *_simp_* 
   448   # norm_* 
   449   # calc_* , calculate_*  ... require iteration over all rls ...
   450   ... see --- val rls = calculate_RootRat > calculate_Rational --- CONTINUE !
   451   --------------------------------------------------------------------------------
   452   WN111014.TODO fun prep_rls | !!!use this function in ruleset' := !!!
   453   --------------------------------------------------------------------------------
   454   WN120314 changeset a393bb9f5e9f drops root equations.
   455   see test/Tools/isac/Knowledge/rootrateq.sml 
   456   --------------------------------------------------------------------------------
   457   WN120317.TODO changeset 977788dfed26 dropped rateq:
   458   # test --- repair NO asms from rls RatEq_eliminate --- shows error from 2002
   459   # test --- solve (1/x = 5, x) by me --- and --- x / (x ^ 2 - 6 * x + 9) - ...:    
   460     investigation Check_elementwise stopped due to too much effort finding out,
   461     why Check_elementwise worked in 2002 in spite of the error.
   462   --------------------------------------------------------------------------------
   463   WN120317.TODO postponed test/../ratinal,ratinal2.sml to joint work with dmeindl 
   464   --------------------------------------------------------------------------------
   465   WN120317.TODO found by test --- interSteps for Schalk 299a --- that 
   466     NO test with 'interSteps' is checked properly (with exn on changed behaviour)
   467   --------------------------------------------------------------------------------
   468   WN120317.TODO test --- Matthias Goldgruber 2003 rewrite orders --- has
   469     a newly outcommented test where rewrite_set_ make_polynomial --> NONE
   470   --------------------------------------------------------------------------------
   471   WN120320.TODO check-improve rlsthmsNOTisac:
   472   DONE make test --- old compute rlsthmsNOTisac by eq_thmI'
   473   DONE compare rlsthmsNOTisac in thms-survey-Isa02-Isa09-2.sml .. Isac.thy 
   474   FOUND 120321: Theory.axioms_of doesnt find LENGTH_CONS etc, thus are in Isab
   475   # mark twice thms (in isac + (later) in Isabelle) in Isac.thy
   476   --------------------------------------------------------------------------------
   477   WN120320.TODO rlsthmsNOTisac: replace twice thms ^
   478   --------------------------------------------------------------------------------
   479   WN120320.TODO rlsthmsNOTisac: reconsider design of sym_* thms, see test
   480   --- OLD compute rlsthmsNOTisac by eq_thmID ---: some are in isab, some in isac.
   481   --------------------------------------------------------------------------------
   482   WN120321.TODO rearrange theories:
   483     Knowledge
   484       :
   485       Atools.thy
   486       ///Descript.thy --> ProgLang
   487       Delete.thy   <--- first_Knowledge_thy (*mv to Atools.thy*)
   488     ProgLang: restructure Build_Isac.thy such that no xmlsrc.thy, ProgLang.thy
   489           Interpret.thy are generated (simplifies xml structure for theories)
   490       Script.thy
   491       Tools.thy
   492       ListC.thy    <--- first_Proglang_thy
   493   --------------------------------------------------------------------------------
   494   WN120321.TODO reanimate test/../simplify.sml: CAS-command Simplify
   495       EXN "simplify.sml: diff.behav. CAScmd: Simplify (2*a + 3*a)"
   496   broken during work on thy-hierarchy
   497   --------------------------------------------------------------------------------
   498   WN120321.TODO LAST in IsacScripts + in IsacKnowledge, see
   499   test --- the_hier (get_thes ()) (collect_thydata ())---
   500   --------------------------------------------------------------------------------
   501   WN120405a.TODO src/../pbl-met-hierarchy.sml: fun pbl2term--> Isac' instead Isac_
   502   !!add mutual crossreferences to ?fun headline??? where the same has to be done:
   503   !!OR BETTER: use only 2 functions for adding/removing "'" to/from thy!!
   504   --------------------------------------------------------------------------------
   505   WN120409.TODO replace "op mem" (2002) with member (2011) ... 
   506   ... an exercise interesting for beginners !
   507   --------------------------------------------------------------------------------
   508   WN120411 scanning html representation of newly generated knowledge:
   509   * thy:
   510   ** Theorems: only "Proof of the theorem" (correct!)
   511                and "(c) isac-team (math-autor)"
   512   ** Rulesets: only "Identifier:///"
   513                and "(c) isac-team (math-autor)"
   514   ** IsacKnowledge: link to dependency graph (which needs to be created first)
   515   ** IsacScripts --> ProgramLanguage
   516   *** Tools: Theorems: arity_type_cp, arity_type_nam, ... wegnehmen
   517   
   518   * pbl: OK !?!
   519   * met: OK !?!
   520   * exp: 
   521   ** Z-Transform is missing !!!
   522   ** type-constraints !!!
   523   --------------------------------------------------------------------------------
   524   WN120417: merging xmldata revealed:
   525   ..............NEWLY generated:........................................
   526   <THEOREMDATA>
   527     <GUH> thy_isab_Fun-thm-o_apply </GUH>
   528     <STRINGLIST>
   529       <STRING> Isabelle </STRING>
   530       <STRING> Fun </STRING>
   531       <STRING> Theorems </STRING>
   532       <STRING> o_apply </STRING>
   533     </STRINGLIST>
   534       <MATHML>
   535         <ISA> (?f o ?g) ?x = ?f (?g ?x) </ISA>
   536       </MATHML>  <PROOF>
   537       <EXTREF>
   538         <TEXT> Proof of the theorem </TEXT>
   539         <URL> http://www.ist.tugraz.at/projects/isac/www/kbase/thy/browser_info/HOL/HOL-Real/Isac/Fun.html </URL>
   540       </EXTREF>
   541     </PROOF>
   542     <EXPLANATIONS> </EXPLANATIONS>
   543     <MATHAUTHORS>
   544       <STRING> Isabelle team, TU Munich </STRING>
   545     </MATHAUTHORS>
   546     <COURSEDESIGNS>
   547     </COURSEDESIGNS>
   548   </THEOREMDATA>
   549   ..............OLD FORMAT:.............................................
   550   <THEOREMDATA>
   551     <GUH> thy_isab_Fun-thm-o_apply </GUH>
   552     <STRINGLIST>
   553       <STRING> Isabelle </STRING>
   554       <STRING> Fun </STRING>
   555       <STRING> Theorems </STRING>
   556       <STRING> o_apply </STRING>
   557     </STRINGLIST>
   558     <THEOREM>
   559       <ID> o_apply </ID>
   560       <MATHML>
   561         <ISA> (?f o ?g) ?x = ?f (?g ?x) </ISA>
   562       </MATHML>
   563     </THEOREM>
   564     <PROOF>
   565       <EXTREF>
   566         <TEXT> Proof of the theorem </TEXT>
   567         <URL> http://www.ist.tugraz.at/projects/isac/www/kbase/thy/browser_info/HOL/HOL-Real/Isac/Fun.html </URL>
   568       </EXTREF>
   569     </PROOF>
   570     <EXPLANATIONS> </EXPLANATIONS>
   571     <MATHAUTHORS>
   572       <STRING> Isabelle team, TU Munich </STRING>
   573     </MATHAUTHORS>
   574     <COURSEDESIGNS>
   575     </COURSEDESIGNS>
   576   </THEOREMDATA>
   577   --------------------------------------------------------------------------------
   578 *}
   579 subsubsection {* Changesets of begin and end *}
   580 text {*
   581   isac development was done between these changesets:
   582   ------------------------------------------------------------------------------
   583   Changeset: 42519 (1f3b4270363e) meeting dmeindl: added missing files
   584   User: Walther Neuper <neuper@ist.tugraz.at>
   585   Date: 2012-09-24 16:39:30 +0200 (8 months)
   586   :
   587   : isac on Isablle2011
   588   :
   589   Changeset:41897 (355be7f60389) merged isabisac with Isabelle2011
   590   Branch: decompose-isar 
   591   User: Walther Neuper <neuper@ist.tugraz.at>
   592   Date: 2011-02-25 13:04:56 +0100 (2011-02-25)
   593   ------------------------------------------------------------------------------
   594 *}
   595 
   596 subsection {* isac on Isabelle2009-2 *}
   597 subsubsection {* Summary of development *}
   598 text {*
   599   In 2009 the update of isac from Isabelle2002 started with switching from CVS to hg.
   600   The update was painful (bridging 7 years of Isabelle development) and cut short 
   601   due to the start of introducing Isabelle's contexts (Mathias Lehnfeld) and
   602   going on to Isabelle2011 although most of the tests did not run.
   603 *}
   604 subsubsection {* Run tests *}
   605 text {*
   606   WN131021 this is broken by installation of Isabelle2011/12/13,
   607   because all these write their binaries to ~/.isabelle/heaps/..
   608 
   609   $ cd /usr/local/isabisac09-2/
   610   $ ./bin/isabelle emacs -l HOL src/Tools/isac/Build_Isac.thy
   611   $ ./bin/isabelle emacs -l Isac src/Tools/isac/Test_Isac.thy
   612   NOT THE RIGHT VERSION.....    test/Tools/isac/Test_Isac.thy !!!
   613 *}
   614 subsubsection {* State of tests *}
   615 text {* 
   616   Most tests are broken by the update from Isabelle2002 to Isabelle2009-2.
   617 *}
   618 subsubsection {* Changesets of begin and end *}
   619 text {*
   620   isac development was done between these changesets:
   621   ------------------------------------------------------------------------------
   622   Changeset: 38115 (940a5feea094) Little improvements of isac-plugin
   623   Branch: decompose-isar 
   624   User: Marco Steger <m.steger@student.tugraz.at>
   625   Date: 2011-02-06 18:30:28 +0100 (2011-02-06)
   626   :
   627   : isac on Isablle2009-2
   628   :
   629   Changeset: 37870 (5100a9c3abf8) created branch isac-from-Isabelle2009-2
   630   Branch: isac-from-Isabelle2009-2 
   631   User: Walther Neuper <neuper@ist.tugraz.at>
   632   Date: 2010-07-21 09:59:35 +0200 (2010-07-21)
   633   ------------------------------------------------------------------------------
   634 *}
   635 
   636 subsection {* isac on Isabelle2002 *}
   637 subsubsection {* Summary of development *}
   638 text {*
   639   From 1999 to 2010 all the basic functionality (except "ctxt" and "error pattern")
   640   of isac's mathematics engine has been implemented.
   641 *}
   642 subsubsection {* Run tests *}
   643 subsubsection {* State of tests *}
   644 text {* 
   645   All tests work on an old notebook (the right PolyML coudn't be upgraded to more
   646   recent Linux versions)
   647 *}
   648 subsubsection {* Changesets of begin and end *}
   649 text {*
   650   Up to the above Mercurial changeset 5100a9c3abf8 isac used CVS;
   651   see https://intra.ist.tugraz.at/hg/isac containing a conversion to Mercurial.
   652 *}
   653 
   654 end
   655 (*========== inhibit exn 130719 Isabelle2013 ===================================
   656 ============ inhibit exn 130719 Isabelle2013 =================================*)
   657 
   658 (*-.-.-.-.-.-isolate response.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
   659   -.-.-.-.-.-.-isolate response.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*)
   660