test/Tools/isac/Test_Isac.thy
author Walther Neuper <neuper@ist.tugraz.at>
Sun, 21 Jul 2013 15:08:31 +0200
changeset 52065 41f6e90abf36
parent 52063 5d55c6c812aa
child 52068 8ec8824f61de
permissions -rwxr-xr-x
a bulky chunk of changes

# trials on GCD_Poly
# started to make Test_Isac.thy run
# new term2str
     1 (* Title:  All tests on isac (some outcommented since Isabelle2002-->2009-2)
     2    Author: Walther Neuper 101001
     3    (c) copyright due to lincense terms.
     4 
     5    isac tests 
     6      in ~~/test/Tools/isac are structured according 
     7      to ~~/src/Tools/isac
     8    Additional tests are in
     9      ~~/test/Tools/isac/ADDTESTS
    10      ~~/test/Tools/isac/Minisubpbl
    11 
    12 $ cd /usr/local/isabisac/
    13 $ ./bin/isabelle jedit -l Isac test/Tools/isac/Test_Isac.thy &
    14 *)
    15 
    16 theory Test_Isac imports Isac
    17   "ADDTESTS/Ctxt"
    18   "ADDTESTS/test-depend/Build_Test"
    19   "ADDTESTS/All_Ctxt"
    20   "ADDTESTS/course/phst11/T1_Basics"
    21   "ADDTESTS/course/phst11/T2_Rewriting"
    22   "ADDTESTS/course/phst11/T3_MathEngine"
    23   "ADDTESTS/file-depend/BuildC_Test"
    24   "ADDTESTS/course/SignalProcess/Build_Inverse_Z_Transform"
    25   "../../Pure/Isar/Test_Parsers"
    26 (*"../../Pure/Isar/Pure/Isar/Struct_Deriv" update 2009-2-->2011*)
    27   "../../Pure/Isar/Test_Parse_Term"
    28 
    29 begin
    30 section {* test ML Code of isac *}
    31   ML {*"%%%%%%%%%%%%%%%%% start ProgLang.thy %%%%%%%%%%%%%%%%%%%";*}
    32   ML_file          "library.sml"
    33   ML_file          "calcelems.sml"
    34   ML_file "ProgLang/termC.sml"
    35   ML_file "ProgLang/calculate.sml"
    36   ML_file "ProgLang/rewrite.sml"
    37 (*ML_file "ProgLang/listC.sml"            2002*)
    38   ML_file "ProgLang/scrtools.sml"
    39   ML_file "ProgLang/tools.sml"
    40   ML {*"%%%%%%%%%%%%%%%%% end ProgLang.thy %%%%%%%%%%%%%%%%%%%%%";*}
    41   ML {*"%%%%%%%%%%%%%%%%% start Minisubpbl %%%%%%%%%%%%%%%%%%%%%";*}
    42   ML_file "Minisubpbl/000-comments.sml"
    43   ML_file "Minisubpbl/100-init-rootpbl.sml"
    44   ML_file "Minisubpbl/150-add-given.sml"
    45   ML_file "Minisubpbl/200-start-method.sml"
    46   ML_file "Minisubpbl/300-init-subpbl.sml"
    47   ML_file "Minisubpbl/400-start-meth-subpbl.sml"
    48   ML_file "Minisubpbl/490-nxt-Check_Postcond.sml"
    49   ML_file "Minisubpbl/500-met-sub-to-root.sml"
    50   ML_file "Minisubpbl/530-error-Check_Elementwise.sml"
    51   ML_file "Minisubpbl/600-postcond.sml"
    52   ML {*"%%%%%%%%%%%%%%%%% end Minisubpbl.thy %%%%%%%%%%%%%%%%%%%%%%%";*}
    53   ML {*"%%%%%%%%%%%%%%%%% start Interpret.thy %%%%%%%%%%%%%%%%%%";*}
    54   ML_file "Interpret/mstools.sml"
    55   ML_file "Interpret/ctree.sml"         (*!...!see(25)*)
    56   ML_file "Interpret/ptyps.sml"
    57   ML {* (*check_unsynchronized_ref (); ==== trick on error: CUT AND PASTE THIS LINE =========*) *}
    58 (*TRICK DOESN'T WORK: get_pbt not found: ["IsacKnowledge","Diff","Theorems","diff_sin_chain"]*)
    59   ML_file "Interpret/generate.sml"
    60 (*WITHOUT inhibit exn WN1130621 Isabelle2012-->13 !thehier! THIS ERROR OCCURS:
    61   ... SAME ERROR HERE ON ISABELLE2012 AS IN ISAC ON ISABELLE2011*)
    62   ML_file "Interpret/calchead.sml"
    63   ML_file "Interpret/appl.sml"          (*complete "WEGEN INTERMED TESTCODE"                          *)
    64   ML_file "Interpret/rewtools.sml"      (*complete, isac's Context broken at 2009-2 --> 2011, thehier!*)
    65   ML_file "Interpret/script.sml"
    66   ML_file "Interpret/solve.sml"
    67   ML_file "Interpret/inform.sml"
    68 (*WITHOUT inhibit exn WN1130621 Isabelle2012-->13 !thehier! THIS ERROR OCCURS:
    69   ... SAME ERROR HERE ON ISABELLE2012 AS IN ISAC ON ISABELLE2011*)
    70   ML_file "Interpret/mathengine.sml"    (*!part.*)
    71   ML {*"%%%%%%%%%%%%%%%%% end Interpret.thy %%%%%%%%%%%%%%%%%%%%";*}
    72   ML {*"%%%%%%%%%%%%%%%%% start xmlsrc.thy %%%%%%%%%%%%%%%%%%%%%";*}
    73   ML_file "xmlsrc/mathml.sml"           (*part.*)
    74   ML_file "xmlsrc/datatypes.sml"        (*TODO/part.*)
    75   ML_file "xmlsrc/pbl-met-hierarchy.sml"(*TODO after 2009-2/part.*)
    76 (*ML_file "xmlsrc/thy-hierarchy.sml"      TODO after 2009-2/part | Isabelle2012-->13 !thehier! *)
    77 (*WITHOUT inhibit exn WN1130621 Isabelle2012-->13 !thehier! THIS ERROR OCCURS:
    78 val it = "----------- ### thes2file ... Exception- Match raised -----------": string
    79 :
    80 val it = "~~~~~ fun thes2file, args:": string
    81 val p = "../../tmp/": path
    82 val it = (): unit
    83  exception Bind raised (line 359 of "~~/test/Tools/isac/xmlsrc/thy-hierarchy.sml")
    84                                                  ...CONCERNED WITH thehier
    85 *)
    86   ML_file "xmlsrc/interface-xml.sml"     (*TODO after 2009-2*)
    87   ML {*"%%%%%%%%%%%%%%%%% end xmlsrc.thy %%%%%%%%%%%%%%%%%%%%%%%";*}
    88   ML {*"%%%%%%%%%%%%%%%%% start Frontend.thy %%%%%%%%%%%%%%%%%%%";*}
    89   ML_file "Frontend/messages.sml"
    90   ML_file "Frontend/states.sml"
    91   ML_file "Frontend/interface.sml"
    92 (*WITHOUT inhibit exn WN1130621 Isabelle2012-->13 !thehier! THIS ERROR OCCURS:
    93   ... SAME ERROR HERE ON ISABELLE2012 AS IN ISAC ON ISABELLE2011*)
    94   ML_file          "print_exn_G.sml"
    95   ML {*"%%%%%%%%%%%%%%%%% end Frontend.thy %%%%%%%%%%%%%%%%%%%%%";*}
    96   ML {*"%%%%%%%%%%%%%%%%% start Knowledge %%%%%%%%%%%%%%%%%%%%%%";*}
    97   ML_file "Knowledge/delete.sml"
    98   ML_file "Knowledge/descript.sml"
    99   ML_file "Knowledge/atools.sml"
   100   ML_file "Knowledge/simplify.sml"
   101   ML_file "Knowledge/poly.sml"
   102 (*THIS WAITS UNTIL Isabelle2013 IN THIS SEQUENCE (SEE Test_Some2.thy):0
   103   ML_file "Knowledge/gcd_poly.sml" (*type error 'nth' etc*)
   104   ML_file "Knowledge/gcd_poly_winkler.sml"*)
   105 (*ML_file "Knowledge/rational.sml"  WN120317.TODO postponed to joint work with dmeindl *)
   106   ML_file "Knowledge/equation.sml"
   107   ML_file "Knowledge/root.sml"
   108   ML_file "Knowledge/lineq.sml"
   109 (*ML_file "Knowledge/rooteq.sml"    some complicated equations not recovered from 2002 *)
   110   ML_file "Knowledge/rateq.sml"   (*some complicated equations not recovered from 2002 *)
   111   ML_file "Knowledge/rootrat.sml"
   112   ML_file "Knowledge/rootrateq.sml"(*ome complicated equations not recovered from 2002 *)
   113   ML_file "Knowledge/partial_fractions.sml"
   114   ML_file "Knowledge/polyeq.sml"
   115 (*ML_file "Knowledge/rlang.sml"     much to clean up, not urgent due to similar tests  *)
   116   ML_file "Knowledge/calculus.sml"
   117   ML_file "Knowledge/trig.sml"
   118 (*ML_file "Knowledge/logexp.sml"    not included as stuff for presentation of authoring*) 
   119   ML_file "Knowledge/diff.sml"
   120   ML_file "Knowledge/integrate.sml"
   121   ML_file "Knowledge/eqsystem.sml"
   122   ML_file "Knowledge/test.sml"
   123   ML_file "Knowledge/polyminus.sml"
   124   ML_file "Knowledge/vect.sml"
   125   ML_file "Knowledge/diffapp.sml"        (* postponed to dev. specification | TP-prog. *)
   126   ML_file "Knowledge/biegelinie.sml"
   127   ML_file "Knowledge/algein.sml"
   128   ML_file "Knowledge/diophanteq.sml"
   129   ML_file "Knowledge/Inverse_Z_Transform/inverse_z_transform.sml"
   130   ML_file "Knowledge/isac.sml"
   131   ML_file "Knowledge/build_thydata.sml"
   132   ML {*"%%%%%%%%%%%%%%%%% end Knowledge %%%%%%%%%%%%%%%%%%%%%%%%";*}
   133   ML {*"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";*}
   134   ML {*"%%%%%%%%%%%%%%%%% all tests successful %%%%%%%%%%%%%%%%%";*}
   135   ML {*"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";*}
   136 
   137 section {* history of tests *}
   138 text {*
   139   Systematic regression tests have been introduced to isac development in 2003.
   140   Sanity of the regression test suffered from updates following Isabelle development,
   141   which mostly exceeded the resources available in isac's development.
   142 
   143   The survey below shall support to efficiently use the tests for isac 
   144   on different Isabelle versions. Conclusion in most cases will be: 
   145 
   146   !!! Use most recent tests or go back to the old notebook
   147       with isac on Isabelle2002. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   148 *}
   149 
   150 subsection {* isac on Isabelle2013 *}
   151 subsubsection {* Summary of development *}
   152 text {*
   153 *}
   154 subsubsection {* Run tests *}
   155 text {*
   156 *}
   157 subsubsection {* State of tests *}
   158 text {*
   159 *}
   160 subsubsection {* Changesets of begin and end *}
   161 text {*
   162 *}
   163 
   164 subsection {* isac on Isabelle2012 *}
   165 subsubsection {* Summary of development *}
   166 text {*
   167   isac on Isabelle2012 is considered just a transitional stage
   168   within the update from Isabelle2011 to Isabelle2013; thus no further development of isac;
   169   For considerations on the transition see 
   170   ~~/src/Tools/isac/Knowledge/Build_Thydata/thy, section "updating isac..".
   171 *}
   172 subsubsection {* Run tests *}
   173 text {*
   174 $ cd /usr/local/isabisac12/
   175 $ ./bin/isabelle jedit -l HOL src/Tools/isac/Build_Isac.thy
   176 $ ./bin/isabelle jedit -l Isac test/Tools/isac/Test_Isac.thy
   177 *}
   178 subsubsection {* State of tests *}
   179 text {*
   180   At least the tests from isac on Isabelle2011 run again.
   181   However, Test_Isac.thy shows erratic behaviour; no errors are obtained when scrolling 
   182   in parallel with evaluation.
   183 
   184   Counting "error in kernel" for Frontend/interface.sml (the tests considered most significant)
   185   yields 69 hits, some of which were already present before Isabelle2002-->2009-2
   186   (i.e. on the old notebook from 2002).
   187 
   188   Now many tests with (*...=== inhibit exn ...*) give a reason or at least the origin:
   189   # === inhibit exn WN1130621 Isabelle2012-->13 !thehier! === ...see Build_Thydata.thy
   190   # === inhibit exn AK110726 === ...reliable work by Alexander Kargl, most likely go back to 2002
   191   # === inhibit exn WN1130701 broken at Isabelle2002 --> 2009-2 === , most likely go back to 2002
   192   Reasons for outcommented tests are also found in Test_Isac.thy near the respective file.sml.
   193 
   194   Some tests have been re-activated (e.g. error patterns, fill patterns).
   195 *}
   196 subsubsection {* Changesets of begin and end *}
   197 text {*
   198   TODO
   199   :
   200   : isac on Isablle2012 
   201   :
   202   Changeset: 48757 (74eb3dfc33cc) updated src from Isabelle2011 to Isabelle2012
   203   User: Walther Neuper <neuper@ist.tugraz.at>
   204   Date: 2012-09-24 18:35:13 +0200 (8 months)
   205   ------------------------------------------------------------------------------
   206   Changeset: 48756 (7443906996a8) merged
   207   User: Walther Neuper <neuper@ist.tugraz.at>
   208   Date: 2012-09-24 18:15:49 +0200 (8 months)
   209 *}
   210 
   211 subsection {* isac on Isabelle2011 *}
   212 subsubsection {* Summary of development *}
   213 text {*
   214   isac's mathematics engine has been extended by two developments:
   215   (1) Isabelle's contexts were introduced by Mathias Lehnfeld
   216   (2) "error patterns" were introduced by Gabriella Daroczy
   217   Regressions tests have been added for both.
   218 *}
   219 subsubsection {* Run tests *}
   220 text {*
   221   $ cd /usr/local/isabisac11/
   222   $ ./bin/isabelle jedit -l HOL src/Tools/isac/Build_Isac.thy
   223   $ ./bin/isabelle jedit -l Isac test/Tools/isac/Test_Isac.thy
   224 *}
   225 subsubsection {* State of tests *}
   226 text {* 
   227   Systematic efforts outcommented less significant tests by (*...=== inhibit exn ...*) 
   228   and sometimes give reasons for failing tests.
   229   (*...=== inhibit exn AK...*) was done by Alexander Kargl; this is reliable
   230   work, some of which couldn't be revised (and renamed) by WN and thus survived some time.
   231 
   232   Tests with functions decomposed for single-stepping are marked with
   233   "~~~~~ fun , args:"; val 
   234 
   235   The most signification tests (in particular Frontend/interface.sml) run,
   236   however, many "error in kernel" are not caught by an exception.
   237   ------------------------------------------------------------------------------
   238   After the changeset below Test_Isac worked with check_unsynchronized_ref ():
   239   ------------------------------------------------------------------------------
   240   Changeset: 42457 (ca691a84b81a) PROVISIONALLY MADE TESTS RUN with Unsynchronized.ref
   241   User: Walther Neuper <neuper@ist.tugraz.at>
   242   Date: 2012-08-06 10:38:11 +0200 (11 months)
   243 *}
   244 subsubsection {* Changesets of begin and end *}
   245 text {*
   246   isac development was done between these changesets:
   247   ------------------------------------------------------------------------------
   248   Changeset: 42519 (1f3b4270363e) meeting dmeindl: added missing files
   249   User: Walther Neuper <neuper@ist.tugraz.at>
   250   Date: 2012-09-24 16:39:30 +0200 (8 months)
   251   :
   252   : isac on Isablle2011
   253   :
   254   Changeset:41897 (355be7f60389) merged isabisac with Isabelle2011
   255   Branch: decompose-isar 
   256   User: Walther Neuper <neuper@ist.tugraz.at>
   257   Date: 2011-02-25 13:04:56 +0100 (2011-02-25)
   258   ------------------------------------------------------------------------------
   259 *}
   260 
   261 subsection {* isac on Isabelle2009-2 *}
   262 subsubsection {* Summary of development *}
   263 text {*
   264   In 2009 the update of isac from Isabelle2002 started with switching from CVS to hg.
   265   The update was painful (bridging 7 years of Isabelle development) and cut short 
   266   due to the start of introducing Isabelle's contexts (Mathias Lehnfeld) and
   267   going on to Isabelle2011 although most of the tests did not run.
   268 *}
   269 subsubsection {* Run tests *}
   270 text {*
   271   $ cd /usr/local/isabisac09-2/
   272   $ ./bin/isabelle emacs -l HOL src/Tools/isac/Build_Isac.thy
   273   $ ./bin/isabelle emacs -l Isac src/Tools/isac/Test_Isac.thy
   274   NOT THE RIGHT VERSION.....    test/Tools/isac/Test_Isac.thy !!!
   275 *}
   276 subsubsection {* State of tests *}
   277 text {* 
   278   Most tests are broken by the update from Isabelle2002 to Isabelle2009-2.
   279   If really necessary, go back to the old notebook with Isabelle2002.
   280 *}
   281 subsubsection {* Changesets of begin and end *}
   282 text {*
   283   isac development was done between these changesets:
   284   ------------------------------------------------------------------------------
   285   Changeset: 38115 (940a5feea094) Little improvements of isac-plugin
   286   Branch: decompose-isar 
   287   User: Marco Steger <m.steger@student.tugraz.at>
   288   Date: 2011-02-06 18:30:28 +0100 (2011-02-06)
   289   :
   290   : isac on Isablle2009-2
   291   :
   292   Changeset: 37870 (5100a9c3abf8) created branch isac-from-Isabelle2009-2
   293   Branch: isac-from-Isabelle2009-2 
   294   User: Walther Neuper <neuper@ist.tugraz.at>
   295   Date: 2010-07-21 09:59:35 +0200 (2010-07-21)
   296   ------------------------------------------------------------------------------
   297 *}
   298 
   299 subsection {* isac on Isabelle2002 *}
   300 subsubsection {* Summary of development *}
   301 text {*
   302   From 1999 to 2010 all the basic functionality (except "ctxt" and "error pattern")
   303   of isac's mathematics engine has been implemented.
   304 *}
   305 subsubsection {* Run tests *}
   306 subsubsection {* State of tests *}
   307 text {* 
   308   All tests work on an old notebook (the right PolyML coudn't be upgraded to more
   309   recent Linux versions)
   310 *}
   311 subsubsection {* Changesets of begin and end *}
   312 text {*
   313   Up to the above Mercurial changeset 5100a9c3abf8 isac used CVS;
   314   see https://intra.ist.tugraz.at/hg/isac containing a conversion to Mercurial.
   315 *}
   316 
   317 end
   318 (*========== inhibit exn 130719 Isabelle2013 ===================================
   319 ============ inhibit exn 130719 Isabelle2013 =================================*)
   320 
   321 (*-.-.-.-.-.-isolate response.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
   322   -.-.-.-.-.-.-isolate response.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.*)
   323