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