test/Tools/isac/Knowledge/system.sml
author Walther Neuper <neuper@ist.tugraz.at>
Wed, 08 Sep 2010 16:47:22 +0200
branchisac-update-Isa09-2
changeset 37991 028442673981
parent 37960 ec20007095f2
child 38031 460c24a6a6ba
permissions -rw-r--r--
tuned src + test

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