src/sml/systest/scriptnew.sml
author agriesma
Thu, 17 Apr 2003 18:01:03 +0200
branchgriesmayer
changeset 338 90390fecbe74
child 710 afa379bfb2c6
permissions -rw-r--r--
neues cvs-verzeichnis
agriesma@338
     1
(* use"../tests/scriptnew.sml";
agriesma@338
     2
   use"tests/scriptnew.sml";
agriesma@338
     3
   *)
agriesma@338
     4
agriesma@338
     5
(*contents*)
agriesma@338
     6
" --- test 30.4.02 Testterm:  Repeat Repeat Or ------------------ ";
agriesma@338
     7
" --- test  9.5.02 Testeq: While Try Repeat @@ ------------------ ";
agriesma@338
     8
" --- test 11.5.02 Testeq: let e_ =... in [e_] ------------------ ";
agriesma@338
     9
" _________________ me + nxt_step from script ___________________ ";
agriesma@338
    10
" _________________ me + sqrt-equ-test: 1.norm_equation  ________ ";
agriesma@338
    11
" _________________ equation with x =(-12)/5, but L ={} ------- ";
agriesma@338
    12
(*contents*)
agriesma@338
    13
agriesma@338
    14
agriesma@338
    15
agriesma@338
    16
agriesma@338
    17
"  --- test 30.4.02 Testterm:  Repeat Repeat Or ------------------ ";
agriesma@338
    18
"  --- test 30.4.02 Testterm:  Repeat Repeat Or ------------------ ";
agriesma@338
    19
"  --- test 30.4.02 Testterm:  Repeat Repeat Or ------------------ ";
agriesma@338
    20
store_pbt
agriesma@338
    21
 (prep_pbt Test.thy
agriesma@338
    22
 (["tests"],
agriesma@338
    23
  []:(string * string list) list,
agriesma@338
    24
  e_rls, None, []));
agriesma@338
    25
store_pbt
agriesma@338
    26
 (prep_pbt Test.thy
agriesma@338
    27
 (["met-testterm","tests"],
agriesma@338
    28
  [("#Given" ,["realTestGiven g_"]),
agriesma@338
    29
   ("#Find"  ,["realTestFind f_"])
agriesma@338
    30
  ],
agriesma@338
    31
  e_rls, None, []));
agriesma@338
    32
methods:= overwritel (!methods,
agriesma@338
    33
[ prep_met (*test for simplification*)
agriesma@338
    34
 (("Test.thy","met-testterm"):metID,
agriesma@338
    35
  [("#Given" ,["realTestGiven g_"]),
agriesma@338
    36
   ("#Find"  ,["realTestFind f_"])
agriesma@338
    37
   ],
agriesma@338
    38
   {rew_ord'="tless_true",rls'=tval_rls,srls=e_rls,prls=e_rls,calc=[],
agriesma@338
    39
    asm_rls=[],asm_thm=[]},
agriesma@338
    40
 "Script Testterm (g_::real) =   \
agriesma@338
    41
 \Repeat\
agriesma@338
    42
 \  ((Repeat (Rewrite rmult_1 False)) Or\
agriesma@338
    43
 \   (Repeat (Rewrite rmult_0 False)) Or\
agriesma@338
    44
 \   (Repeat (Rewrite radd_0 False))) g_"
agriesma@338
    45
 )]);
agriesma@338
    46
val fmz = ["realTestGiven ((0+0)*(1*(1*a)))","realTestFind F"];
agriesma@338
    47
val (dI',pI',mI') = ("Test.thy",["met-testterm","tests"],
agriesma@338
    48
		     ("Test.thy","met-testterm"));
agriesma@338
    49
val p = e_pos'; val c = []; 
agriesma@338
    50
val nxt = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
    51
val (p,_,f,nxt,_,pt) = me nxt p c EmptyPtree;
agriesma@338
    52
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    53
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    54
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    55
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    56
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    57
(*val nxt = ("Apply_Method",Apply_Method ("Test.thy","met-testterm"))*)
agriesma@338
    58
(*----script 111 ------------------------------------------------*)
agriesma@338
    59
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    60
(*"(#0 + #0) * (#1 * (#1 * a))"  nxt= Rewrite ("rmult_1",*)
agriesma@338
    61
(*----script 222 ------------------------------------------------*)
agriesma@338
    62
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    63
(*"(#0 + #0) * (#1 * a)"         nxt= Rewrite ("rmult_1",*)
agriesma@338
    64
(*----script 333 ------------------------------------------------*)
agriesma@338
    65
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    66
(*"(#0 + #0) * a"                nxt= Rewrite ("radd_0",*)
agriesma@338
    67
(*----script 444 ------------------------------------------------*)
agriesma@338
    68
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    69
(*"#0 * a"*)
agriesma@338
    70
(*----script 555 ------------------------------------------------*)
agriesma@338
    71
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    72
(*"#0"*)
agriesma@338
    73
if p=([4],Res) then ()
agriesma@338
    74
else raise error ("new behaviour in 30.4.02 Testterm: p="^(pos'2str p));
agriesma@338
    75
(*----script 666 ------------------------------------------------*)
agriesma@338
    76
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
    77
(*"#0"*)
agriesma@338
    78
if nxt=("End_Proof'",End_Proof') then ()
agriesma@338
    79
else raise error "new behaviour in 30.4.02 Testterm: End_Proof";
agriesma@338
    80
agriesma@338
    81
agriesma@338
    82
agriesma@338
    83
agriesma@338
    84
agriesma@338
    85
"  --- test 9.5.02 Testeq: While Try Repeat @@ ------------------ ";
agriesma@338
    86
"  --- test 9.5.02 Testeq: While Try Repeat @@ ------------------ ";
agriesma@338
    87
"  --- test 9.5.02 Testeq: While Try Repeat @@ ------------------ ";
agriesma@338
    88
store_pbt
agriesma@338
    89
 (prep_pbt Test.thy
agriesma@338
    90
 (["met-testeq","tests"],
agriesma@338
    91
  [("#Given" ,["boolTestGiven e_"]),
agriesma@338
    92
   ("#Find"  ,["boolTestFind v_i_"])
agriesma@338
    93
  ],
agriesma@338
    94
  e_rls, None, []));
agriesma@338
    95
methods:= overwritel (!methods,
agriesma@338
    96
[
agriesma@338
    97
 prep_met
agriesma@338
    98
 (("Test.thy","testeq1"):metID,
agriesma@338
    99
   [("#Given",["boolTestGiven e_"]),
agriesma@338
   100
   ("#Where" ,[]), 
agriesma@338
   101
   ("#Find"  ,["boolTestFind v_i_"]) 
agriesma@338
   102
   ],
agriesma@338
   103
   {rew_ord'="tless_true",rls'=tval_rls,
agriesma@338
   104
    srls=append_rls "testeq1_srls" e_rls 
agriesma@338
   105
		    [Calc ("Test.contains'_root", eval_contains_root"")],
agriesma@338
   106
    prls=e_rls,calc=[],asm_rls=[],asm_thm=[("square_equation_left","")]},
agriesma@338
   107
 "Script Testeq (e_::bool) =                                        \
agriesma@338
   108
   \(While (contains_root e_) Do                                     \
agriesma@338
   109
   \((Try (Repeat (Rewrite rroot_square_inv False))) @@    \
agriesma@338
   110
   \  (Try (Repeat (Rewrite square_equation_left True))) @@ \
agriesma@338
   111
   \  (Try (Repeat (Rewrite radd_0 False)))))\
agriesma@338
   112
   \ e_"
agriesma@338
   113
 )
agriesma@338
   114
]);
agriesma@338
   115
agriesma@338
   116
val fmz = ["boolTestGiven (0+(sqrt(sqrt(sqrt a))^^^2)^^^2=0)",
agriesma@338
   117
	   "boolTestFind v_i_"];
agriesma@338
   118
val (dI',pI',mI') = ("Test.thy",["met-testeq","tests"],
agriesma@338
   119
		     ("Test.thy","testeq1"));
agriesma@338
   120
val Script sc = (#scr o get_met) ("Test.thy","testeq1");
agriesma@338
   121
atomt sc;
agriesma@338
   122
val p = e_pos'; val c = []; 
agriesma@338
   123
val nxt = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   124
val (p,_,f,nxt,_,pt) = me nxt p c EmptyPtree;
agriesma@338
   125
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   126
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   127
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   128
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   129
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   130
(*val nxt = ("Apply_Method",Apply_Method ("Test.thy","testeq1")) *)
agriesma@338
   131
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   132
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   133
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   134
(*val f = Form' (FormKF (~1,EdUndef,1,Nundef,"#0 + sqrt a = #0"))
agriesma@338
   135
val nxt = ("Rewrite",Rewrite ("radd_0","#0 + ?k = ?k"))*)
agriesma@338
   136
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   137
agriesma@338
   138
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   139
(*** No such constant: "Test.contains'_root"  *)
agriesma@338
   140
agriesma@338
   141
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   142
if f=(Form' (FormKF (~1,EdUndef,0,Nundef,"a = 0 ^^^ 2"))) andalso
agriesma@338
   143
   nxt=("End_Proof'",End_Proof') then ()
agriesma@338
   144
else raise error "different behaviour test 9.5.02 Testeq: While Try Repeat @@";
agriesma@338
   145
agriesma@338
   146
agriesma@338
   147
agriesma@338
   148
agriesma@338
   149
" --- test 11.5.02 Testeq: let e_ =... in [e_] --------- ";
agriesma@338
   150
" --- test 11.5.02 Testeq: let e_ =... in [e_] --------- ";
agriesma@338
   151
" --- test 11.5.02 Testeq: let e_ =... in [e_] --------- ";
agriesma@338
   152
methods:= overwritel (!methods,
agriesma@338
   153
[
agriesma@338
   154
 prep_met
agriesma@338
   155
 (("Test.thy","testlet"):metID,
agriesma@338
   156
   [("#Given",["boolTestGiven e_"]),
agriesma@338
   157
   ("#Where" ,[]), 
agriesma@338
   158
   ("#Find"  ,["boolTestFind v_i_"]) 
agriesma@338
   159
   ],
agriesma@338
   160
   {rew_ord'="tless_true",rls'=tval_rls,
agriesma@338
   161
    srls=append_rls "testlet_srls" e_rls 
agriesma@338
   162
		    [Calc ("Test.contains'_root",eval_contains_root"")],
agriesma@338
   163
    prls=e_rls,calc=[],asm_rls=[],asm_thm=[("square_equation_left","")]},
agriesma@338
   164
   "Script Testeq2 (e_::bool) =                                        \
agriesma@338
   165
   \(let e_ =\
agriesma@338
   166
   \  ((While (contains_root e_) Do                                     \
agriesma@338
   167
   \   (Rewrite square_equation_left True))\
agriesma@338
   168
   \   e_)\
agriesma@338
   169
   \in [e_::bool])"
agriesma@338
   170
   )
agriesma@338
   171
 ]);
agriesma@338
   172
val Script sc = (#scr o get_met) ("Test.thy","testlet");
agriesma@338
   173
writeln(term2str sc);
agriesma@338
   174
val fmz = ["boolTestGiven (sqrt a = 0)",
agriesma@338
   175
	   "boolTestFind v_i_"];
agriesma@338
   176
val (dI',pI',mI') = ("Test.thy",["met-testeq","tests"],
agriesma@338
   177
		     ("Test.thy","testlet"));
agriesma@338
   178
val p = e_pos'; val c = []; 
agriesma@338
   179
val nxt = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   180
val (p,_,f,nxt,_,pt) = me nxt p c EmptyPtree;
agriesma@338
   181
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   182
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   183
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   184
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   185
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   186
(*val nxt = ("Apply_Method",Apply_Method ("Test.thy","testlet"))*)
agriesma@338
   187
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   188
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   189
val (p,_,f,nxt,_,pt) = me nxt p c pt;
agriesma@338
   190
if f=(Form' (FormKF (~1,EdUndef,0,Nundef,"[a = 0 ^^^ 2]"))) andalso
agriesma@338
   191
   nxt=("End_Proof'",End_Proof') then ()
agriesma@338
   192
else raise error "different behaviour in test 11.5.02 Testeq: let e_ =... in [e_]";
agriesma@338
   193
agriesma@338
   194
agriesma@338
   195
agriesma@338
   196
agriesma@338
   197
" _________________ me + nxt_step from script _________________ ";
agriesma@338
   198
" _________________ me + nxt_step from script _________________ ";
agriesma@338
   199
" _________________ me + nxt_step from script _________________ ";
agriesma@338
   200
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(5+x))",
agriesma@338
   201
	   "solveFor x","errorBound (eps=0)",
agriesma@338
   202
	   "solutions L"];
agriesma@338
   203
val (dI',pI',mI') =
agriesma@338
   204
  ("Test.thy",["sqroot-test","univariate","equation","test"],
agriesma@338
   205
   ("Test.thy","sqrt-equ-test"));
agriesma@338
   206
val Script sc = (#scr o get_met) ("Test.thy","sqrt-equ-test");
agriesma@338
   207
writeln(term2str sc);
agriesma@338
   208
agriesma@338
   209
val p = e_pos'; val c = []; 
agriesma@338
   210
"--- s1 ---";
agriesma@338
   211
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   212
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
   213
"--- s2 ---";
agriesma@338
   214
(* val nxt =
agriesma@338
   215
  ("Add_Given",
agriesma@338
   216
   Add_Given "equality (sqrt (#9 + #4 * x) = sqrt x + sqrt (#5 + x))");*)
agriesma@338
   217
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   218
"--- s3 ---";
agriesma@338
   219
(* val nxt = ("Add_Given",Add_Given "solveFor x");*)
agriesma@338
   220
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   221
"--- s4 ---";
agriesma@338
   222
(* val nxt = ("Add_Given",Add_Given "errorBound (eps = #0)");*)
agriesma@338
   223
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   224
"--- s5 ---";
agriesma@338
   225
(* val nxt = ("Add_Find",Add_Find "solutions L");*)
agriesma@338
   226
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   227
"--- s6 ---";
agriesma@338
   228
(* val nxt = ("Specify_Domain",Specify_Domain "Test.thy");*)
agriesma@338
   229
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   230
"--- s7 ---";
agriesma@338
   231
(* val nxt =
agriesma@338
   232
  ("Specify_Problem",
agriesma@338
   233
   Specify_Problem ["sqroot-test","univariate","equation","test"]);*)
agriesma@338
   234
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   235
"--- s8 ---";
agriesma@338
   236
(* val nxt = ("Specify_Method",Specify_Method ("Test.thy","sqrt-equ-test"));*)
agriesma@338
   237
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   238
"--- s9 ---";
agriesma@338
   239
(* val nxt = ("Apply_Method",Apply_Method ("Test.thy","sqrt-equ-test"));*)
agriesma@338
   240
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   241
"--- 1 ---";
agriesma@338
   242
(* val nxt = ("Rewrite",Rewrite ("square_equation_left",""));*)
agriesma@338
   243
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   244
"--- 2 ---";
agriesma@338
   245
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   246
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   247
"--- 3 ---";
agriesma@338
   248
(* val nxt = ("Rewrite_Set",Rewrite_Set "rearrange_assoc");*)
agriesma@338
   249
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   250
"--- 4 ---";
agriesma@338
   251
(* val nxt = ("Rewrite_Set",Rewrite_Set "isolate_root");*)
agriesma@338
   252
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   253
"--- 5 ---";
agriesma@338
   254
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   255
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   256
"--- 6 ---";
agriesma@338
   257
(* val nxt = ("Rewrite",Rewrite ("square_equation_left",""));*)
agriesma@338
   258
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   259
"--- 7 ---";
agriesma@338
   260
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   261
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   262
"--- 8<> ---";
agriesma@338
   263
(* val nxt = ("Rewrite_Set",Rewrite_Set "rearrange_assoc");*)
agriesma@338
   264
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   265
"--- 9<> ---";
agriesma@338
   266
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   267
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   268
"--- 10<> ---";
agriesma@338
   269
(* val nxt = ("Rewrite_Set",Rewrite_Set "norm_equation");*)
agriesma@338
   270
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   271
"--- 11<> ---";
agriesma@338
   272
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   273
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   274
"--- 12<> ---.";
agriesma@338
   275
(* val nxt = ("Rewrite_Set_Inst",Rewrite_Set_Inst (["(bdv,x)"],"isolate_bdv"));*)
agriesma@338
   276
get_form nxt p pt;
agriesma@338
   277
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   278
"--- 13<> ---";
agriesma@338
   279
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   280
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   281
"--- 14<> ---";
agriesma@338
   282
(* nxt = ("Check_Postcond",Check_Postcond ("Test.thy","sqrt-equ-test"));*)
agriesma@338
   283
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   284
if f<>(Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 4]")))
agriesma@338
   285
then raise error "scriptnew.sml 1: me + msteps from script: new behaviour" 
agriesma@338
   286
else ();
agriesma@338
   287
"--- 15<> ---";
agriesma@338
   288
(* val nxt = ("End_Proof'",End_Proof');*)
agriesma@338
   289
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   290
agriesma@338
   291
writeln (pr_ptree pr_short pt);
agriesma@338
   292
writeln("result: "^(get_obj g_result pt [])^
agriesma@338
   293
"\n=============================================================");
agriesma@338
   294
(*get_obj g_asm pt [];
agriesma@338
   295
val it = [("#0 <= sqrt x + sqrt (#5 + x)",[1]),("#0 <= #9 + #4 * x",[1]),...*)
agriesma@338
   296
agriesma@338
   297
agriesma@338
   298
agriesma@338
   299
agriesma@338
   300
agriesma@338
   301
" _________________ me + sqrt-equ-test: 1.norm_equation  _________________ ";
agriesma@338
   302
" _________________ me + sqrt-equ-test: 1.norm_equation  _________________ ";
agriesma@338
   303
" _________________ me + sqrt-equ-test: 1.norm_equation  _________________ ";
agriesma@338
   304
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(5+x))",
agriesma@338
   305
	   "solveFor x","errorBound (eps=0)",
agriesma@338
   306
	   "solutions L"];
agriesma@338
   307
val (dI',pI',mI') =
agriesma@338
   308
  ("Test.thy",["sqroot-test","univariate","equation","test"],
agriesma@338
   309
   ("Test.thy","sqrt-equ-test"));
agriesma@338
   310
 val Script sc = (#scr o get_met) ("Test.thy","sqrt-equ-test");
agriesma@338
   311
 (writeln o term2str) sc;
agriesma@338
   312
val p = e_pos'; val c = []; 
agriesma@338
   313
"--- s1 ---";
agriesma@338
   314
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   315
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
   316
"--- s2 ---";
agriesma@338
   317
(* val nxt = ("Add_Given",
agriesma@338
   318
   Add_Given "equality (sqrt (#9 + #4 * x) = sqrt x + sqrt (#5 + x))");*)
agriesma@338
   319
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   320
"--- s3 ---";
agriesma@338
   321
(* val nxt = ("Add_Given",Add_Given "solveFor x");*)
agriesma@338
   322
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   323
"--- s4 ---";
agriesma@338
   324
(* val nxt = ("Add_Given",Add_Given "errorBound (eps = #0)");*)
agriesma@338
   325
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   326
"--- s5 ---";
agriesma@338
   327
(* val nxt = ("Add_Find",Add_Find "solutions L");*)
agriesma@338
   328
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   329
"--- s6 ---";
agriesma@338
   330
(* val nxt = ("Specify_Domain",Specify_Domain "Test.thy");*)
agriesma@338
   331
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   332
"--- s7 ---";
agriesma@338
   333
(* val nxt = ("Specify_Problem",
agriesma@338
   334
   Specify_Problem ["sqroot-test","univariate","equation","test"]);*)
agriesma@338
   335
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   336
"--- s8 ---";
agriesma@338
   337
(* val nxt = ("Specify_Method",Specify_Method ("Test.thy","sqrt-equ-test"));*)
agriesma@338
   338
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   339
"--- s9 ---";
agriesma@338
   340
(* val nxt = ("Apply_Method",Apply_Method ("Test.thy","sqrt-equ-test"));*)
agriesma@338
   341
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   342
"--- !!! x1 --- 1.norm_equation";
agriesma@338
   343
(*###*)val nxt = ("Rewrite_Set",Rewrite_Set "norm_equation");
agriesma@338
   344
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   345
"--- !!! x2 --- 1.norm_equation";
agriesma@338
   346
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   347
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   348
(*(me nxt p [1] pt) handle e => print_exn_G e;*)
agriesma@338
   349
"--- !!! x3 --- 1.norm_equation";
agriesma@338
   350
(*val nxt = ("Empty_Mstep",Empty_Mstep) ### helpless*)
agriesma@338
   351
(*###*)val nxt = ("Rewrite_Set",Rewrite_Set "rearrange_assoc");
agriesma@338
   352
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   353
"--- !!! x4 --- 1.norm_equation";
agriesma@338
   354
(*val nxt = ("Rewrite_Set",Rewrite_Set "isolate_root")*)
agriesma@338
   355
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   356
"--- !!! x5 --- 1.norm_equation";
agriesma@338
   357
(* val nxt = ("Rewrite_Set",Rewrite_Set "Test_simplify");*)
agriesma@338
   358
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   359
if f= Form'(FormKF(~1,EdUndef,1,Nundef,"sqrt (9 + 4 * x) = sqrt x + sqrt (5 + x)"))
agriesma@338
   360
then() else raise error "new behaviour in test-example 1.norm sqrt-equ-test";
agriesma@338
   361
agriesma@338
   362
agriesma@338
   363
(* use"../tests/scriptnew.sml";
agriesma@338
   364
   *)
agriesma@338
   365
agriesma@338
   366
" _________________ equation with x =(-12)/5, but L ={} ------- ";
agriesma@338
   367
agriesma@338
   368
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(-3+x))",
agriesma@338
   369
	   "solveFor x","errorBound (eps=0)",
agriesma@338
   370
	   "solutions L"];
agriesma@338
   371
val (dI',pI',mI') =
agriesma@338
   372
  ("Test.thy",["sqroot-test","univariate","equation","test"],
agriesma@338
   373
   ("Test.thy","square_equation"));
agriesma@338
   374
val p = e_pos'; val c = []; 
agriesma@338
   375
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   376
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
   377
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   378
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   379
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   380
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   381
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   382
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   383
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   384
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   385
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   386
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   387
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   388
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   389
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   390
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   391
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   392
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   393
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   394
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   395
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   396
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   397
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   398
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   399
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   400
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   401
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   402
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   403
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   404
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   405
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   406
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   407
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   408
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   409
trace_rewrite:=true;
agriesma@338
   410
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   411
agriesma@338
   412
trace_rewrite:=false;
agriesma@338
   413
agriesma@338
   414
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
agriesma@338
   415
val Form' (FormKF (_,_,_,_,ff)) = f;
agriesma@338
   416
if ff="[]" then ()
agriesma@338
   417
else raise error "diff.behav. in scriptnew.sml; root-eq: L = []";
agriesma@338
   418
agriesma@338
   419
agriesma@338
   420
val tt = (term_of o the o (parse thy)) "?xxx";
agriesma@338
   421
rewrite_set_ thy true tval_rls ;