test/Tools/isac/Test_Isac.thy
author Walther Neuper <wneuper@ist.tugraz.at>
Fri, 23 Mar 2018 10:14:39 +0100
changeset 59411 3e241a6938ce
parent 59410 2cbb98890190
child 59412 3bd4be5666de
permissions -rwxr-xr-x
Celem: Test_Isac partially

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