test/Tools/isac/Interpret/mathengine.sml
author Walther Neuper <neuper@ist.tugraz.at>
Tue, 28 Sep 2010 09:06:56 +0200
branchisac-update-Isa09-2
changeset 38031 460c24a6a6ba
parent 37960 ec20007095f2
child 38058 ad0485155c0e
permissions -rw-r--r--
tuned error and writeln

# raise error --> error
# writeln in atomtyp, atomty, atomt and xmlsrc
neuper@37906
     1
(* test for sml/ME/mathengine.sml
neuper@37906
     2
   authors: Walther Neuper 2000, 2006
neuper@37906
     3
   (c) due to copyright terms
neuper@37906
     4
neuper@37906
     5
use"../smltest/ME/mathengine.sml";
neuper@37906
     6
use"mathengine.sml";
neuper@37906
     7
*)
neuper@37906
     8
neuper@37906
     9
"-----------------------------------------------------------------";
neuper@37906
    10
"table of contents -----------------------------------------------";
neuper@37906
    11
"-----------------------------------------------------------------";
neuper@37906
    12
"----------- debugging setContext..pbl_ --------------------------";
neuper@37906
    13
"----------- tryrefine -------------------------------------------";
neuper@37906
    14
"-----------------------------------------------------------------";
neuper@37906
    15
"-----------------------------------------------------------------";
neuper@37906
    16
"-----------------------------------------------------------------";
neuper@37906
    17
neuper@37906
    18
neuper@37906
    19
neuper@37906
    20
"----------- debugging setContext..pbl_ --------------------------";
neuper@37906
    21
"----------- debugging setContext..pbl_ --------------------------";
neuper@37906
    22
"----------- debugging setContext..pbl_ --------------------------";
neuper@37906
    23
states:=[];
neuper@37906
    24
CalcTree
neuper@37906
    25
[(["equality (x+1=2)", "solveFor x","solutions L"], 
neuper@37906
    26
  ("Test.thy", 
neuper@37906
    27
   ["sqroot-test","univariate","equation","test"],
neuper@37906
    28
   ["Test","squ-equ-test-subpbl1"]))];
neuper@37906
    29
Iterator 1;
neuper@37906
    30
moveActiveRoot 1; modelProblem 1;
neuper@37906
    31
neuper@37906
    32
val pos as (p,_) = ([],Pbl);
neuper@37906
    33
val guh = "pbl_equ_univ";
neuper@37906
    34
checkContext 1 pos guh;
neuper@37906
    35
val ((pt,_),_) = get_calc 1;
neuper@37906
    36
val pp = par_pblobj pt p;
neuper@37906
    37
val keID = guh2kestoreID guh;
neuper@37906
    38
case context_pbl keID pt pp of (true,["univariate", "equation"],_,_,_)=>()
neuper@38031
    39
| _ => error "mathengine.sml: context_pbl .. pbl_equ_univ checked";
neuper@37906
    40
neuper@37906
    41
case get_obj g_spec pt p of (_, ["e_pblID"], _) => ()
neuper@38031
    42
| _ => error "mathengine.sml: context_pbl .. pbl still empty";
neuper@37906
    43
setContext 1 pos guh;
neuper@37906
    44
val ((pt,_),_) = get_calc 1;
neuper@37906
    45
case get_obj g_spec pt p of (_, ["univariate", "equation"], _) => ()
neuper@38031
    46
| _ => error "mathengine.sml: context_pbl .. pbl set";
neuper@37906
    47
neuper@37906
    48
neuper@37906
    49
setContext 1 pos "met_eq_lin";
neuper@37906
    50
val ((pt,_),_) = get_calc 1;
neuper@37906
    51
case get_obj g_spec pt p of (_,  _, ["LinEq", "solve_lineq_equation"]) => ()
neuper@38031
    52
| _ => error "mathengine.sml: context_pbl .. pbl set";
neuper@37906
    53
neuper@37906
    54
neuper@37906
    55
"----------- tryrefine -------------------------------------------";
neuper@37906
    56
"----------- tryrefine -------------------------------------------";
neuper@37906
    57
"----------- tryrefine -------------------------------------------";
neuper@37906
    58
states:=[];
neuper@37906
    59
CalcTree [(["equality (x/(x^2 - 6*x+9) - 1/(x^2 - 3*x) =1/x)", 
neuper@37906
    60
	    "solveFor x", "solutions L"],
neuper@37906
    61
	   ("RatEq.thy",["univariate","equation"],["no_met"]))];
neuper@37906
    62
Iterator 1;
neuper@37906
    63
moveActiveRoot 1; autoCalculate 1 CompleteCalc;
neuper@37906
    64
neuper@37906
    65
refineProblem 1 ([1],Res) "pbl_equ_univ" 
neuper@37906
    66
(*gives "pbl_equ_univ_rat" correct*);
neuper@37906
    67
neuper@37906
    68
refineProblem 1 ([1],Res) (pblID2guh ["linear","univariate","equation"])
neuper@37906
    69
(*ives "pbl_equ_univ_lin" incorrect*);