test/Tools/isac/Knowledge/system.sml
author wneuper <Walther.Neuper@jku.at>
Sun, 09 Oct 2022 07:44:22 +0200
changeset 60565 f92963a33fe3
parent 60329 0c10aeff57d7
child 60571 19a172de0bb5
permissions -rw-r--r--
eliminate term2str in test/*
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
"-----------------------------------------------------------------";
wneuper@59370
    12
"----------- normalise system ------------------------------------";
neuper@37906
    13
"----------- me --------------------------------------------------";
neuper@37906
    14
"-----------------------------------------------------------------";
neuper@37906
    15
"-----------------------------------------------------------------";
neuper@37906
    16
"-----------------------------------------------------------------";
neuper@37906
    17
neuper@37906
    18
wneuper@59370
    19
"----------- normalise system ------------------------------------";
wneuper@59370
    20
"----------- normalise system ------------------------------------";
wneuper@59370
    21
"----------- normalise system ------------------------------------";
Walther@60565
    22
val t = TermC.parse_test @{context} "[0 = c*0 + - 1*q_0*(0 \<up> 2 / 2) + c_2,\
walther@60329
    23
		 \ 0 = c*L + - 1*q_0*(L \<up> 2 / 2) + c_2]";
neuper@37926
    24
val SOME (t,_) = rewrite_set_ thy false norm_Poly t;
walther@59868
    25
if UnparseC.term t = 
walther@60329
    26
"[0 = - 1 * q_0 * (0 / 2) + c_2, 0 = L * c + - 1 * q_0 * (L \<up> 2 / 2) + c_2]"
neuper@38031
    27
then () else error "system.sml, diff.behav. in norm_Poly";
neuper@37906
    28
Walther@60565
    29
val t = TermC.parse_test @{context} "[0 = c*0 + - 1*q_0*(0 \<up> 2 / 2) + c_2,\
walther@60329
    30
		 \ 0 = c*L + - 1*q_0*(L \<up> 2 / 2) + c_2]";
neuper@37926
    31
val SOME (t,_) = rewrite_set_ thy false norm_Rational t;
walther@59868
    32
if UnparseC.term t = 
walther@60329
    33
"[0 = c_2, 0 = (2 * c_2 + 2 * L * c + - 1 * L \<up> 2 * q_0) / 2]"
neuper@38031
    34
then () else error "system.sml, diff.behav. in norm_Rational";
neuper@37906
    35
neuper@37906
    36
Walther@60565
    37
val t = TermC.parse_test @{context} "nth_ 1 [0 = c*0 + - 1*q_0*(0 \<up> 2 / 2) + c_2,\
walther@60329
    38
		 \ 0 = c*L + - 1*q_0*(L \<up> 2 / 2) + c_2]";
walther@59801
    39
val SOME (t,_) = rewrite_set_ thy false prog_expr t;
walther@60329
    40
if UnparseC.term t = "0 = c * 0 + - 1 * q_0 * (0 \<up> 2 / 2) + c_2"
walther@59801
    41
then () else error "system.sml, prog_expr";
neuper@37906
    42
neuper@37906
    43
neuper@37906
    44
"----------- me --------------------------------------------------";
neuper@37906
    45
"----------- me --------------------------------------------------";
neuper@37906
    46
"----------- me --------------------------------------------------";
walther@60329
    47
val fmz = ["equalities [0 = c_2 + c * 0 + - 1 * q_0 / 2 * 0 \<up> 2, 0 = c_2 + c * L + - 1 * q_0 / 2 * L \<up> 2]",
neuper@37906
    48
	   "solveForVars [c, c_2]", "solution ss___"];
neuper@37906
    49
val (dI',pI',mI') =
walther@59997
    50
  ("Biegelinie",["normalise", "2x2", "LINEAR", "system"],
walther@59997
    51
   ["EqSystem", "normalise", "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") => ()
walther@60329
    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;
wneuper@59367
    62
case nxt of (_, Apply_Method ["EqSystem", "normalise", "2x2"]) => ()
walther@60329
    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@55276
    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") => ()
walther@60329
    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;
wneuper@59367
    82
case nxt of (_, Apply_Method ["EqSystem", "normalise", "2x2"]) => ()
walther@60329
    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
(*---
walther@60329
    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
wneuper@59111
    99
default_print_depth 11;nxt;default_print_depth 3;
neuper@37906
   100
---*)
neuper@37906
   101
(*
neuper@37906
   102
use"../smltest/IsacKnowledge/system.sml";
neuper@37906
   103
*)