test/Tools/isac/Test_Isac.thy
author Walther Neuper <wneuper@ist.tugraz.at>
Thu, 08 Feb 2018 13:20:40 +0100
changeset 59359 107330cc8b6a
parent 59358 8509ca4e79ec
child 59361 76b3141b73ab
permissions -rwxr-xr-x
Isabelle2015->17: test setup for calculate

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