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