src/sml/systest/details.sml
author agriesma
Thu, 17 Apr 2003 18:01:03 +0200
branchgriesmayer
changeset 338 90390fecbe74
child 708 7d3338563b8c
permissions -rw-r--r--
neues cvs-verzeichnis
agriesma@338
     1
(* use"../systest/details.sml";
agriesma@338
     2
   use"systest/details.sml";
agriesma@338
     3
   use"details.sml";
agriesma@338
     4
agriesma@338
     5
########################################################
agriesma@338
     6
is NOT dependent on Test, but on other thys:
agriesma@338
     7
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
agriesma@338
     8
uses from Rational.ML: Rrls cancel_p, Rrls cancel
agriesma@338
     9
which in turn
agriesma@338
    10
uses from Poly.ML: Rls make_polynomial, Rls expand_binom 
agriesma@338
    11
######################################################## 
agriesma@338
    12
*)
agriesma@338
    13
"-------- cancel, without detail ------------------------------";
agriesma@338
    14
"-------- cancel, detail rev-rew (cancel) afterwards ----------";
agriesma@338
    15
"-------------- cancel_p, without detail ------------------------------";
agriesma@338
    16
"-------------- cancel_p, detail rev-rew (cancel) afterwards ----------";
agriesma@338
    17
agriesma@338
    18
store_pbt
agriesma@338
    19
 (prep_pbt Test.thy
agriesma@338
    20
 (["test"],
agriesma@338
    21
  [],
agriesma@338
    22
  e_rls, None, []));
agriesma@338
    23
store_pbt
agriesma@338
    24
 (prep_pbt Test.thy
agriesma@338
    25
 (["detail","test"],
agriesma@338
    26
  [("#Given" ,["realTestGiven t_"]),
agriesma@338
    27
   ("#Find"  ,["realTestFind s_"])
agriesma@338
    28
   ],
agriesma@338
    29
  e_rls, None, [("Test.thy","test_detail")]));
agriesma@338
    30
agriesma@338
    31
methods:= overwritel (!methods,
agriesma@338
    32
[
agriesma@338
    33
 prep_met
agriesma@338
    34
 (("Test.thy","test_detail_binom"):metID,
agriesma@338
    35
  [("#Given" ,["realTestGiven t_"]),
agriesma@338
    36
   ("#Find"  ,["realTestFind s_"])
agriesma@338
    37
   ],
agriesma@338
    38
  {rew_ord'="sqrt_right",rls'=tval_rls,calc = [],srls=e_rls,prls=e_rls,
agriesma@338
    39
   asm_rls=[],asm_thm=[("real_mult_div_cancel2","")]},
agriesma@338
    40
 "Script Testterm (g_::real) =   \
agriesma@338
    41
 \(((Rewrite_Set expand_binoms False) @@\
agriesma@338
    42
 \  (Rewrite_Set cancel False)) g_)"
agriesma@338
    43
 ),
agriesma@338
    44
 prep_met
agriesma@338
    45
 (("Test.thy","test_detail_poly"):metID,
agriesma@338
    46
  [("#Given" ,["realTestGiven t_"]),
agriesma@338
    47
   ("#Find"  ,["realTestFind s_"])
agriesma@338
    48
   ],
agriesma@338
    49
  {rew_ord'="sqrt_right",rls'=tval_rls,calc=[],srls=e_rls,prls=e_rls,
agriesma@338
    50
   asm_rls=[],asm_thm=[("real_mult_div_cancel2","")]},
agriesma@338
    51
 "Script Testterm (g_::real) =   \
agriesma@338
    52
 \(((Rewrite_Set make_polynomial False) @@\
agriesma@338
    53
 \  (Rewrite_Set cancel_p False)) g_)"
agriesma@338
    54
 )]);
agriesma@338
    55
agriesma@338
    56
(*---- funktionieren mit Rationals.ML: dummy-Funktionen(1)--------*)
agriesma@338
    57
agriesma@338
    58
"-------- cancel, without detail ------------------------------";
agriesma@338
    59
"-------- cancel, without detail ------------------------------";
agriesma@338
    60
"-------- cancel, without detail ------------------------------";
agriesma@338
    61
val fmz = ["realTestGiven (((3 + x) * (3 - x)) / ((3 + x) * (3 + x)))",
agriesma@338
    62
	   "realTestFind s"];
agriesma@338
    63
val (dI',pI',mI') =
agriesma@338
    64
  ("Test.thy",["detail","test"],("Test.thy","test_detail_binom"));
agriesma@338
    65
agriesma@338
    66
val p = e_pos'; val c = [];
agriesma@338
    67
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
    68
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
    69
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    70
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    71
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    72
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    73
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    74
(*nxt = ("Apply_Method",Apply_Method ("Test.thy","test_detail"))*)
agriesma@338
    75
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    76
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    77
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    78
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    79
(*"(3 + -1 * x) / (3 + x)"*)
agriesma@338
    80
if nxt = ("End_Proof'",End_Proof') then ()
agriesma@338
    81
else raise error "details.sml, changed behaviour in: without detail";
agriesma@338
    82
agriesma@338
    83
agriesma@338
    84
"-------- cancel, detail rev-rew (cancel) afterwards ----------";
agriesma@338
    85
"-------- cancel, detail rev-rew (cancel) afterwards ----------";
agriesma@338
    86
"-------- cancel, detail rev-rew (cancel) afterwards ----------";
agriesma@338
    87
 val p = e_pos'; val c = [];
agriesma@338
    88
 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
    89
 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
    90
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    91
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    92
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    93
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    94
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    95
 (*nxt = ("Apply_Method",Apply_Method ("Test.thy","test_detail"))*)
agriesma@338
    96
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
    97
 (*val nxt = ("Rewrite_Set",Rewrite_Set "expand_binoms")*)
agriesma@338
    98
 val (p,_,f,nxt,_,pt) = me nxt p [] pt; (* rewrite must exist for Detail*)
agriesma@338
    99
 val nxt = ("Detail",Detail);"----------------------";
agriesma@338
   100
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   101
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   102
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   103
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   104
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   105
 (*val nxt = ("End_Detail",End_Detail)*)
agriesma@338
   106
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   107
 (*val nxt = ("Rewrite_Set",Rewrite_Set "cancel")*)
agriesma@338
   108
 val (p,_,f,nxt,_,pt) = me nxt p [] pt; (* rewrite must exist for Detail*)
agriesma@338
   109
 val nxt = ("Detail",Detail);"----------------------";
agriesma@338
   110
 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e;
agriesma@338
   111
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   112
(*15.10.02*)
agriesma@338
   113
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   114
(*
agriesma@338
   115
rewrite "Rationals.thy" "tless_true""e_rls"true("sym_real_plus_minus_binom","")
agriesma@338
   116
	"3 ^^^ 2 - x ^^^ 2";
agriesma@338
   117
*)
agriesma@338
   118
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   119
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   120
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   121
 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e;
agriesma@338
   122
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   123
if f = Form' (FormKF (~1,EdUndef,0,Nundef,"(3 - x) / (3 + x)"))
agriesma@338
   124
   andalso nxt = ("End_Proof'",End_Proof') then ()
agriesma@338
   125
else raise error "new behaviour in details.sml, \
agriesma@338
   126
		 \cancel, rev-rew (cancel) afterwards";
agriesma@338
   127
agriesma@338
   128
(*---- funktionieren mit Rationals.ML: dummy-Funktionen(1)--------*)
agriesma@338
   129
agriesma@338
   130
"-------------- cancel_p, without detail ------------------------------";
agriesma@338
   131
"-------------- cancel_p, without detail ------------------------------";
agriesma@338
   132
"-------------- cancel_p, without detail ------------------------------";
agriesma@338
   133
val fmz = ["realTestGiven (((3 + x)*(3+(-1)*x)) / ((3+x) * (3+x)))",
agriesma@338
   134
	   "realTestFind s"];
agriesma@338
   135
val (dI',pI',mI') =
agriesma@338
   136
  ("Test.thy",["detail","test"],("Test.thy","test_detail_poly"));
agriesma@338
   137
agriesma@338
   138
val p = e_pos'; val c = [];
agriesma@338
   139
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   140
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
   141
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   142
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   143
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   144
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   145
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   146
(*nxt = ("Apply_Method",Apply_Method ("Test.thy","test_detail"))*)
agriesma@338
   147
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   148
"(3 + x) * (3 + -1 * x) / ((3 + x) * (3 + x))";
agriesma@338
   149
agriesma@338
   150
 (*14.3.03*)
agriesma@338
   151
 val t = str2term "(3 + x) * (3 + -1 * x) / ((3 + x) * (3 + x))";
agriesma@338
   152
 val Some (t,_) = rewrite_set_ thy false make_polynomial t; term2str t;
agriesma@338
   153
 "(9 + - (x ^^^ 2)) / (9 + 6 * x + x ^^^ 2)";
agriesma@338
   154
 val Some (t,_) = rewrite_set_ thy false cancel_p t; term2str t;
agriesma@338
   155
 cancel_p_ thy t;
agriesma@338
   156
agriesma@338
   157
 val t = str2term "(3 + x) * (3 + -1 * x)";
agriesma@338
   158
 val Some (t,_) = rewrite_set_ thy false expand_poly t; term2str t;
agriesma@338
   159
 "3 * 3 + 3 * (-1 * x) + (x * 3 + x * (-1 * x))";
agriesma@338
   160
 val Some (t,_) = rewrite_set_ thy false order_add_mult t; term2str t;
agriesma@338
   161
 "3 * 3 + (3 * x + (-1 * (3 * x) + -1 * (x * x)))";
agriesma@338
   162
 val Some (t,_) = rewrite_set_ thy false simplify_power t; term2str t;
agriesma@338
   163
 "3 ^^^ 2 + (3 * x + (-1 * (3 * x) + -1 * x ^^^ 2))";
agriesma@338
   164
 val Some (t,_) = rewrite_set_ thy false collect_numerals t; term2str t;
agriesma@338
   165
 "9 + (0 * x + -1 * x ^^^ 2)";
agriesma@338
   166
 val Some (t,_) = rewrite_set_ thy false reduce_012 t; term2str t;
agriesma@338
   167
 "9 + - (x ^^^ 2)"; 
agriesma@338
   168
 (*14.3.03*)
agriesma@338
   169
agriesma@338
   170
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   171
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   172
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   173
(*"(3 + -1 * x) / (3 + x)"*)
agriesma@338
   174
if nxt = ("End_Proof'",End_Proof') then ()
agriesma@338
   175
else raise error "details.sml, changed behaviour in: cancel_p, without detail";
agriesma@338
   176
agriesma@338
   177
"-------------- cancel_p, detail rev-rew (cancel) afterwards ----------";
agriesma@338
   178
"-------------- cancel_p, detail rev-rew (cancel) afterwards ----------";
agriesma@338
   179
"-------------- cancel_p, detail rev-rew (cancel) afterwards ----------";
agriesma@338
   180
 val p = e_pos'; val c = [];
agriesma@338
   181
 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   182
 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
   183
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   184
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   185
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   186
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   187
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   188
 (*nxt = ("Apply_Method",Apply_Method ("Test.thy","test_detail_poly"))*)
agriesma@338
   189
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   190
 (*val nxt = ("Rewrite_Set",Rewrite_Set "make_polynomial")*)
agriesma@338
   191
 val (p,_,f,nxt,_,pt) = me nxt p [] pt; (* rewrite must exist for Detail*)
agriesma@338
   192
agriesma@338
   193
(*14.3.03.FIXXXXXME since Isa02/reverse-rew.sml:
agriesma@338
   194
  fun make_deriv ...  Rls_ not yet impl. (| Thm | Calc) 
agriesma@338
   195
  Rls_ needed for make_polynomial ----------------------
agriesma@338
   196
 val nxt = ("Detail",Detail);"----------------------";
agriesma@338
   197
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   198
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   199
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   200
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   201
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   202
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   203
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   204
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   205
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   206
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   207
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   208
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   209
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   210
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   211
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   212
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   213
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   214
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   215
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   216
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   217
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   218
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   219
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   220
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   221
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   222
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   223
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   224
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   225
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   226
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   227
 if nxt = ("End_Detail",End_Detail) then ()
agriesma@338
   228
 else raise error "details.sml: new behav. in Detail make_polynomial";
agriesma@338
   229
----------------------------------------------------------------------*)
agriesma@338
   230
agriesma@338
   231
(*---------------
agriesma@338
   232
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   233
 (*val nxt = ("Rewrite_Set",Rewrite_Set "cancel_p")*)
agriesma@338
   234
 val (p,_,f,nxt,_,pt) = me nxt p [] pt; (* rewrite must exist for Detail*)
agriesma@338
   235
 val nxt = ("Detail",Detail);"----------------------";
agriesma@338
   236
 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e;
agriesma@338
   237
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   238
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   239
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   240
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   241
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   242
 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e;
agriesma@338
   243
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   244
if f = Form' (FormKF (~1,EdUndef,0,Nundef,"(3 + x) / (3 - x)"))
agriesma@338
   245
   andalso nxt = ("End_Proof'",End_Proof') then ()
agriesma@338
   246
else raise error "new behaviour in details.sml, cancel_p afterwards";
agriesma@338
   247
agriesma@338
   248
----------------*)
agriesma@338
   249
agriesma@338
   250
agriesma@338
   251
agriesma@338
   252
agriesma@338
   253
agriesma@338
   254
val fmz = ["realTestGiven ((x+3)+(-1)*(2+6*x))",
agriesma@338
   255
	   "realTestFind s"];
agriesma@338
   256
val (dI',pI',mI') =
agriesma@338
   257
  ("Test.thy",["detail","test"],("Test.thy","test_detail_poly"));
agriesma@338
   258
agriesma@338
   259
 val p = e_pos'; val c = [];
agriesma@338
   260
 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
agriesma@338
   261
 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;
agriesma@338
   262
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   263
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   264
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   265
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   266
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   267
 (*nxt = ("Apply_Method",Apply_Method ("Test.thy","test_detail_poly"))*)
agriesma@338
   268
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   269
(*16.10.02 --- kommt auf POLY_EXCEPTION ?!??? ----------------------------
agriesma@338
   270
 (*val nxt = ("Rewrite_Set",Rewrite_Set "make_polynomial")*)
agriesma@338
   271
 val (p,_,f,nxt,_,pt) = me nxt p [] pt; (* rewrite must exist for Detail*)
agriesma@338
   272
 val nxt = ("Detail",Detail);"----------------------";
agriesma@338
   273
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   274
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   275
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   276
 val (p,_,f,nxt,_,pt) = me nxt p [] pt;
agriesma@338
   277
-------------------------------------------------------------------------*)
agriesma@338
   278
agriesma@338
   279
agriesma@338
   280