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