test/Tools/isac/Test_Isac.thy
author Walther Neuper <wneuper@ist.tugraz.at>
Mon, 14 Nov 2016 15:51:10 +0100
changeset 59258 6b1aad933adb
parent 59252 7d3dbc1171ff
child 59259 d1c13ee4e1a2
permissions -rwxr-xr-x
LUCAS_INTERPRETER works in tests

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