test/Tools/isac/Knowledge/system.sml
author Walther Neuper <neuper@ist.tugraz.at>
Tue, 28 Sep 2010 09:06:56 +0200
branchisac-update-Isa09-2
changeset 38031 460c24a6a6ba
parent 37991 028442673981
child 55276 ce872d7781d2
permissions -rw-r--r--
tuned error and writeln

# raise error --> error
# writeln in atomtyp, atomty, atomt and xmlsrc
neuper@37906
     1
(* tests on systems of equations over the reals
neuper@37906
     2
   author: Walther Neuper 050905
neuper@37906
     3
   (c) due to copyright terms
neuper@37906
     4
neuper@37906
     5
use"../smltest/IsacKnowledge/system.sml";
neuper@37906
     6
*)
neuper@37906
     7
val thy = EqSystem.thy;
neuper@37906
     8
neuper@37906
     9
"-----------------------------------------------------------------";
neuper@37906
    10
"table of contents -----------------------------------------------";
neuper@37906
    11
"-----------------------------------------------------------------";
neuper@37906
    12
"----------- normalize system ------------------------------------";
neuper@37906
    13
"----------- me --------------------------------------------------";
neuper@37906
    14
"-----------------------------------------------------------------";
neuper@37906
    15
"-----------------------------------------------------------------";
neuper@37906
    16
"-----------------------------------------------------------------";
neuper@37906
    17
neuper@37906
    18
neuper@37906
    19
"----------- normalize system ------------------------------------";
neuper@37906
    20
"----------- normalize system ------------------------------------";
neuper@37906
    21
"----------- normalize system ------------------------------------";
neuper@37906
    22
val t = str2term "[0 = c*0 + -1*q_0*(0^^^2 / 2) + c_2,\
neuper@37906
    23
		 \ 0 = c*L + -1*q_0*(L^^^2 / 2) + c_2]";
neuper@37926
    24
val SOME (t,_) = rewrite_set_ thy false norm_Poly t;
neuper@37906
    25
if term2str t = 
neuper@37906
    26
"[0 = -1 * q_0 * (0 / 2) + c_2, 0 = L * c + -1 * q_0 * (L ^^^ 2 / 2) + c_2]"
neuper@38031
    27
then () else error "system.sml, diff.behav. in norm_Poly";
neuper@37906
    28
neuper@37906
    29
val t = str2term "[0 = c*0 + -1*q_0*(0^^^2 / 2) + c_2,\
neuper@37906
    30
		 \ 0 = c*L + -1*q_0*(L^^^2 / 2) + c_2]";
neuper@37926
    31
val SOME (t,_) = rewrite_set_ thy false norm_Rational t;
neuper@37906
    32
if term2str t = 
neuper@37906
    33
"[0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]"
neuper@38031
    34
then () else error "system.sml, diff.behav. in norm_Rational";
neuper@37906
    35
neuper@37906
    36
neuper@37906
    37
val t = str2term "nth_ 1 [0 = c*0 + -1*q_0*(0^^^2 / 2) + c_2,\
neuper@37906
    38
		 \ 0 = c*L + -1*q_0*(L^^^2 / 2) + c_2]";
neuper@37926
    39
val SOME (t,_) = rewrite_set_ thy false list_rls t;
neuper@37906
    40
if term2str t = "0 = c * 0 + -1 * q_0 * (0 ^^^ 2 / 2) + c_2"
neuper@38031
    41
then () else error "system.sml, list_rls";
neuper@37906
    42
neuper@37906
    43
neuper@37906
    44
"----------- me --------------------------------------------------";
neuper@37906
    45
"----------- me --------------------------------------------------";
neuper@37906
    46
"----------- me --------------------------------------------------";
neuper@37906
    47
val fmz = ["equalities [0 = c_2 + c * 0 + -1 * q_0 / 2 * 0 ^^^ 2, 0 = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2]",
neuper@37906
    48
	   "solveForVars [c, c_2]", "solution ss___"];
neuper@37906
    49
val (dI',pI',mI') =
neuper@37991
    50
  ("Biegelinie",["normalize","2x2","linear","system"],
neuper@37906
    51
   ["EqSystem","normalize","2x2"]);
neuper@37906
    52
val p = e_pos'; val c = [];
neuper@37906
    53
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
    54
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    55
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    56
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37991
    57
case nxt of (_, Specify_Theory "Biegelinie") => ()
neuper@38031
    58
	  | _ => error "system.sml diff.behav.in me --1";
neuper@37906
    59
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    60
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    61
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    62
case nxt of (_, Apply_Method ["EqSystem", "normalize", "2x2"]) => ()
neuper@38031
    63
	  | _ => error "system.sml diff.behav.in me --2";
neuper@37906
    64
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    65
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    66
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    67
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    68
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    69
neuper@37991
    70
case nxt of (_, Subproblem ("Biegelinie", ["triangular", "2x2", 
neuper@37906
    71
					       "linear", "system"])) => ()
neuper@38031
    72
	  | _ => error "system.sml diff.behav.in me --3";
neuper@37906
    73
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
neuper@37906
    74
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    75
val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    76
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37991
    77
case nxt of (_, Specify_Theory "Biegelinie") => ()
neuper@38031
    78
	  | _ => error "system.sml diff.behav.in me --1";
neuper@37906
    79
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    80
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    81
val (p,_,f,nxt,_,pt) = me nxt p c pt;
neuper@37906
    82
case nxt of (_, Apply_Method ["EqSystem", "normalize", "2x2"]) => ()
neuper@38031
    83
	  | _ => error "system.sml diff.behav.in me --2";
neuper@37906
    84
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    85
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    86
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    87
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    88
val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f;
neuper@37906
    89
neuper@37906
    90
neuper@37906
    91
(*---
neuper@37906
    92
WN060421 stopped as soon as exp_IsacCore_Equ_Sys_Lin_No-1.xml worked ...
neuper@37906
    93
neuper@37906
    94
if f2str f = "" then ()
neuper@38031
    95
else error  "system.sml diff.behav.in me --99";
neuper@37906
    96
case nxt of ("End_Proof'", End_Proof') => ()
neuper@38031
    97
	  | _ => error  "system.sml diff.behav.in me --99";
neuper@37906
    98
neuper@37906
    99
print_depth 11;nxt;print_depth 3;
neuper@37906
   100
---*)
neuper@37906
   101
(*
neuper@37906
   102
use"../smltest/IsacKnowledge/system.sml";
neuper@37906
   103
*)