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