src/sml/systest/testdaten.sml
author agriesma
Thu, 17 Apr 2003 18:01:03 +0200
branchgriesmayer
changeset 338 90390fecbe74
child 709 f5b966aa0b4e
permissions -rw-r--r--
neues cvs-verzeichnis
agriesma@338
     1
(* testdaten f"ur isac demo0
agriesma@338
     2
   WN 31.10.00, .., 18.1.01
agriesma@338
     3
   use"tests/testdaten.sml";
agriesma@338
     4
   use"testdaten.sml";
agriesma@338
     5
agriesma@338
     6
   proofs:= []; dials:=([],[],[]); 
agriesma@338
     7
  *)
agriesma@338
     8
" _________________ exampel [x=4]: Rules 4.2.01a________________ ";
agriesma@338
     9
" _________________ exampel [x=4]: Rules 4.2.01b________________ ";
agriesma@338
    10
" _________________ exampel [x=4]: tutor active ________________ ";
agriesma@338
    11
" _________________ exampel [x=4] ________________ ";
agriesma@338
    12
" _________________ exampel [x =(-12)/5] ________________ ";
agriesma@338
    13
" _________________ exampel [x =(-12)/5] Auto ________________ ";
agriesma@338
    14
" ----------------- d_d x (x ^^^ 2 + 3 * x + 4) ----------------- ";
agriesma@338
    15
" ----------------- d_d x (x ^^^ 2 + x + 1 / x ^^^ 2) ----------------- ";
agriesma@338
    16
" ----------------- Schalk III S.62 Nr. 51a) --------- ";
agriesma@338
    17
" ----------------- Schalk III S.144 Nr. 408b) --------- ";
agriesma@338
    18
" ----------------- Schalk III S.137 Nr. 359g) --------- ";
agriesma@338
    19
agriesma@338
    20
agriesma@338
    21
agriesma@338
    22
agriesma@338
    23
agriesma@338
    24
" _________________ exampel [x=4]: Rules 4.2.01a________________ ";
agriesma@338
    25
" _________________ exampel [x=4]: Rules 4.2.01a________________ ";
agriesma@338
    26
val (_,uI,0,0,[],[New_User],_) = StdinSML 0 0 0 0 New_User;
agriesma@338
    27
val (_,_,pI,0,[],[New_Proof],_) = StdinSML uI 0 0 0 New_Proof;
agriesma@338
    28
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(5+x))",
agriesma@338
    29
	   "solveFor x","errorBound (eps=0)",
agriesma@338
    30
	   "solutions L"];
agriesma@338
    31
val (dI',pI',mI') =
agriesma@338
    32
  ("Test.thy",["squareroot","univariate","equation","test"],
agriesma@338
    33
   ("Test.thy","sqrt-equ-test"));
agriesma@338
    34
"--- 0 ---";
agriesma@338
    35
StdinSML uI pI 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
    36
"--- 1 ---";
agriesma@338
    37
StdinSML uI pI ~1 ~1 (Command Accept);
agriesma@338
    38
(* square_equation_left 
agriesma@338
    39
"#9 + #4 * x = (sqrt x + sqrt (#5 + x)) ^^^ #2"*)
agriesma@338
    40
"--- 2 ---";
agriesma@338
    41
StdinSML uI pI ~2 ~2 (Command Rules);
agriesma@338
    42
"--- 3 ---";
agriesma@338
    43
StdinSML uI pI ~2 ~2 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
    44
"--- 4 ---";
agriesma@338
    45
val (_,_,_,_,_,[Error_ _ (*"Error_ Test_simplify not applicable to ..*),
agriesma@338
    46
    Request "apply a rule !"],_) =
agriesma@338
    47
StdinSML uI pI ~3 ~3 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
    48
agriesma@338
    49
agriesma@338
    50
" _________________ exampel [x=4]: Rules 4.2.01b________________ ";
agriesma@338
    51
" _________________ exampel [x=4]: Rules 4.2.01b________________ ";
agriesma@338
    52
val (_,uI,0,0,[],[New_User],_) = StdinSML 0 0 0 0 New_User;
agriesma@338
    53
val (_,_,pI,0,[],[New_Proof],_) = StdinSML uI 0 0 0 New_Proof;
agriesma@338
    54
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(5+x))",
agriesma@338
    55
	   "solveFor x","errorBound (eps=0)",
agriesma@338
    56
	   "solutions L"];
agriesma@338
    57
val (dI',pI',mI') =
agriesma@338
    58
  ("Test.thy",["squareroot","univariate","equation","test"],
agriesma@338
    59
   ("Test.thy","sqrt-equ-test"));
agriesma@338
    60
"--- 0 ---";
agriesma@338
    61
StdinSML uI pI 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
    62
"--- 1 ---";
agriesma@338
    63
StdinSML uI pI ~1 ~1 (Command Accept);
agriesma@338
    64
(* square_equation_left 
agriesma@338
    65
"#9 + #4 * x = (sqrt x + sqrt (#5 + x)) ^^^ #2"*)
agriesma@338
    66
"--- 2 ---";
agriesma@338
    67
StdinSML uI pI ~2 ~2 (Command Rules);
agriesma@338
    68
"--- 3 ---";
agriesma@338
    69
val (_,_,_,_,_,
agriesma@338
    70
   [Error_ _ (*"Error_ 'square_equation_left' not applicable to: #9 *),
agriesma@338
    71
    Select _, Request "select a rule !"],_) =
agriesma@338
    72
StdinSML uI pI ~2 ~2 (RuleFK (Rewrite ("square_equation_left","")));
agriesma@338
    73
agriesma@338
    74
agriesma@338
    75
" _________________ exampel [x=4]: tutor active ________________ ";
agriesma@338
    76
" _________________ exampel [x=4]: tutor active ________________ ";
agriesma@338
    77
val (_,uI,0,0,[],[New_User],_) = StdinSML 0 0 0 0 New_User;
agriesma@338
    78
val (_,_,pI,0,[],[New_Proof],_) = StdinSML uI 0 0 0 New_Proof;
agriesma@338
    79
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(5+x))",
agriesma@338
    80
	   "solveFor x","errorBound (eps=0)",
agriesma@338
    81
	   "solutions L"];
agriesma@338
    82
val (dI',pI',mI') =
agriesma@338
    83
  ("Test.thy",["squareroot","univariate","equation","test"],
agriesma@338
    84
   ("Test.thy","sqrt-equ-test"));
agriesma@338
    85
"--- s1 ---";
agriesma@338
    86
StdinSML uI pI 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
    87
"--- 1 ---";
agriesma@338
    88
StdinSML uI pI ~1 ~1 (Command Accept);
agriesma@338
    89
(* square_equation_left 
agriesma@338
    90
"#9 + #4 * x = (sqrt x + sqrt (#5 + x)) ^^^ #2"*)
agriesma@338
    91
"--- 2 ---";
agriesma@338
    92
StdinSML uI pI ~2 ~2 (Command Accept);
agriesma@338
    93
(* Test_simplify 
agriesma@338
    94
"#9 + #4 * x = #5 + (#2 * x + #2 * sqrt (x ^^^ #2 + #5 * x))"*)
agriesma@338
    95
"--- 3 ---";
agriesma@338
    96
StdinSML uI pI ~3 ~3 (Command Accept);
agriesma@338
    97
(* rearrange_assoc 
agriesma@338
    98
"#9 + #4 * x = #5 + #2 * x + #2 * sqrt (x ^^^ #2 + #5 * x)"*)
agriesma@338
    99
"--- 4 ---";
agriesma@338
   100
StdinSML uI pI ~4 ~4 (Command Accept);
agriesma@338
   101
(* isolate_root 
agriesma@338
   102
"sqrt (x ^^^ #2 + #5 * x) = (#5 + #2 * x + #-1 * (#9 + #4 * x)) // (#-1 *#2)"*)
agriesma@338
   103
"--- 5 ---";
agriesma@338
   104
StdinSML uI pI ~5 ~5 (Command Accept);
agriesma@338
   105
(* Test_simplify 
agriesma@338
   106
"sqrt (x ^^^ #2 + #5 * x) = #2 + x"*)
agriesma@338
   107
"--- 6 ---";
agriesma@338
   108
StdinSML uI pI ~6 ~6 (Command Accept);
agriesma@338
   109
(* square_equation_left 
agriesma@338
   110
"x ^^^ #2 + #5 * x = (#2 + x) ^^^ #2"*)
agriesma@338
   111
"--- 7 ---";
agriesma@338
   112
StdinSML uI pI ~7 ~7 (Command Accept);
agriesma@338
   113
(* Test_simplify 
agriesma@338
   114
"x ^^^ #2 + #5 * x = #4 + (x ^^^ #2 + #4 * x)"*)
agriesma@338
   115
"--- 8 ---";
agriesma@338
   116
StdinSML uI pI ~8 ~8 (Command Accept);
agriesma@338
   117
(* rearrange_assoc 
agriesma@338
   118
"x ^^^ #2 + #5 * x = #4 + x ^^^ #2 + #4 * x"*)
agriesma@338
   119
"--- 9 ---";
agriesma@338
   120
StdinSML uI pI ~9 ~9 (Command Accept);
agriesma@338
   121
(* Test_simplify 
agriesma@338
   122
"x ^^^ #2 + #5 * x = #4 + (x ^^^ #2 + #4 * x)"*)
agriesma@338
   123
"--- 10 ---";
agriesma@338
   124
StdinSML uI pI ~10 ~10 (Command Accept);
agriesma@338
   125
(* norm_equation
agriesma@338
   126
"x ^^^ #2 + #5 * x + #-1 * (#4 + (x ^^^ #2 + #4 * x)) = #0"*)
agriesma@338
   127
"--- 11 ---";
agriesma@338
   128
StdinSML uI pI ~11 ~11 (Command Accept);
agriesma@338
   129
(* Test_simplify
agriesma@338
   130
 "#-4 + x = #0"*)
agriesma@338
   131
"--- 12 ---";
agriesma@338
   132
StdinSML uI pI ~12 ~12 (Command Accept);
agriesma@338
   133
(* isolate_bdv
agriesma@338
   134
"x = #0 + #-1 * #-4" *)
agriesma@338
   135
"--- 13 ---";
agriesma@338
   136
StdinSML uI pI ~13 ~13 (Command Accept);
agriesma@338
   137
(* Test_simplify
agriesma@338
   138
"x = #4" *)
agriesma@338
   139
"--- 14 ---";
agriesma@338
   140
StdinSML uI pI ~14 ~14 (Command Accept);
agriesma@338
   141
val (_,_,1,~14,[],[RuleKF (_,m),FormKF (_,_,_,_,f),Request "Accept ?"],_) = it;
agriesma@338
   142
if m = Check_Postcond ["squareroot","univariate","equation","test"] 
agriesma@338
   143
   andalso f = "[x = 4]" then () 
agriesma@338
   144
else raise error "new behaviour in: exampel [x=4]: tutor active";
agriesma@338
   145
"--- 15 ---";
agriesma@338
   146
StdinSML uI pI ~15 ~15 (Command Accept);
agriesma@338
   147
(* Request "start another example"*)
agriesma@338
   148
agriesma@338
   149
(*---- after restruct. kb 18.9.02 ---- (same is in test-FE...)
agriesma@338
   150
" _________________ exampel [x=4] ________________ ";
agriesma@338
   151
" _________________ exampel [x=4] ________________ ";
agriesma@338
   152
proofs:= []; dials:=([],[],[]); 
agriesma@338
   153
StdinSML 0 0 0 0 New_User;
agriesma@338
   154
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   155
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(5+x))",
agriesma@338
   156
	   "solveFor x","errorBound (eps=0)",
agriesma@338
   157
	   "solutions L"];
agriesma@338
   158
val (dI',pI',mI') =
agriesma@338
   159
  ("Test.thy",["squareroot","univariate","equation","test"],
agriesma@338
   160
   ("Test.thy","sqrt-equ-test"));
agriesma@338
   161
"--- s1 ---";
agriesma@338
   162
val (_,1,1,1,[],[_,_,FormKF (_,_,_,_,f),req],_) =
agriesma@338
   163
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   164
agriesma@338
   165
StdinSML 1 1 ~1 ~1 (Command ActivePlus);
agriesma@338
   166
StdinSML 1 1 ~1 ~1 (Command ActivePlus);
agriesma@338
   167
StdinSML 1 1 ~1 ~1 (Command ActivePlus);
agriesma@338
   168
StdinSML 1 1 ~1 ~1 (Command ActivePlus);(*acti=4..SelRule*)
agriesma@338
   169
agriesma@338
   170
"--- !!! x1 --- strange choice"; (* hier nochmals spec !*)
agriesma@338
   171
StdinSML 1 1 ~1  ~1 (RuleFK (Rewrite_Set "norm_equation"));
agriesma@338
   172
"--- !!! x2 --- ME knows nxt_step";
agriesma@338
   173
StdinSML 1 1 ~2  ~2 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
   174
"--- !!! x3 --- helpless !!!";
agriesma@338
   175
val (_,_,_,_,_,[FormKF (_,_,_,_,res),_,requ],_) =
agriesma@338
   176
StdinSML 1 1 ~3  ~3 (RuleFK (Rewrite_Set "rearrange_assoc"));
agriesma@338
   177
"--- !!! x4 ---";
agriesma@338
   178
val (_,_,_,_,_,[FormKF (_,_,_,_,res),_,requ],_) =
agriesma@338
   179
StdinSML 1 1 ~4  ~4 (RuleFK (Rewrite_Set "isolate_root"));
agriesma@338
   180
"--- !!! x5 --- back at original equation !!!";
agriesma@338
   181
val (_,_,_,_,_,[FormKF (_,_,_,_,res),_,requ],_) =
agriesma@338
   182
StdinSML 1 1 ~5   ~5 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
   183
if res="sqrt (9 + 4 * x) = sqrt x + sqrt (5 + x)"
agriesma@338
   184
then () else raise error "new behaviour in test-example";
agriesma@338
   185
"--- !!! x6 --- not applicable";
agriesma@338
   186
val (_,_,_,_,_,[Error_ err,_,requ],_) =
agriesma@338
   187
StdinSML 1 1 ~6  ~6 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
   188
(*val (_,_,_,_,_,[RuleKF r,requ],_) =*)
agriesma@338
   189
val (_,_,_,_,_,ios,_) =
agriesma@338
   190
StdinSML 1 1 ~6 ~6 (Command YourTurn);
agriesma@338
   191
StdinSML 1 1 ~7 ~7 (Command Accept);
agriesma@338
   192
StdinSML 1 1 ~8 ~8 (Command Accept);
agriesma@338
   193
StdinSML 1 1 ~9 ~9 (Command Accept);
agriesma@338
   194
StdinSML 1 1 ~10 ~10 (Command Accept);
agriesma@338
   195
StdinSML 1 1 ~11 ~11 (Command Accept);
agriesma@338
   196
StdinSML 1 1 ~12 ~12 (Command Accept);
agriesma@338
   197
StdinSML 1 1 ~13 ~13 (Command Accept);
agriesma@338
   198
StdinSML 1 1 ~14 ~14 (Command Accept);
agriesma@338
   199
StdinSML 1 1 ~15 ~15 (Command Accept);
agriesma@338
   200
StdinSML 1 1 ~16 ~16 (Command Accept);
agriesma@338
   201
StdinSML 1 1 ~17 ~17 (Command Accept);
agriesma@338
   202
StdinSML 1 1 ~18 ~18 (Command Accept);
agriesma@338
   203
StdinSML 1 1 ~19 ~19 (Command Accept);
agriesma@338
   204
val (_,1,1,_,[],[FormKF (_,_,_,_,f),Request "Accept ?"],_) = it;
agriesma@338
   205
if f="[x = 4]" then () else raise error "new behaviour in test-example[x=4]";
agriesma@338
   206
agriesma@338
   207
val (_,1,1,~20,[],[Request "start another example",End_Proof],_) =
agriesma@338
   208
StdinSML 1 1 ~20 ~20 (Command Accept);
agriesma@338
   209
-------------------------------------------------------------------*)
agriesma@338
   210
agriesma@338
   211
agriesma@338
   212
agriesma@338
   213
" _________________ exampel [x =(-12)/5] ________________ ";
agriesma@338
   214
" _________________ exampel [x =(-12)/5] ________________ ";
agriesma@338
   215
proofs:= []; dials:=([],[],[]); 
agriesma@338
   216
StdinSML 0 0 0 0 New_User;
agriesma@338
   217
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   218
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(-3+x))",
agriesma@338
   219
	   "solveFor x","errorBound (eps=0)",
agriesma@338
   220
	   "solutions L"];
agriesma@338
   221
val (dI',pI',mI') =
agriesma@338
   222
  ("Test.thy",["squareroot","univariate","equation","test"],
agriesma@338
   223
   ("Test.thy","sqrt-equ-test"));
agriesma@338
   224
"--- s1 ---";
agriesma@338
   225
val (_,1,1,1,[],[_,_,FormKF (_,_,_,_,f),req],_) =
agriesma@338
   226
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   227
agriesma@338
   228
StdinSML 1 1 ~1 ~1 (Command SpeedMinus);
agriesma@338
   229
StdinSML 1 1 ~1 ~1 (Command SpeedMinus);
agriesma@338
   230
StdinSML 1 1 ~1 ~1 (Command Accept);(*->rule*)
agriesma@338
   231
StdinSML 1 1 ~1 ~1 (Command Accept);(*->form*)
agriesma@338
   232
val (_,_,_,_,_,dats,_) =
agriesma@338
   233
StdinSML 1 1 ~2 ~2 (Command Accept);(*->rule*)
agriesma@338
   234
StdinSML 1 1 ~2 ~2 (Command Accept);(*->form*)
agriesma@338
   235
agriesma@338
   236
agriesma@338
   237
StdinSML 1 1 ~3 ~3 (Command ActivePlus);
agriesma@338
   238
StdinSML 1 1 ~3 ~3 (Command ActivePlus);(*act=2: SelRule..PutRuleRes,Tt*)
agriesma@338
   239
StdinSML 1 1 ~3 ~3 (RuleFK (Rewrite_Set "rearrange_assoc"));
agriesma@338
   240
StdinSML 1 1 ~4 ~4 (Command Accept);
agriesma@338
   241
StdinSML 1 1 ~4 ~4 (RuleFK (Rewrite_Set "isolate_root"));
agriesma@338
   242
StdinSML 1 1 ~5 ~5 (Command Accept);
agriesma@338
   243
StdinSML 1 1 ~5 ~5 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
   244
StdinSML 1 1 ~6 ~6 (Command Accept);
agriesma@338
   245
agriesma@338
   246
agriesma@338
   247
StdinSML 1 1 ~6 ~6 (Command SpeedPlus);
agriesma@338
   248
StdinSML 1 1 ~6 ~6 (Command SpeedPlus);(*act=2: SelRule..SelRule*)
agriesma@338
   249
StdinSML 1 1 ~6 ~6 (RuleFK (Rewrite ("square_equation_left","")));
agriesma@338
   250
StdinSML 1 1 ~7 ~7 (RuleFK (Rewrite_Set "Test_simplify"));
agriesma@338
   251
StdinSML 1 1 ~8 ~8 (RuleFK (Rewrite_Set "rearrange_assoc"));
agriesma@338
   252
agriesma@338
   253
agriesma@338
   254
StdinSML 1 1 ~9 ~9 (Command YourTurn);
agriesma@338
   255
StdinSML 1 1 ~10 ~10 (Command Accept);
agriesma@338
   256
StdinSML 1 1 ~11 ~11 (Command Accept);
agriesma@338
   257
StdinSML 1 1 ~12 ~12 (Command Accept);
agriesma@338
   258
StdinSML 1 1 ~13 ~13 (Command Accept);
agriesma@338
   259
StdinSML 1 1 ~14 ~14 (Command Accept);
agriesma@338
   260
val (_,_,_,_,_,dats,_) =
agriesma@338
   261
StdinSML 1 1 ~15 ~15 (Command Accept);
agriesma@338
   262
if dats=[Request "start another example",End_Proof] then () 
agriesma@338
   263
else raise error "new behaviour in test-example 1: [x =(-12)/5]";
agriesma@338
   264
agriesma@338
   265
agriesma@338
   266
" _________________ exampel [x =(-12)/5] Auto ________________ ";
agriesma@338
   267
" _________________ exampel [x =(-12)/5] Auto ________________ ";
agriesma@338
   268
proofs:= []; dials:=([],[],[]); 
agriesma@338
   269
StdinSML 0 0 0 0 New_User;
agriesma@338
   270
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   271
val fmz = ["equality (sqrt(9+4*x)=sqrt x + sqrt(-3+x))",
agriesma@338
   272
	   "solveFor x","errorBound (eps=0)",
agriesma@338
   273
	   "solutions L"];
agriesma@338
   274
val (dI',pI',mI') =
agriesma@338
   275
  ("Test.thy",["squareroot","univariate","equation","test"],
agriesma@338
   276
   ("Test.thy","sqrt-equ-test"));
agriesma@338
   277
val Script sc = (#scr o get_met) ("Test.thy","sqrt-equ-test");
agriesma@338
   278
writeln(term2str sc);
agriesma@338
   279
"--- s1 ---";
agriesma@338
   280
val (_,1,1,1,[],[_,_,FormKF (_,_,_,_,f),req],_) =
agriesma@338
   281
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   282
agriesma@338
   283
val (_,_,_,_,_,dats,_) = StdinSML 1 1 ~1 ~1 (Command Auto);
agriesma@338
   284
val FormKF (~16,Protect,0,Nundef,res) = 
agriesma@338
   285
    (last_elem o drop_last o drop_last) dats;
agriesma@338
   286
if res=(*"[]"*)"[x = -12 / 5]" then () 
agriesma@338
   287
else raise error "new behaviour in test-example 2: [x =(-12)/5]";
agriesma@338
   288
agriesma@338
   289
agriesma@338
   290
agriesma@338
   291
" ----------------- differentiate ----------------- ";
agriesma@338
   292
" ----------------- d_d x (x ^^^ 2 + 3 * x + 4) ----------------- ";
agriesma@338
   293
proofs:= []; dials:=([],[],[]); 
agriesma@338
   294
StdinSML 0 0 0 0 New_User;
agriesma@338
   295
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   296
val fmz = ["functionTerm (d_d x (x ^^^ 2 + 3 * x + 4))", 
agriesma@338
   297
	   "differentiateFor x","derivative f_'_"];
agriesma@338
   298
val (dI',pI',mI') =
agriesma@338
   299
  ("Diff.thy",["derivative_of","function"],
agriesma@338
   300
   ("Diff.thy","differentiate_on_R"));
agriesma@338
   301
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   302
(*FormKF (~10,Protect,0,Nundef,"#3 + #2 * x")*)
agriesma@338
   303
(* 25.4.01: remove Error with NotAppl
agriesma@338
   304
 StdinSML 1 1 ~1  ~1 (RuleFK (Rewrite_Set "Test_simplify"));  
agriesma@338
   305
 StdinSML 1 1 ~2  ~2 (RuleFK (Rewrite_Inst (["(bdv,x)"],("diff_sum",""))));
agriesma@338
   306
 StdinSML 1 1 ~3  ~3 (RuleFK (Rewrite_Inst (["(bdv,x)"],("diff_const",""))));
agriesma@338
   307
uncaught exception TYPE ...
agriesma@338
   308
agriesma@338
   309
val uI=1;val pI=1;val acI= ~3;val cI= ~3;
agriesma@338
   310
val dat=(RuleFK (Rewrite_Inst (["(bdv,x)"],("diff_const",""))));;
agriesma@338
   311
*)
agriesma@338
   312
agriesma@338
   313
agriesma@338
   314
(*18.4.01 tests mit speed*)
agriesma@338
   315
agriesma@338
   316
StdinSML 1 1 ~1 ~1 (Command Accept);
agriesma@338
   317
	 
agriesma@338
   318
StdinSML 1 1 ~2 ~2 (Command SpeedPlus);
agriesma@338
   319
StdinSML 1 1 ~2 ~2 (Command Accept);
agriesma@338
   320
	 
agriesma@338
   321
StdinSML 1 1 ~4 ~4 (Command SpeedMinus);
agriesma@338
   322
StdinSML 1 1 ~4 ~4 (Command Accept);
agriesma@338
   323
	 
agriesma@338
   324
StdinSML 1 1 ~5 ~5 (Command Accept);
agriesma@338
   325
(**)
agriesma@338
   326
val xxx = StdinSML 1 1 ~6 ~6 (Command Auto);
agriesma@338
   327
if xxx = ("@@@@@begin@@@@@",1,1,~6,[],
agriesma@338
   328
   [FormKF (~7,Protect,1,Nundef,"2 * x ^^^ (2 - 1) + 3 * d_d x x + 0"),
agriesma@338
   329
    FormKF (~8,Protect,1,Nundef,"2 * x ^^^ (2 - 1) + 3 * 1 + 0"),
agriesma@338
   330
    FormKF (~9,Protect,1,Nundef,"3 + 2 * x"),
agriesma@338
   331
    FormKF (~10,Protect,0,Nundef,"3 + 2 * x"),
agriesma@338
   332
    Request "start another example",End_Proof],"@@@@@end@@@@@")
agriesma@338
   333
then () else writeln "new behaviour in example d_d x (x ^^^ 2 + 3 * x + 4), SpeedPlus/Minus";
agriesma@338
   334
agriesma@338
   335
agriesma@338
   336
" ----------------- d_d x (x ^^^ 2 + x + 1 / x ^^^ 2) ----------------- ";
agriesma@338
   337
proofs:= []; dials:=([],[],[]); 
agriesma@338
   338
StdinSML 0 0 0 0 New_User;
agriesma@338
   339
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   340
val fmz = ["functionTerm (d_d x (x ^^^ 2 + x + 1 / x ^^^ 2))", 
agriesma@338
   341
	   "differentiateFor x","derivative f_'_"];
agriesma@338
   342
val (dI',pI',mI') =
agriesma@338
   343
  ("Diff.thy",["derivative_of","function"],
agriesma@338
   344
   ("Diff.thy","differentiate_on_R"));
agriesma@338
   345
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   346
StdinSML 1 1 ~1 ~1 (Command Auto);
agriesma@338
   347
(*FormKF (~12,Protect,0,Nundef,"#1 + (#2 * x + #-2 * x ^^^ #-3)")*)
agriesma@338
   348
agriesma@338
   349
" ----------------- Schalk III S.62 Nr. 34a) --------- ";
agriesma@338
   350
proofs:= []; dials:=([],[],[]); 
agriesma@338
   351
StdinSML 0 0 0 0 New_User;
agriesma@338
   352
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   353
val fmz = ["functionTerm (d_d x ((5 * x ^^^ 2 - 2) * (7 * x + 1)))", 
agriesma@338
   354
	   "differentiateFor x","derivative f_'_"];
agriesma@338
   355
val (dI',pI',mI') =
agriesma@338
   356
  ("Diff.thy",["derivative_of","function"],
agriesma@338
   357
   ("Diff.thy","differentiate_on_R"));
agriesma@338
   358
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   359
StdinSML 1 1 ~1 ~1 (Command Auto);
agriesma@338
   360
agriesma@338
   361
agriesma@338
   362
" ----------------- Schalk III S.62 Nr. 51a) --------- ";
agriesma@338
   363
proofs:= []; dials:=([],[],[]); 
agriesma@338
   364
StdinSML 0 0 0 0 New_User;
agriesma@338
   365
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   366
val fmz = ["functionTerm (d_d x ((x+1)/(x- 1)))", 
agriesma@338
   367
	   "differentiateFor x","derivative f_'_"];
agriesma@338
   368
val (dI',pI',mI') =
agriesma@338
   369
  ("Diff.thy",["derivative_of","function"],
agriesma@338
   370
   ("Diff.thy","differentiate_on_R"));
agriesma@338
   371
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   372
StdinSML 1 1 ~1 ~1 (Command Auto);
agriesma@338
   373
(*"#-1 // (#1 + (x ^^^ #2 + #-2 * x)) +\n(x // (#1 + (x ^^^ #2 + #-2 * x)) +\n (#1 + x) * (#-1 // (#1 + (x ^^^ #2 + #-2 * x))))" ----- simplification !?!*)
agriesma@338
   374
agriesma@338
   375
agriesma@338
   376
" ----------------- Schalk III S.144 Nr. 408b) --------- ";
agriesma@338
   377
proofs:= []; dials:=([],[],[]); 
agriesma@338
   378
StdinSML 0 0 0 0 New_User;
agriesma@338
   379
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   380
val fmz = ["functionTerm (d_d x (x ^^^ 2 * (ln ((sin x) ^^^ 2))))", 
agriesma@338
   381
	   "differentiateFor x","derivative f_'_"];
agriesma@338
   382
val (dI',pI',mI') =
agriesma@338
   383
  ("Diff.thy",["derivative_of","function"],
agriesma@338
   384
   ("Diff.thy","differentiate_on_R"));
agriesma@338
   385
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   386
StdinSML 1 1 ~1 ~1 (Command Auto);
agriesma@338
   387
(*"#2 * (x * ln (sin x ^^^ #2)) +\ncos x * (sin x * (x ^^^ #2 * (#2 // sin x ^^^ #2)))"---- cancel sin x !!!*)
agriesma@338
   388
agriesma@338
   389
agriesma@338
   390
" ----------------- Schalk III S.137 Nr. 359g) --------- ";
agriesma@338
   391
proofs:= []; dials:=([],[],[]); 
agriesma@338
   392
StdinSML 0 0 0 0 New_User;
agriesma@338
   393
StdinSML 1 0 0 0 New_Proof;
agriesma@338
   394
val fmz = ["functionTerm (d_d x (sqrt (cos (3*x))))", 
agriesma@338
   395
	   "differentiateFor x","derivative f_'_"];
agriesma@338
   396
val (dI',pI',mI') =
agriesma@338
   397
  ("Diff.thy",["derivative_of","function"],
agriesma@338
   398
   ("Diff.thy","differentiate_on_R"));
agriesma@338
   399
StdinSML 1 1 1 1 (RuleFK (Init_Proof (fmz,(dI',pI',mI'))));
agriesma@338
   400
StdinSML 1 1 ~1 ~1 (Command Auto);