test/Tools/isac/Knowledge/rlang.sml
author Walther Neuper <neuper@ist.tugraz.at>
Mon, 16 Sep 2013 12:20:00 +0200
changeset 52105 2786cc9704c8
parent 52101 c3f399ce32af
child 59188 c477d0f79ab9
permissions -rw-r--r--
Test_Isac works again, perfectly ..

# the same tests works as in 8df4b6196660 (the *child* of "Test_Isac works...")
# ..EXCEPT those marked with "exception Div raised"
# for general state of tests see Test_Isac section {* history of tests *}.
     1 (* tests for various kinds of univariate equations.
     2   Author: Richard Lang 2003
     3   (c) due to copyright terms
     4 
     5 These tests have not been updated with the transition Isabelle2002 --> 2011
     6 # because there are many other tests on equations in other test-files
     7 # some of these equations are twice, e.g. x / (x ^ 2 - 6 * x + 9) - 1 / (x ^ 2 - 3 * x) = 1 / x, x
     8 # this file needs specifically much cleaning.
     9 *)
    10 
    11 (******************************************************************
    12 WN.060104 transfer marked (*E..*)examples to the exp-collection
    13  # exp_IsacCore_Equ_Uni_Poly.xml   from rlang.sml    (*EP*)   exp
    14  # exp_IsacCore_Equ_Uni_Rat.xml    from rlang.sml    (*ER*)   exp
    15  # exp_IsacCore_Equ_Uni_Root.xml   from rlang.sml    (*EO*)   exp
    16 *******************************************************************)
    17 
    18 
    19 
    20 (*WN.12.6.03: for TODOs search 'writeln', for simplification search MG*)
    21 (* use"kbtest/rlang.sml";
    22    use"rlang.sml";
    23    (c) Richard Lang 2003
    24    tests over all equations implemented in his diploma thesis
    25    Elementare Gleichungen der Mittelschulmathematik in der ISAC Wissensbasis,
    26    Master's thesis, University of Technology, Graz, Austria, March 2003.
    27    created: 030228
    28    by: rlang
    29    last change: 030603
    30 *)
    31 (*@Book{bSchalk1,
    32   author =       {Schalk, Heinz-Christian and Binder, Christian and Fertl, Walter and 
    33                   Firneis, Friedrich and Gems, Werner and Lehner, Dieter and 
    34                   Plihal, Andreas and Würl,Manfred},
    35   title =        {Mathematik für höhere technische Lehranstalten Band I},
    36   publisher =    {Reniets Verlag},
    37   year =         {1986},
    38   note =         {Schulbuch-Nr. 942},
    39 }
    40 
    41 @Book{bSchalk2,
    42   author =       {Schalk, Heinz-Christian and Baumgartner, Gerhard and Binder, Christian and 
    43                   Eder, Hans Gerhard and Fertl, Walter and Firneis, Friedrich and 
    44                   Konstantiniuk, Peter and Plihal, Andreas and Rümmele, Goswin and 
    45                   Steinwender, Andreas and Zangerl, Nikolaus},
    46   title =        {Mathematik für höhere technische Lehranstalten Band II},
    47   publisher =    {Reniets Verlag},
    48   year =         {1987},
    49   note =         {Schulbuch-Nr. 1682},
    50 }
    51 *)
    52 
    53 (* Compiler.Control.Print.printDepth:=5; (*4 default*) 
    54 trace_rewrite:=true;
    55  trace_rewrite:=false;
    56  refine fmz ["univariate","equation"];
    57 *)
    58 "---- rlang.sml begin-----------------------------------";
    59 (*-----------------  Schalk I s.86 Bsp 5 ------------------------*)
    60 "Schalk I s.86 Bsp 5 (3*x - 1 - (5*x - (2 - 4*x)) = -11)";
    61 "Schalk I s.86 Bsp 5 (3*x - 1 - (5*x - (2 - 4*x)) = -11)";
    62 "Schalk I s.86 Bsp 5 (3*x - 1 - (5*x - (2 - 4*x)) = -11)";
    63 (*EP*)
    64 val fmz = ["equality (3*x - 1 - (5*x - (2 - 4*x)) = -11)",
    65 	   "solveFor x","solutions L"];
    66 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
    67 (*val p = e_pos'; 
    68 val c = []; 
    69 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
    70 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
    71 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
    72 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    73 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    74 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    75 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    76 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    77 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    78 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    79 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    80 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    81 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    82 
    83 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    84 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    85 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    86 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
    87 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2]")) => ()
    88 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 5 [x = 2]";
    89 
    90 (*-----------------  Schalk I s.86 Bsp 19 ------------------------*)
    91 "Schalk I s.86 Bsp 19 (x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20)";
    92 "Schalk I s.86 Bsp 19 (x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20)";
    93 "Schalk I s.86 Bsp 19 (x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20)";
    94 (*EP*)
    95 val fmz = ["equality ((x - 5)*(10 - x) = (3 - x)*(2 + x) + 2*(x + 20))",
    96 	   "solveFor x","solutions L"];
    97 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
    98 (*val p = e_pos'; 
    99 val c = []; 
   100 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   101 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   102 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   103 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   104 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   105 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   106 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   107 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   108 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   109 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   110 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   111 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   112 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   113 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   114 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   115 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   116 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   117 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 8]")) => ()
   118 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 19 [x = 8]";
   119 
   120 (*-----------------  Schalk I s.86 Bsp 23 ------------------------*)
   121 "Schalk I s.86 Bsp 19 ((2*x+5)^^^2+(3*x+4)^^^2=(13*x+2)*(x+1)+2*(15+14*x))";
   122 "Schalk I s.86 Bsp 19 ((2*x+5)^^^2+(3*x+4)^^^2=(13*x+2)*(x+1)+2*(15+14*x))";
   123 "Schalk I s.86 Bsp 19 ((2*x+5)^^^2+(3*x+4)^^^2=(13*x+2)*(x+1)+2*(15+14*x))";
   124 (*EP*)
   125 val fmz = ["equality ((2*x+5)^^^2+(3*x+4)^^^2=(13*x+2)*(x+1)+2*(15+14*x))",
   126 	   "solveFor x","solutions L"];
   127 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   128 (*val p = e_pos'; 
   129 val c = []; 
   130 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   131 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   132 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   133 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   134 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   135 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   136 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   137 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   138 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   139 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   140 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   141 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   142 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   143 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   144 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   145 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   146 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   147 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -9]")) => ()
   148 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 23 [x = -9]";
   149 
   150 (*-----------------  Schalk I s.86 Bsp 25 ------------------------*)
   151 "Schalk I s.86 Bsp 25 ((2*x+1)^^^3+(x+1)^^^3=(2*x+1)^^^2*2*x+(x+2)^^^3+x^^^2)";
   152 "Schalk I s.86 Bsp 25 ((2*x+1)^^^3+(x+1)^^^3=(2*x+1)^^^2*2*x+(x+2)^^^3+x^^^2)";
   153 "Schalk I s.86 Bsp 25 ((2*x+1)^^^3+(x+1)^^^3=(2*x+1)^^^2*2*x+(x+2)^^^3+x^^^2)";
   154 (*EP*)
   155 val fmz = ["equality ((2*x+1)^^^3+(x+1)^^^3=(2*x+1)^^^2*2*x+(x+2)^^^3+x^^^2)",
   156 	   "solveFor x","solutions L"];
   157 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   158 (*val p = e_pos'; 
   159 val c = []; 
   160 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   161 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   162 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   163 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   164 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   165 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   166 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   167 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   168 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   169 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   170 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   171 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   172 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   173 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   174 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   175 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   176 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   177 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -6 / 5]")) => ()
   178 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 25 [x = -6 / 5]";
   179 
   180 (*-----------------  Schalk I s.86 Bsp 28b ------------------------*)
   181 "Schalk I s.86 Bsp 28b ((3*x+5)/18 - x/2 = -((3*x - 2)/9))";
   182 "Schalk I s.86 Bsp 28b ((3*x+5)/18 - x/2 = -((3*x - 2)/9))";
   183 "Schalk I s.86 Bsp 28b ((3*x+5)/18 - x/2 = -((3*x - 2)/9))";
   184 (*ER-2*)
   185 val fmz = ["equality ((3*x+5)/18 - x/2 = -((3*x - 2)/9))",
   186 	   "solveFor x","solutions L"];
   187 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   188 (*val p = e_pos'; val c = []; 
   189 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   190 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   191 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   192 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   193 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   194 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   195 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   196 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   197 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   198 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   199 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   200 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   201 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   202 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   203 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   204 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
   205 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
   206 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 28b []";
   207 
   208 (*WN---v *)
   209 val bdv= (term_of o the o (parse thy)) "bdv";
   210 val v = (term_of o the o (parse thy)) "x";
   211 val t = (term_of o the o (parse thy)) "3 * x / 5";
   212 val SOME (t',_) = rewrite_set_inst_ PolyEq.thy true 
   213 				    [(bdv, v)] make_ratpoly_in t;
   214 if term2str t' = "3 / 5 * x" then () else error "rlang.sml: 1";
   215 
   216 val t = str2term "(3*x+5)/18 - x/2  - -(3*x - 2)/9 = 0";
   217 val subst = [(str2term "bdv", str2term "x")];
   218 val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
   219 if term2str t' = "1 / 18 = 0" then () else error "rlang.sml: 2";
   220 (*WN---^ *)
   221 
   222 (*-----------------  Schalk I s.87 Bsp 36b ------------------------*)
   223 "Schalk I s.87 Bsp 36b ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 -(9*x- 7)/4 = 0)";
   224 "Schalk I s.87 Bsp 36b ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 -(9*x- 7)/4 = 0)";
   225 "Schalk I s.87 Bsp 36b ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 -(9*x- 7)/4 = 0)";
   226 (*ER-1*)
   227 val fmz = ["equality ((17*x - 51)/9 - (-(13*x - 3)/6) + 11 - (9*x - 7)/4 = 0)",
   228 	   "solveFor x","solutions L"];
   229 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   230 (*val p = e_pos'; 
   231 val c = []; 
   232 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   233 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   234 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   235 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   236 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   237 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   238 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   239 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   240 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   241 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   242 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   243 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   244 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   245 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   246 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   247 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   248 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -237 / 65]")) => ()
   249 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 36b [x = -237 / 65]";
   250 
   251 
   252 (*WN---v *)
   253 val t = str2term "(17*x - 51)/9 - (-(13*x - 3)/6) + 11 - (9*x - 7)/4 = 0";
   254 val subst = [(str2term "bdv", str2term "x")];
   255 val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
   256 term2str t';
   257 if term2str t' = "79 / 12 + 65 / 36 * x = 0" then () 
   258 else error "rlang.sml: 3";
   259 (*WN---^ *)
   260 
   261 
   262 (*-----------------  Schalk I s.87 Bsp 38b ------------------------*)
   263 "Schalk I s.87 Bsp 38b (-(2/x) + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) =65/8)";
   264 "Schalk I s.87 Bsp 38b (-(2/x) + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) =65/8)";
   265 "Schalk I s.87 Bsp 38b (-(2/x) + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) =65/8)";
   266 (*ER-3*)
   267 val fmz = ["equality (-2/x + 3/(2*x) - 4/(3*x) + 5/(4*x) + 6/(5*x) = 65/8)",
   268 	   "solveFor x","solutions L"];
   269 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   270 (*val p = e_pos'; 
   271 val c = []; 
   272 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   273 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   274 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   275 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   276 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   277 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   278 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   279 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   280 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   281 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   282 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   283 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   284 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   285 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   286 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   287 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "296 + -3900 * x = 0")) then ()
   288 else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 38b";
   289 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   290 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   291 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   292 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   293 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   294 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   295 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   296 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   297 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   298 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   299 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 74 / 975]")) => ()
   300 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.86 Bsp 38b [x = 74 / 975]";
   301 
   302 (*-----------------  Schalk I s.87 Bsp 40b ------------------------*)
   303 "Schalk I s.87 Bsp 40b ((x+3)/(2*x - 4)=3)";
   304 "Schalk I s.87 Bsp 40b ((x+3)/(2*x - 4)=3)";
   305 "Schalk I s.87 Bsp 40b ((x+3)/(2*x - 4)=3)";
   306 (*ER-4*)
   307 val fmz = ["equality ((x+3)/(2*x - 4)=3)",
   308 	   "solveFor x","solutions L"];
   309 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   310 (*val p = e_pos'; 
   311 val c = []; 
   312 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   313 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   314 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   315 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   316 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   317 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   318 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   319 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   320 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   321 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   322 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   323 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   324 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   325 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   326 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
   327 (*val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   328 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;*)
   329 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "15 + -5 * x = 0")) then ()
   330 else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 40b";
   331 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   332 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   333 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   334 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   335 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   336 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   337 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   338 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   339 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   340 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 3]")) => ()
   341 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 40b [x = 3]";
   342 
   343 
   344 (*-----------------  Schalk I s.87 Bsp 44a ------------------------*)
   345 "Schalk I s.87 Bsp 44a ((1/2+(5*x)/2)^^^2 -((13*x)/2- 5/2)^^^2 -(6*x)^^^2+29)";
   346 "Schalk I s.87 Bsp 44a ((1/2+(5*x)/2)^^^2 -((13*x)/2- 5/2)^^^2 -(6*x)^^^2+29)";
   347 "Schalk I s.87 Bsp 44a ((1/2+(5*x)/2)^^^2 -((13*x)/2- 5/2)^^^2 -(6*x)^^^2+29)";
   348 (*ER-5*)
   349 val fmz = ["equality ((1/2 + (5*x)/2)^^^2 - ((13*x)/2 - 5/2)^^^2 = -1*(6*x)^^^2 + 29)",
   350 	   "solveFor x","solutions L"];
   351 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   352 (*val p = e_pos'; 
   353 val c = []; 
   354 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   355 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   356 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   357 (*trace_rewrite:=true;
   358 *)
   359 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   360 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   361 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   362 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   363 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   364 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   365 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   366 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   367 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   368 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   369 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   370 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   371 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   372 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   373 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1]")) => ()
   374 	 | _ => error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 44a [x = 1]";
   375 
   376 (*WN---v *)
   377 val t = str2term "(1/2 + (5*x)/2)^^^2 - ((13*x)/2 - 5/2)^^^2 - (6*x)^^^2 + 29";
   378 val subst = [(str2term "bdv", str2term "x")];
   379 val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
   380 if term2str t' = "23 + 35 * x + -72 * x ^^^ 2" then () 
   381 else error "rlang.sml: 4";
   382 
   383 val t = str2term "(1/2 + (5*x)/2)^^^2 - ((13*x)/2 - 5/2)^^^2 + (6*x)^^^2 - 29";
   384 val subst = [(str2term "bdv", str2term "x")];
   385 val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
   386 if term2str t' = "-35 + 35 * x" then () 
   387 else error "rlang.sml: 4.1";
   388 (*WN---^ *)
   389 
   390 (*-----------------  Schalk I s.87 Bsp 52a ------------------------*)
   391 "Schalk I s.87 Bsp 52a ((5*x)/(x - 2) - x/(x+2)=4)";
   392 "Schalk I s.87 Bsp 52a ((5*x)/(x - 2) - x/(x+2)=4)";
   393 "Schalk I s.87 Bsp 52a ((5*x)/(x - 2) - x/(x+2)=4)";
   394 (*ER-6*)
   395 val fmz = ["equality ((5*x)/(x - 2) - x/(x+2)=4)",
   396 	   "solveFor x","solutions L"];
   397 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   398 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   399 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   400 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   401 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   402 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   403 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   404 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   405  (*"12 * x + 4 * x ^^^ 2 = 4 * (-4 + x ^^^ 2)",Subproblem["normalize", "poly*)
   406 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   407 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   408 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   409 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   410 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   411 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   412 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "16 + 12 * x = 0")) then ()
   413 else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 52a";
   414             (*Subproblem["degree_1", "polynomial", "univariate", "equation"]*)
   415 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   416 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   417 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   418 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   419 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   420 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   421 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   422 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   423 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   424 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -4 / 3]")) => ()
   425 	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.87 Bsp 52a [x = -4 / 3]";
   426 
   427 (*-----------------  Schalk I s.88 Bsp 64c ------------------------*)
   428 "Schalk I s.88 Bsp 64c (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)";
   429 "Schalk I s.88 Bsp 64c (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)";
   430 "Schalk I s.88 Bsp 64c (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)";
   431 (*ER-8*)
   432 val fmz = ["equality (((x - 1)/(x+1)+1)/((x - 1)/(x+1) - (x+1)/(x - 1))=2)",
   433 	   "solveFor x","solutions L"];
   434 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   435 
   436 (*val p = e_pos'; val c = []; 
   437 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   438 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   439 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   440 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   441 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   442 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   443 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   444 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   445 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   446 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   447 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   448 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   449 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   450 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   451 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
   452 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "-3 + -1 * x = 0")) then ()
   453 else error "rlangsml: diff.behav. in Schalk I s.88 Bsp 64c";
   454 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   455 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   456 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   457 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   458 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   459 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   460 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   461 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   462 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   463 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   464 case f of Form' (FormKF (_,_,0,_,"[x = -3]")) => ()
   465 	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.88 Bsp 64c [x = -3]";
   466 
   467 (*-----------------  Schalk I s.88 Bsp 79a (2) ------------------------*)
   468 "Schalk I s.88 Bsp 79a (2) (m1*v1+m2*v2=0)";
   469 "Schalk I s.88 Bsp 79a (2) (m1*v1+m2*v2=0)";
   470 "Schalk I s.88 Bsp 79a (2) (m1*v1+m2*v2=0)";
   471 (*ER-10*)
   472 val fmz = ["equality (m1*v1+m2*v2=0)",
   473 	   "solveFor m1","solutions L"];
   474 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   475 
   476 (*val p = e_pos'; val c = []; 
   477 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   478 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   479 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   480 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   481 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   482 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   483 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   484 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   485 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   486 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   487 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   488 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   489 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   490 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   491 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   492 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   493 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[m1 = -1 * m2 * v2 / v1]")) => ()
   494 	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.88 Bsp 79a (2) [m1 = -1 * m2 * v2 / v1]";
   495 
   496 (*-----------------  Schalk I s.89 Bsp 90a(1) ------------------------*)
   497 "Schalk I s.89 Bsp 90a (1) (f=((w+u)/(w+v))*v0)";
   498 "Schalk I s.89 Bsp 90a (1) (f=((w+u)/(w+v))*v0)";
   499 "Schalk I s.89 Bsp 90a (1) (f=((w+u)/(w+v))*v0)";
   500 (*ER-11*)
   501 val fmz = ["equality (f=((w+u)/(w+v))*v0)",
   502 	   "solveFor v","solutions L"];
   503 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   504 
   505 (*val p = e_pos'; val c = []; 
   506 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   507 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   508 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   509 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   510 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   511 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   512 (*val nxt = Specify_Problem ["rational","univariate","equation"])      *)
   513 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   514 (*val nxt = Specify_Method ["RatEq","solve_rat_equation"])      *)
   515 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   516 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   517 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   518 (*nxt = Subproblem ("RatEq",["univariate","equation"]))      *)
   519 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   520 (*val nxt =Model_Problem ["normalize","polynomial","univariate","equation"])*)
   521 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   522 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   523 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   524 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   525 (*val nxt = ("Apply_Method",Apply_Method ["PolyEq","normalize_poly"])*)
   526 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   527 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   528 (*val nxt =Subproblem ("PolyEq",["polynomial","univariate","equation"]))*)
   529 if f = Form'
   530       (FormKF
   531          (~1,
   532             EdUndef,
   533             0,
   534             Nundef,
   535             "f * w + -1 * u * v0 + -1 * v0 * w + f * v = 0")) then ()
   536 else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 90a";
   537 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   538 (*val nxt = Model_Problem ["degree_1","polynomial","univariate","equation"])*)
   539 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   540 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   541 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   542 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   543 (*val nxt = ("Apply_Method",Apply_Method ["PolyEq","solve_d1_poly_equation"])*)
   544 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   545 (*val f = "v = -1 * (f * w + -1 * u * v0 + -1 * v0 * w) / f")) : mout
   546 val nxt = ("Or_to_List",Or_to_List) : string * tac *)
   547 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   548 (*val f = "[v = -1 * (f * w + -1 * u * v0 + -1 * v0 * w) / f]")) : mout
   549 val nxt = ("Check_elementwise",Check_elementwise "Assumptions") *)
   550 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   551 (*val f = "[v = -1 * (f * w + -1 * u * v0 + -1 * v0 * w) / f]")) : mout
   552 val nxt = Check_Postcond ["degree_1","polynomial","univariate","equation"])*)
   553 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   554 (*val f = "[v = -1 * (f * w + -1 * u * v0 + -1 * v0 * w) / f]")) : mout
   555 val nxt = Check_Postcond ["normalize","polynomial","univariate","equation"])*)
   556 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   557 (*val f = "[v = -1 * (f * w + -1 * u * v0 + -1 * v0 * w) / f]")) : mout
   558 val nxt = ("Check_elementwise",Check_elementwise "Assumptions")*)
   559 
   560 get_assumptions_ pt p;
   561 (*it = ["v + w ~= 0"]    ... goes to the solution as an assumption*)
   562 
   563 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   564 (*val f = Form' (FormKF (~1,EdUndef,1,Nundef,"[]")) : mout
   565 val nxt = Check_Postcond ["rational","univariate","equation"])        *)
   566 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   567 case f of Form'  (FormKF (~1,EdUndef,0,Nundef,
   568         "[v = (u * v0 + v0 * w + -1 * f * w) / f]")) => ()
   569 	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.89 Bsp 90a (1) [v=...]";
   570 if get_assumptions_ pt p = 
   571    [str2term"(u * v0 + v0 * w + -1 * f * w) / f + w ~= 0"] then () 
   572 else error "rlang.sml: diff.behav. in I s.89 Bsp 90a (1) [v=...] asm";
   573 
   574 
   575 (*-----------------  Schalk I s.89 Bsp 90a(2) ------------------------*)
   576 "Schalk I s.89 Bsp 90a (2) (f=((w+u)/(w+v))*v0)";
   577 "Schalk I s.89 Bsp 90a (2) (f=((w+u)/(w+v))*v0)";
   578 "Schalk I s.89 Bsp 90a (2) (f=((w+u)/(w+v))*v0)";
   579 (*ER-12*)
   580 val fmz = ["equality (f=((w+u)/(w+v))*v0)",
   581 	   "solveFor w","solutions L"];
   582 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   583 (*val p = e_pos';val c = []; 
   584 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   585 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   586 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   587 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   588 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   589 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   590 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   591 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   592 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   593 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   594 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   595 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   596 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   597 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   598 if f = Form'
   599       (FormKF
   600          (~1,
   601             EdUndef,
   602             0,
   603             Nundef,
   604             "f * v + -1 * u * v0 + (f + -1 * v0) * w = 0")) then ()
   605 else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 90a (2)";
   606 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   607 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   608 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   609 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   610 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   611 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   612 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   613 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   614 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   615 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[w = (u * v0 + -1 * f * v) / (f + -1 * v0)]")) => ()
   616 	 | _ => error "rlang.sml: diff.behav. in Schalk I Bsp 90a(2)";
   617 if get_assumptions_ pt p = 
   618 [str2term"v + (u * v0 + -1 * f * v) / (f + -1 * v0) ~= 0",
   619  str2term"f + -1 * v0 ~= 0"]
   620 then writeln "asm should be simplified ???" 
   621 else error "rlang.sml: diff.behav. in Schalk I Bsp 90a(2) asm";
   622 
   623 (*-----------------  Schalk I s.89 Bsp 98a(1) ------------------------*)
   624 "Schalk I s.89 Bsp 98a (1) (1/R=1/R1+1/R2)";
   625 "Schalk I s.89 Bsp 98a (1) (1/R=1/R1+1/R2)";
   626 "Schalk I s.89 Bsp 98a (1) (1/R=1/R1+1/R2)";
   627 (*ER-9*)
   628 val fmz = ["equality (1/R=1/R1+1/R2)",
   629 	   "solveFor R1","solutions L"];
   630 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
   631 (*val p = e_pos'; val c = []; 
   632 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   633 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   634 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   635 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   636 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   637 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   638 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   639 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   640 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   641 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   642 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   643 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   644 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   645 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   646 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   647 if f = Form'
   648       (FormKF
   649         (~1, EdUndef, 0, Nundef, "-1 * R * R2 + (R2 + -1 * R) * R1 = 0"))then()
   650 else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 98a (1)";
   651 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   652 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   653 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   654 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   655 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   656 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   657 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   658 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   659 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   660 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[R1 = R * R2 / (R2 + -1 * R)]")) => ()
   661 	 | _ => error "rlang.sml: diff.behav. in 98a(1) [R1 = ...]";
   662 if get_assumptions_ pt p = [str2term"R * R2 * R2 ~= (R2 + -1 * R) * 0",
   663 			    str2term"R2 + -1 * R ~= 0",
   664 			    str2term"R2 + -1 * R ~= 0"] 
   665     then writeln "asm should be simplified"
   666 else error "rlang.sml: diff.behav. in 98a(1) asm";
   667 
   668 (*-----------------  Schalk I s.89 Bsp 104a(1) ------------------------*)
   669 "Schalk I s.89 Bsp 104a (1) (y^^^2=2*p*x)";
   670 "Schalk I s.89 Bsp 104a (1) (y^^^2=2*p*x)";
   671 "Schalk I s.89 Bsp 104a (1) (y^^^2=2*p*x)";
   672 (*ER-13 + EO-11 ?!?*)
   673 val fmz = ["equality (y^^^2=2*p*x)",
   674 	   "solveFor p","solutions L"];
   675 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   676 (*val p = e_pos'; val c = []; 
   677 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   678 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   679 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   680 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   681 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   682 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   683 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   684 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   685 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   686 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   687 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   688 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   689 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   690 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt; 
   691 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   692 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   693 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   694 case f of Form' (FormKF (_,_,0,_,"[p = y ^^^ 2 / (2 * x)]")) => ()
   695 	 | _ => error "rlang.sml: diff.behav. in  Schalk I s.89 Bsp 104a (1) [p = y^2/(2*x)]";
   696 if get_assumptions_ pt p = [str2term"-2 * x ~= 0"] 
   697 then writeln"should be x ~= 0\nshould be x ~= 0\nshould be x ~= 0\n" 
   698 else error "rlang.sml: diff.behav. in  I s.89 Bsp 104a(1) asm";
   699 
   700 
   701 (*-----------------  Schalk I s.89 Bsp 104a(2) ------------------------*)
   702 "Schalk I s.89 Bsp 104a (2) (y^^^2=2*p*x)";
   703 "Schalk I s.89 Bsp 104a (2) (y^^^2=2*p*x)";
   704 "Schalk I s.89 Bsp 104a (2) (y^^^2=2*p*x)";
   705 (*EO ??*)
   706 val fmz = ["equality (y^^^2=2*p*x)",
   707 	   "solveFor y","solutions L"];
   708 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   709 (*val p = e_pos'; 
   710 val c = []; 
   711 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   712 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   713 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   714 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   715 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   716 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   717 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   718 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   719 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   720 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   721 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   722 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   723 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   724 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   725 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   726 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   727 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   728 case f of Form' (FormKF (_,_,0,_,"[y = sqrt (2 * p * x), y = -1 * sqrt (2 * p * x)]")) => ()
   729 | _ => error "rlang.sml: diff.behav. Schalk I s.89 Bsp 104a(2) [x = ]";
   730 if get_assumptions_ pt p = [str2term"0 <= -1 * (-2 * p * x)",
   731                             str2term"0 <= -1 * (-2 * p * x)"] 
   732 then writeln "asm should be simplified\nshould be simplified"
   733 else error "rlang.sml: diff.behav. in I s.89 Bsp 104a(2) asm";
   734 
   735 
   736 (*-----------------  Schalk I s.90 Bsp 118a (1) ------------------------*)
   737 "Schalk I s.90 Bsp 118a (1) (b^^^2*x^^^2 + a^^^2*y^^^2 = a^^^2*b^^^2)";
   738 "Schalk I s.90 Bsp 118a (1) (b^^^2*x^^^2 + a^^^2*y^^^2 = a^^^2*b^^^2)";
   739 "Schalk I s.90 Bsp 118a (1) (b^^^2*x^^^2 + a^^^2*y^^^2 = a^^^2*b^^^2)";
   740 (*EO-8*)
   741 val fmz = ["equality (b^^^2*x^^^2 + a^^^2*y^^^2 = a^^^2*b^^^2)",
   742 	   "solveFor x","solutions L"];
   743 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   744 (*val p = e_pos'; 
   745 val c = []; 
   746 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   747 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   748 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   749 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   750 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   751 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   752 
   753 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   754 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
   755 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
   756 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
   757 
   758 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   759 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   760 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   761 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   762 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   763 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   764 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   765 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   766 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;
   767 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;get_assumptions_ pt p;
   768 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;get_assumptions_ pt p;
   769 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;get_assumptions_ pt p;
   770 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;get_assumptions_ pt p;
   771 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;terms2str (*WN1104changed*) (get_assumptions_ pt p);
   772 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;terms2str (*WN1104changed*) (get_assumptions_ pt p);
   773 
   774 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;get_assumptions_ pt p;
   775 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;f2str f;get_assumptions_ pt p;
   776 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = sqrt ((a ^^^ 2 * b ^^^ 2 + -1 * a ^^^ 2 * y ^^^ 2) / b ^^^ 2),\n x = -1 * sqrt ((a ^^^ 2 * b ^^^ 2 + -1 * a ^^^ 2 * y ^^^ 2) / b ^^^ 2)]")) => writeln"should be simplified MG"
   777 | _ => error "rlang.sml: diff.behav. in  Schalk I s.89 Bsp 118a(2) [x = ]";
   778 val asms = get_assumptions_ pt p;
   779 if asms = 
   780   [str2term"0 * b ^^^ 2 <= -1 * (a ^^^ 2 * y ^^^ 2 + -1 * a ^^^ 2 * b ^^^ 2)",
   781    str2term"b ^^^ 2 ~= 0",
   782    str2term"0 * b ^^^ 2 <= -1 * (a ^^^ 2 * y ^^^ 2 + -1 * a ^^^ 2 * b ^^^ 2)",
   783    str2term"b ^^^ 2 ~= 0"] then writeln"should be simplified MG"
   784 else error "rlang.sml: diff.behav. in Schalk I s.89 Bsp 118a(2) asms";
   785 
   786 (*-----------------  Schalk I s.102 Bsp 268(1) ------------------------*)
   787 "Schalk I s.102 Bsp 268(1) (A = (1/2)*(x1*(y2-y3)+x2*(y3 - y1)+x3*(y1 - y2)))";
   788 "Schalk I s.102 Bsp 268(1) (A = (1/2)*(x1*(y2-y3)+x2*(y3 - y1)+x3*(y1 - y2)))";
   789 "Schalk I s.102 Bsp 268(1) (A = (1/2)*(x1*(y2-y3)+x2*(y3 - y1)+x3*(y1 - y2)))";
   790 (*ER-14*)
   791 val fmz = ["equality (A = (1/2)*(x1*(y2 - y3)+x2*(y3 - y1)+x3*(y1 - y2)))",
   792 	   "solveFor x2","solutions L"];
   793 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
   794 (*val p = e_pos'; 
   795 val c = []; 
   796 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   797 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   798 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   799 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   800 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   801 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   802 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   803 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   804 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   805 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   806 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   807 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   808 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   809 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   810 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   811 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   812 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   813 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x2 =\n (-2 * A + x1 * y2 + x3 * y1 + -1 * x1 * y3 + -1 * x3 * y2) /\n (y1 + -1 * y3)]")) => ()
   814 | _ => error "rlang.sml: diff.behav. Schalk I s.102 Bsp 268(1) [x2=...]";
   815 if get_assumptions_ pt p = [str2term"y1 / 2 + -1 * y3 / 2 ~= 0"] then ()
   816 else error "rlang.sml: diff.behav. in I s.102 Bsp 268(1) asm";
   817 
   818 (*--------------------  Schalk II ----------------------------*)
   819 (*--------------------  Schalk II ----------------------------*)
   820 (*--------------------  Schalk II ----------------------------*)
   821 (*--------------------  Schalk II ----------------------------*)
   822 (*--------------------  Schalk II ----------------------------*)
   823 
   824 
   825 (*-----------------  Schalk II s.56 Bsp 67b ------------------------*)
   826 "Schalk II s.56 Bsp 67b (4*sqrt(4*x+1)=3*sqrt(7*x+2))";
   827 "Schalk II s.56 Bsp 67b (4*sqrt(4*x+1)=3*sqrt(7*x+2))";
   828 "Schalk II s.56 Bsp 67b (4*sqrt(4*x+1)=3*sqrt(7*x+2))";
   829 (*EO*)
   830 val fmz = ["equality (4*sqrt(4*x+1)=3*sqrt(7*x+2))",
   831 	   "solveFor x","solutions L"];
   832 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
   833 (*val p = e_pos'; 
   834 val c = []; 
   835 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   836 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   837 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   838 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   839 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   840 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   841 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   842 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   843 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   844 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   845 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   846 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   847 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   848 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   849 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
   850 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "-2 + x = 0")) then ()
   851 else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 67b";
   852 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   853 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   854 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   855 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   856 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   857 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   858 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   859 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   860 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   861 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2]")) => ()
   862 	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.56 Bsp 67b [x=2]";
   863 
   864 (*-----------------  Schalk II s.56 Bsp 68a ------------------------*)
   865 "Schalk II s.56 Bsp 68a (5*sqrt(x) - 1 = 7*sqrt(x) - 5)";
   866 "Schalk II s.56 Bsp 68a (5*sqrt(x) - 1 = 7*sqrt(x) - 5)";
   867 "Schalk II s.56 Bsp 68a (5*sqrt(x) - 1 = 7*sqrt(x) - 5)";
   868 val fmz = ["equality (5*sqrt(x) - 1 = 7*sqrt(x) - 5)",
   869 	   "solveFor x","solutions L"];
   870 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
   871 (*val p = e_pos'; 
   872 val c = []; 
   873 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
   874 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
   875 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   876 (* val nxt = ("Model_Problem",Model_Problem ["normalize","root'","univariate","equation"])*)
   877 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   878 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   879 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   880 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   881 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   882 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"]) *)
   883 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   884 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   885 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   886 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   887 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   888 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   889 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   890 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"]) *)
   891 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   892 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   893 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   894 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   895 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   896 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   897 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   898 get_assumptions_ pt p;
   899 (* val nxt = ("Model_Problem",  Model_Problem ["normalize","polynomial","univariate","equation"])*)
   900 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   901 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   902 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   903 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   904 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   905 if f = Form'
   906       (FormKF
   907          (~1, EdUndef, 0, Nundef, "256 + -2368 * x + 576 * x ^^^ 2 = 0"))then()
   908 else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 68a";
   909 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   910 get_assumptions_ pt p;
   911 (* val nxt = ("Model_Problem",  Model_Problem
   912      ["abcFormula","degree_2","polynomial","univariate","equation"])*)
   913 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   914 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   915 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   916 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   917 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   918 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   919 get_assumptions_ pt p;
   920 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   921 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   922 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   923 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   924 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 4, x = 1 / 9]")) 
   925 then writeln "only [x = 4] !\nonly [x = 4] !\nonly [x = 4] !\n"
   926 else error "rlang.sml: diff.behav. in II 68a";
   927 val asms = get_assumptions_ pt p;
   928 if terms2str (*WN1104changed*) asms = 
   929 "[0 <= (25 * (1 / 9) + -1 * (16 + 49 * (1 / 9))) * -56,\
   930  \0 <= 1 / 9,\
   931  \0 <= 1 / 9,\
   932  \0 <= (-5 + 7 * sqrt (1 / 9) + 1) * 5,\
   933  \0 <= 1 / 9,\
   934  \0 <= (25 * (1 / 9) + -1 * (16 + 49 * (1 / 9))) * -56,\
   935  \0 <= 1 / 9]"
   936 (*WN050916 before correction 'rewrite__set_ called with 'Erls' for ..'
   937   thus: maybe the rls for the asms is Erls ??:
   938    [(str2term"0 <= (25 * (1 / 9) + -1 * (16 + 49 * (1 / 9))) * -56", []),
   939     (str2term"9 ~= 0", []),
   940     (str2term"0 <= (-5 + 7 * sqrt (1 / 9) + 1) * 5", []),
   941     (str2term"9 ~= 0", []),
   942     (str2term"0 <= (25 * (1 / 9) + -1 * (16 + 49 * (1 / 9))) * -56", [])]*)
   943     then "should get True * False!!!"
   944 else error "rlang.sml: diff.behav. in II 68a asms";
   945 
   946 (*-----------------  Schalk II s.56 Bsp 73b ------------------------*)
   947 "Schalk II s.56 Bsp 73b (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))";
   948 "Schalk II s.56 Bsp 73b (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))";
   949 "Schalk II s.56 Bsp 73b (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))";
   950 (*EO-2*)
   951 val fmz = ["equality (sqrt(x+1)+sqrt(4*x+4)=sqrt(9*x+9))",
   952 	   "solveFor x","solutions L"];
   953 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
   954 
   955 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   956 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   957 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   958 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   959 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   960 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   961 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   962 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   963 (*"13 + 13 * x + -2 * sqrt ((4 + 4 * x) * (9 + 9 * x)) = 1 + x" 
   964 -> Subproblem ("RootEq", ["univariate", ...])*)
   965 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   966 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   967 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   968 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   969 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   970 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   971 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   972 (*"144 + 288 * x + 144 * x ^^^ 2 = 144 + x ^^^ 2 + 288 * x + 143 * x ^^^ 2"
   973 -> Subproblem ("RootEq", ["univariate", ...])*)
   974 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   975 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   976 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   977 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   978 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   979 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   980 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "0 = 0")) then ()
   981 else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 73b";
   982 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   983 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   984 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   985 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   986 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   987 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   988 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   989 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   990 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   991 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   992 val asm = get_assumptions_ pt p;
   993 if asm=[] andalso f = Form' (FormKF (~1,EdUndef,0,Nundef,"UniversalList")) andalso nxt = ("End_Proof'",End_Proof') then ()
   994 else error "rlang.sml: diff.behav. in UniversalList 2";
   995 
   996 (*-----------------  Schalk II s.56 Bsp 74a ------------------------*)
   997 "Schalk II s.56 Bsp 74a (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))";
   998 "Schalk II s.56 Bsp 74a (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))";
   999 "Schalk II s.56 Bsp 74a (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))";
  1000 (*EO-3*)
  1001 val fmz = ["equality (sqrt(4*x+1) - sqrt(x+3) = sqrt(x - 2))",
  1002 	   "solveFor x","solutions L"];
  1003 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1004 
  1005 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1006 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1007 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1008 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1009 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1010 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1011 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1012 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1013 (*4 + 5 * x + -2 * sqrt (3 + 13 * x + 4 * x ^^^ 2) = -2 + x" 
  1014 -> Subproblem ("RootEq", ["univariate", ...])*)
  1015 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1016 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1017 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1018 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1019 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1020 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1021 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1022 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1023 (*"12 + 52 * x + 16 * x ^^^ 2 = 36 + x ^^^ 2 + 48 * x + 15 * x ^^^ 2"
  1024 -> Subproblem ("RootEq", ["univariate", ...])*)
  1025 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1026 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1027 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1028 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1029 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1030 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1031 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "-24 + 4 * x = 0")) then ()
  1032 else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 74a";
  1033 (*-> ubproblem ("PolyEq", ["degree_1", ...]*)
  1034 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1035 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1036 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1037 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1038 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1039 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1040 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1041 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1042 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1043 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1044 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 6]")) => ()
  1045 	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.56 Bsp 74a [x = 6]";
  1046 
  1047 
  1048 (*-----------------  Schalk II s.56 Bsp 77b ------------------------*)
  1049 "Schalk II s.56 Bsp 77b (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))";
  1050 "Schalk II s.56 Bsp 77b (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))";
  1051 "Schalk II s.56 Bsp 77b (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))";
  1052 (*EO-4*)
  1053 val fmz = ["equality (sqrt(x+12)+sqrt(x - 3) = sqrt(x + 32) - sqrt(5+x))",
  1054 	   "solveFor x","solutions L"];
  1055 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1056 
  1057 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1058 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"]) *)
  1059 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1060 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1061 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1062 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1063 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1064 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1065 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1066 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"]) *)
  1067 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1068 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1069 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1070 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1071 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1072 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1073 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
  1074 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; 
  1075 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"]) *)
  1076 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1077 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1078 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1079 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1080 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1081 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1082 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1083 (*val nxt = ("Model_Problem", 
  1084  Model_Problem ["normalize","polynomial","univariate","equation"])*)
  1085 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1086 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1087 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1088 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1089 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1090 (*val (p,_,f,nxt,_,pt) = me nxt p [1] pt; since MGs norm_Rational*)
  1091 if f = Form'(FormKF (~1, EdUndef, 0, Nundef, "451584 + -112896 * x = 0"))then()
  1092 else error "rlang.sml: diff.behav. in Schalk II s.56 Bsp 77b";
  1093 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1094 (* val nxt = ("Model_Problem",
  1095    Model_Problem ["degree_1","polynomial","univariate","equation"])*)
  1096 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1097 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1098 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1099 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1100 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1101 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1102 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1103 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1104 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1105 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
  1106 	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.56 Bsp 77b []";
  1107 (*added 040209 at introducing MGs norm_Rational ?!*)
  1108 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1109 
  1110 
  1111 (*-----------------  Schalk II s.66 Bsp 4 ------------------------*)
  1112 "Schalk II s.66 Bsp 4 ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)";
  1113 "Schalk II s.66 Bsp 4 ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)";
  1114 "Schalk II s.66 Bsp 4 ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)";
  1115 (*EP*)
  1116 val fmz = ["equality ((6*x - 9)*(5*x+7) - (4*x+7)*(3*x - 6) = 429)",
  1117 	   "solveFor x","solutions L"];
  1118 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  1119 (*val p = e_pos'; 
  1120 val c = []; 
  1121 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  1122 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
  1123 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1124 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1125 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1126 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1127 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1128 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1129 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1130 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1131 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1132 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1133 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1134 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1135 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1136 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1137 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1138 case f of   Form' (FormKF (_,_,0,_,"[x = 5, x = -5]")) => ()
  1139   | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 4 []";
  1140 
  1141 
  1142 (*-----------------  Schalk II s.66 Bsp 8a ------------------------*)
  1143 "Schalk II s.66 Bsp 8a ((x - 4)/(x+4) = (1 - x)/(1+x))";
  1144 (*ER-15*)
  1145 val fmz = ["equality ((x - 4)/(x+4) = (1 - x)/(1+x))",
  1146 	   "solveFor x","solutions L"];
  1147 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
  1148 
  1149 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1150 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1151 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1152 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1153 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1154 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1155 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1156 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
  1157 (*"(-4 + x) * (1 + x) = (1 + -1 * x) * (4 + x)"
  1158 -> Subproblem ("RatEq", ["univariate", ...])*)
  1159 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1160 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1161 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1162 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1163 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1164 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1165 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1166 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "-8 + 2 * x ^^^ 2 = 0")) then ()
  1167 else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 8a";
  1168 (*-> Subproblem ("PolyEq", ["polynomial", ...])*)
  1169 (* 
  1170  val Form' (FormKF (~1, EdUndef, 0, Nundef, str)) = f;
  1171  *)
  1172 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1173 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1174 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1175 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1176 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1177 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1178 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1179 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1180 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1181 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -2]")) => ()
  1182 	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 8a [x = 2, x = -2]";
  1183 
  1184 (*-----------------  Schalk II s.66 Bsp 10b ------------------------*)
  1185 "Schalk II s.66 Bsp 10b (1/(x^^^2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))";
  1186 "Schalk II s.66 Bsp 10b (1/(x^^^2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))";
  1187 "Schalk II s.66 Bsp 10b (1/(x^^^2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))";
  1188 val fmz = ["equality (1/(x^^^2 - 9)+(2*x+3)/(x+3)=(3*x+4)/(x - 3))",
  1189 	   "solveFor x","solutions L"];
  1190 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
  1191 (*val p = e_pos'; 
  1192 val c = []; 
  1193 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  1194 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
  1195 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1196 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1197 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1198 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1199 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1200 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1201 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1202 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1203 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1204 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1205 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1206 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1207 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1208 if f = Form'
  1209       (FormKF
  1210          (~1,
  1211             EdUndef,
  1212             0,
  1213             Nundef,
  1214             "60 + 28 * x + -13 * x ^^^ 2 + -1 * x ^^^ 3 = 0")) then ()
  1215 else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 10b";
  1216 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1217 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1218 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1219 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1220 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1221 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1222 (*60 + 28 * x + -13 * x ^^^ 2 + -1 * x ^^^ 3 = 0 ... degree 3 not solvable*)
  1223 
  1224 
  1225 (*-----------------  Schalk II s.66 Bsp 20a ------------------------*)
  1226 (*EO-6*)
  1227 "Schalk II s.66 Bsp 20a (sqrt(29 - sqrt (x^^^2 - 9))=5)";
  1228 "Schalk II s.66 Bsp 20a (sqrt(29 - sqrt (x^^^2 - 9))=5)";
  1229 "Schalk II s.66 Bsp 20a (sqrt(29 - sqrt (x^^^2 - 9))=5)";
  1230 val fmz = ["equality (sqrt(29 - sqrt(x^^^2 - 9))=5)",
  1231 	   "solveFor x","solutions L"];
  1232 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1233 (*val p = e_pos'; 
  1234 val c = []; 
  1235 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  1236 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
  1237 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1238 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1239 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1240 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1241 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1242 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1243 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1244 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1245 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1246 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1247 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1248 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1249 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1250 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1251 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1252 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1253 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1254 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1255 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1256 if f = Form' (FormKF (~1, EdUndef, 0, Nundef, "-25 + x ^^^ 2 = 0")) then ()
  1257 else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 20a";
  1258 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1259 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1260 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1261 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1262 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1263 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1264 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1265 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1266 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1267 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1268 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1269 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 5, x = -5]")) => ()
  1270 	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 20a [x = 5, x = -5]";
  1271 
  1272 (*-----------------  Schalk II s.66 Bsp 23b ------------------------*)
  1273 "Schalk II s.66 Bsp 23b (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))";
  1274 "Schalk II s.66 Bsp 23b (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))";
  1275 "Schalk II s.66 Bsp 23b (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))";
  1276 (*EO WN060310 something wrong:
  1277 ([6, 6, 3, 1], Frm) "-1064944 + 32 * x + -48 * x ^^^ 2 = 0"
  1278 	### or2list False
  1279 ([6, 6, 3, 1], Res) "HOL.False"
  1280 *)
  1281 val fmz = ["equality (2*sqrt(261 - x) - sqrt(2+2*x)=sqrt(2)*sqrt(5 - 3*x))",
  1282 	   "solveFor x","solutions L"];
  1283 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1284 
  1285 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1286 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1287 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1288 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1289 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1290 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1291 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1292 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1293 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1294 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1295 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1296 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1297 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1298 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1299 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1300 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1301 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1302 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1303 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1304 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1305 val (p,_,f,nxt,_,pt) = me nxt p [1] pt; f2str f;
  1306 if f = Form'
  1307       (FormKF
  1308        (~1, EdUndef, 0, Nundef, "-1064944 + 32 * x + -48 * x ^^^ 2 = 0"))then()
  1309 else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 23b";
  1310 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1311 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1312 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1313 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1314 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1315 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1316 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1317 case f of Form' (FormKF (~1,EdUndef,_,Nundef,"[]")) => ()
  1318 	 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 23b []";
  1319 
  1320 (*-----------------  Schalk II s.66 Bsp 28a ------------------------*)
  1321 "Schalk II s.66 Bsp 28a (A=(c/d)*sqrt(4*a^^^2 - c^^^2))";
  1322 "Schalk II s.66 Bsp 28a (A=(c/d)*sqrt(4*a^^^2 - c^^^2))";
  1323 "Schalk II s.66 Bsp 28a (A=(c/d)*sqrt(4*a^^^2 - c^^^2))";
  1324 val fmz = ["equality (A=(c/d)*sqrt(4*a^^^2 - c^^^2))",
  1325 	   "solveFor a","solutions L"];
  1326 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1327 (*val p = e_pos'; 
  1328 val c = []; 
  1329 val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  1330 val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
  1331 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1332 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1333 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1334 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1335 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1336 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1337 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1338 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1339 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1340 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1341 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1342 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1343 (*if f = Form'
  1344       (FormKF
  1345          (~1,
  1346             EdUndef,
  1347             0,
  1348             Nundef,
  1349             "c ^^^ 4 / d ^^^ 2 + A ^^^ 2 * d ^^^ 2 / d ^^^ 2 +\n-4 * c ^^^ 2 / d ^^^ 2 * a ^^^ 2 =\n0")) then ()*)
  1350 if f2str f = 
  1351    "c ^^^ 4 / d ^^^ 2 + A ^^^ 2 / 1 + -4 * c ^^^ 2 / d ^^^ 2 * a ^^^ 2 = 0"
  1352 then () else error "rlang.sml: diff.behav. in Schalk II s.66 Bsp 28a";
  1353 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1354 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1355 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1356 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1357 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1358 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1359 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1360 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1361 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1362 case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[a = sqrt ((c ^^^ 4 + A ^^^ 2 * d ^^^ 2) / (4 * c ^^^ 2)),\n a = -1 * sqrt ((c ^^^ 4 + A ^^^ 2 * d ^^^ 2) / (4 * c ^^^ 2))]")) => ()
  1363 | _ => error "rlang.sml: diff.behav. in  Schalk II s.66 Bsp 28a [a=...]";
  1364 
  1365 
  1366 
  1367 (*-----------------  Schalk II s.68 Bsp 52b ------------------------*)
  1368 "Schalk II s.68 Bsp 52b (1/(x - a+b)=1/x - 1/a + 1/b)";
  1369 val fmz = ["equality (1/(x - a+b)=1/x - 1/a + 1/b)",
  1370 	   "solveFor x","solutions L"];
  1371 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
  1372 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1373 (* val nxt = ("Model_Problem",Model_Problem ["rational","univariate","equation"])*)
  1374 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1375 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1376 (*val nxt = ("Specify_Theory",Specify_Theory "RatEq")*)
  1377 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1378 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1379 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1380 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1381 (*val p = ([3],Res)
  1382 val f="1 * (a * (b * x)) = (a * b + (a * x + -1 * (b * x))) * (b + (x + -1 * a)
  1383 val nxt = Subproblem ("RatEq",["univariate","equation"]))*)
  1384 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1385 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1386 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1387 (*val nxt = ("Specify_Theory",Specify_Theory "PolyEq")*)
  1388 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1389 (* nxt = Specify_Problem ["normalize","polynomial","univariate","equation"])*)
  1390 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1391 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1392 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1393 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1394 (*val (p,_,f,nxt,_,pt) = me nxt p [1] pt; at introducing of MGs norm_Rational*)
  1395 (*val p = ([4,5],Res)  val f ="b * a ^^^ 2 + -1 * a * b ^^^ 2 + (a ^^^ 2 + b ^^^ 2 + -2 * a * b) * x +\n(b + -1 * a) * x ^^^ 2 =\n0"))
  1396 val nxt = Subproblem ("PolyEq",["polynomial","univariate","equation"]))*)
  1397 if f = Form'
  1398       (FormKF
  1399          (~1,
  1400             EdUndef,
  1401             0,
  1402             Nundef,
  1403             "b * a ^^^ 2 + -1 * a * b ^^^ 2 + (a ^^^ 2 + b ^^^ 2 + -2 * a * b) * x +\n(b + -1 * a) * x ^^^ 2 =\n0")) then ()
  1404 else error "rlang.sml: diff.behav. in chalk I s.87 Bsp 38b";
  1405 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1406 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1407 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1408 (*val nxt = ("Specify_Theory",Specify_Theory "PolyEq")*)
  1409 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1410 (*Specify_Problem["abcFormula","degree_2","polynomial","univariate","equation*)
  1411 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1412 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1413 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1414 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1415 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1416 (*val (p,_,f,nxt,_,pt) = me nxt p [1] pt;introducing MGs norm_Rational*)
  1417 (*val p = ([4,6,5],Res) val f ="[x =\n (2 * a * b + -1 * a ^^^ 2 + -1 * b ^^^ 2 +\n  sqrt\n   (a ^^^ 4 + b ^^^ 4 + -4 * a * a * b ^^^ 2 + -4 * a * b * a ^^^ 2 +\n    -4 * b * b * a ^^^ 2 +\n    4 * a * a * b ^^^ 2 +\n    4 * a * b * a ^^^ 2 +\n    2 * a ^^^ 2 * b ^^^ 2)) /\n (-2 * a + 2 * #"
  1418 nx Check_Postcond["abcFormula","degree_2","polynomial","univariate","equation*)
  1419 (*9.9.03:   -"-  ["normalize","polynomial","univar...*)
  1420 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1421 (*val p = ([4,6],Res)
  1422 val nxt =Check_Postcond ["normalize","polynomial","univariate","equation"])*)
  1423 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1424 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;(*1 additional for MGs norm_Rational*)
  1425 if p = ([],Res) andalso f = Form' (FormKF (~1,EdUndef,0,Nundef,
  1426 "[x =\n (2 * a * b + -1 * a ^^^ 2 + -1 * b ^^^ 2 +\n  sqrt\n   (a ^^^ 4 + b ^^^ 4 + -4 * a * a * b ^^^ 2 + -4 * a * b * a ^^^ 2 +\n    -4 * b * b * a ^^^ 2 +\n    4 * a * a * b ^^^ 2 +\n    4 * a * b * a ^^^ 2 +\n    2 * a ^^^ 2 * b ^^^ 2)) /\n (-2 * a + 2 * b),\n x =\n (2 * a * b + -1 * a ^^^ 2 + -1 * b ^^^ 2 +\n  -1 *\n  sqrt\n   (a ^^^ 4 + b ^^^ 4 + -4 * a * a * b ^^^ 2 + -4 * a * b * a ^^^ 2 +\n    -4 * b * b * a ^^^ 2 +\n    4 * a * a * b ^^^ 2 +\n    4 * a * b * a ^^^ 2 +\n    2 * a ^^^ 2 * b ^^^ 2)) /\n (-2 * a + 2 * b)]")) andalso nxt = ("End_Proof'",End_Proof') then writeln"simplify MG"
  1427 else error "rlang.sml: diff.behav. in rational-a-b";
  1428 
  1429 (*-----------------  Schalk II s.68 Bsp 56a ------------------------*)
  1430 "Schalk II s.68 Bsp 56a ((a+b*x)/(a-b*x) - (a - b*x)/(a+b*x)= (4*a*b)/(a^^^2 - b^^^2))";
  1431 val fmz = ["equality ((a+b*x)/(a-b*x) - (a - b*x)/(a+b*x)= (4*a*b)/(a^^^2 - b^^^2))","solveFor x","solutions L"];
  1432 val (dI',pI',mI') = ("RatEq",["univariate","equation"],["no_met"]);
  1433 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1434 (* val nxt = ("Model_Problem",Model_Problem ["rational","univariate","equation"]) *)
  1435 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1436 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1437 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1438 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1439 (*SK loops with poly:
  1440 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1441 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1442 
  1443 ... with sml-nj:
  1444  (a + b * x) / (a + -1 * (b * x)) + (-1 * a + b * x) / (a + b * x) =
  1445     4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1446 add_fractions_p wird nicht angewendet, weil ...
  1447 add_fract terminiert nicht: 030603
  1448 siehe Rational.ML rational.sml
  1449 *)
  1450 
  1451 (*
  1452 "(a + b * x) / (a + -1 * (b * x)) + -1 * (a + -1 * (b * x)) / (a + b * x) =\n4 * a * b / (a ^^^ 2 + -1 * b ^^^ 2)"
  1453 
  1454 val nxt = ("Rewrite_Set",Rewrite_Set "make_ratpoly") : string * tac           
  1455 "(a + b * x) / (a + -1 * b * x) + (-1 * a + b * x) / (a + b * x) =\n4 *
  1456 a * b / (a ^^^ 2 + -1 * b ^^^ 2)"
  1457 
  1458 
  1459 val t = str2term"(a + b * x) / (a + -1 * (b * x)) + -1 * (a + -1 * (b * x)) / (a + b * x) =\n4 * a * b / (a ^^^ 2 + -1 * b ^^^ 2)";
  1460 trace_rewrite := false;
  1461 val SOME (t',asm) = rewrite_set_ thy false norm_Rational t;
  1462 term2str t';
  1463 trace_rewrite:=false;
  1464 
  1465 #  rls: norm_Rational on: (a + b * x) / (a + -1 * (b * x)) + -1 * (a + -1 * (b * x)) / (a + b * x) = 4 * a * b / (a ^^^ 2 + -1 * b ^^^ 2)
  1466 
  1467 ##  rls: discard_minus on: 
  1468 ##  rls: powers on:
  1469 ##  rls: rat_mult_divide on:
  1470 ##  rls: expand on:
  1471 ##  rls: reduce_0_1_2 on:
  1472 ##  rls: order_add_mult on:
  1473 ###  try thm: mult_commute
  1474 ===  rewrites to: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + -1 * (-1 * (b * x))) / (a + b * x) = b * (4 * a) / (a ^^^ 2 + -1 * b ^^^ 2)
  1475 
  1476 ###  try thm: real_mult_left_commute
  1477 ===  rewrites to: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + -1 * (-1 * (b * x))) / (a + b * x) = 4 * (b * a) / (a ^^^ 2 + -1 * b ^^^ 2)
  1478 
  1479 ###  try thm: mult_commute
  1480 ===  rewrites to: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + -1 * (-1 * (b * x))) / (a + b * x) = 4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1481 
  1482 ###  try calc: op *'
  1483 ===  calc. to: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + 1 * (b * x)) / (a +b * x) = 4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1484 
  1485 ##  rls: add_fractions_p on: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + 1 * (b * x)) / (a + b * x) = 
  1486                                                                                                     4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1487 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GC
  1488 
  1489 ##  rls: discard_minus on:
  1490 ##  rls: powers on:
  1491 ##  rls: rat_mult_divide on:
  1492 ##  rls: expand on:
  1493 ##  rls: reduce_0_1_2 on:
  1494 ###  try thm: real_mult_1
  1495 ===  rewrites to: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + b * x) / (a + b * x) = 4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1496 
  1497 ##  rls: order_add_mult on:
  1498 
  1499 ##  rls: add_fractions_p on: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + b * x) / (a + b * x) =
  1500                                                                                                     4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1501 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GC
  1502 
  1503 ##  rls: discard_minus on:
  1504 ##  rls: powers on:
  1505 ##  rls: rat_mult_divide on:
  1506 ##  rls: expand on:
  1507 ##  rls: reduce_0_1_2 on:
  1508 ##  rls: order_add_mult on:
  1509 ##  rls: collect_numerals on:
  1510 ##  rls: add_fractions_p on: (a + b * x) / (a + -1 * (b * x)) + (-1 * a + b * x) / (a + b * x) =
  1511 4 * (a * b) / (a ^^^ 2 + -1 * b ^^^ 2)
  1512 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GC
  1513 *)
  1514  
  1515 
  1516 (*-----------------  Schalk II s.68 Bsp 61b ------------------------*)
  1517 "Schalk II s.68 Bsp 61b (sqrt(x+a)+sqrt(b - x)=sqrt(a+b))";
  1518 val fmz = ["equality (sqrt(x+a)+sqrt(b - x)=sqrt(a+b))",
  1519 	   "solveFor x","solutions L"];
  1520 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1521 
  1522 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1523 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"])*)
  1524 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1525 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1526 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1527 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1528 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1529 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1530 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1531 (* val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"])*)
  1532 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1533 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1534 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1535 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1536 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1537 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1538 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1539 (*val nxt = ("Model_Problem",
  1540    Model_Problem ["normalize","polynomial","univariate","equation"])*)
  1541 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1542 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1543 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1544 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1545 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1546 if f = Form'
  1547       (FormKF
  1548          (~1,
  1549             EdUndef,
  1550             0,
  1551             Nundef,
  1552             (*"-4 * b ^^^ 2 + -4 * a * b + 4 * b ^^^ 2 + 8 * a * b +\n(-2 * a + -4 * a + -4 * b + 2 * a + 8 * b) * x +\n-4 * x ^^^ 2 =\n0" before MG*)
  1553 	    "4 * a * b + (-4 * a + 4 * b) * x + -4 * x ^^^ 2 = 0")) then ()
  1554 else error "rlang.sml: diff.behav. in Schalk II s.68 Bsp 61b";
  1555 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1556 (*val nxt = ("Model_Problem", Model_Problem
  1557      ["abcFormula","degree_2","polynomial","univariate","equation"])*)
  1558 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1559 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1560 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1561 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1562 (* f= ... "-4 * b ^^^ 2 + -4 * a * b + 4 * b ^^^ 2 + 8 * a * b + 
  1563            (-2 * a + -4 * a + -4 * b + 2 * a + 8 * b) * x + -4 * x ^^^ 2 =0"*)
  1564 (*val nxt = ("Rewrite_Set_Inst",Rewrite_Set_Inst ([#],"d2_polyeq_abcFormula_simplify"))*)
  1565 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1566 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1567 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1568 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1569 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1570 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1571 (*if f = Form' (FormKF (~1,EdUndef,0,Nundef, with norm_Rational before MG
  1572 "[x =\n (-2 * a + -4 * b + 6 * a +\n  sqrt\n   (32 * a * b + -16 * a ^^^ 2 + -48 * b ^^^ 2 + 24 * a ^^^ 2 +\n    64 * b ^^^ 2 +\n    8 * a ^^^ 2)) /\n -8,\n x =\n (-2 * a + -4 * b + 6 * a +\n  -1 *\n  sqrt\n   (32 * a * b + -16 * a ^^^ 2 + -48 * b ^^^ 2 + 24 * a ^^^ 2 +\n    64 * b ^^^ 2 +\n    8 * a ^^^ 2)) /\n -8]")) then writeln"simplify MG"*)
  1573 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"[x =\n (-4 * b + 4 * a + sqrt (32 * a * b + 16 * a ^^^ 2 + 16 * b ^^^ 2)) / -8,\n x =\n (-4 * b + 4 * a + -1 * sqrt (32 * a * b + 16 * a ^^^ 2 + 16 * b ^^^ 2)) /\n -8]")) then ()
  1574 else error "rlang.sml: diff.behav. Bsp 61b";
  1575 (*WN.18.12.03: extreme run-time !!!*)
  1576 
  1577 
  1578 (*-----------------  Schalk II s.68 Bsp 62b ------------------------*)
  1579 "Schalk II s.68 Bsp 62b (sqrt((x+a)^^^2+(x - 2*b)^^^2)=a+2*b)";
  1580 val fmz = ["equality (sqrt((x+a)^^^2+(x - 2*b)^^^2)=a+2*b)",
  1581 	   "solveFor x","solutions L"];
  1582 val (dI',pI',mI') = ("RootEq",["univariate","equation"],["no_met"]);
  1583 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1584 (*val nxt = ("Model_Problem",Model_Problem ["sq","root'","univariate","equation"]) *)
  1585 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1586 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1587 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1588 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1589 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1590 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1591 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1592 (* val nxt = ("Model_Problem",
  1593    Model_Problem ["normalize","polynomial","univariate","equation"])*)
  1594 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1595 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1596 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1597 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1598 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1599 if f = Form'
  1600       (FormKF
  1601          (~1,
  1602             EdUndef,
  1603             0,
  1604             Nundef,
  1605             "-4 * a * b + (-4 * b + 2 * a) * x + 2 * x ^^^ 2 = 0")) then ()
  1606 else error "rlang.sml: diff.behav. in Schalk II s.68 Bsp 62b";
  1607 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1608 (*val nxt =  ("Model_Problem", Model_Problem
  1609      ["abcFormula","degree_2","polynomial","univariate","equation"])*)
  1610 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1611 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1612 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1613 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1614 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1615 (*val f = ... "-4 * a * b + (-4 * b + 2 * a) * x + 2 * x ^^^ 2 = 0" *)
  1616 (*val nxt =  ("Rewrite_Set_Inst",Rewrite_Set_Inst ([#],"d2_polyeq_abcFormula_simplify"))*)
  1617 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1618 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1619 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1620 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1621 (*val (p,_,f,nxt,_,pt) = me nxt p [1] pt;introduc.MGs norm_Rational*)
  1622 if f = Form' (FormKF (~1,EdUndef,0,Nundef,
  1623         "[x = (-2 * a + 4 * b + sqrt (16 * a * b + 16 * b ^^^ 2 + 4 * a ^^^ 2)) / 4,\n x =\n (-2 * a + 4 * b + -1 * sqrt (16 * a * b + 16 * b ^^^ 2 + 4 * a ^^^ 2)) / 4]")) then writeln "simplify MG"
  1624 else error "rlang.sml: diff.behav. in II 62b [x=...]";
  1625 val asms = get_assumptions_ pt p;
  1626 if asms = [str2term"0 <= ((-2 * a + 4 * b + sqrt (16 * a * b + 16 * b ^^^ 2 + 4 * a ^^^ 2)) / 4 + a) ^^^ 2 + ((-2 * a + 4 * b + sqrt (16 * a * b + 16 * b ^^^ 2 + 4 * a ^^^ 2)) / 4 - 2 * b) ^^^ 2",
  1627 	   str2term"0 <= a + 2 * b",
  1628 	   str2term"8 * (-4 * a * b) <= (-4 * b + 2 * a) ^^^ 2",
  1629 	   str2term"8 * (-4 * a * b) <= (-4 * b + 2 * a) ^^^ 2",
  1630 	   str2term"0 <= ((-2 * a + 4 * b + -1 * sqrt (16 * a * b + 16 * b ^^^ 2 + 4 * a ^^^ 2)) / 4 + a) ^^^ 2 + ((-2 * a + 4 * b + -1 * sqrt (16 * a * b + 16 * b ^^^ 2 + 4 * a ^^^ 2)) / 4 - 2 * b) ^^^ 2",
  1631 	   str2term"0 <= a + 2 * b",
  1632 	   str2term"8 * (-4 * a * b) <= (-4 * b + 2 * a) ^^^ 2",
  1633 	   str2term"8 * (-4 * a * b) <= (-4 * b + 2 * a) ^^^ 2"] 
  1634 then writeln "should be simplified MG"
  1635 else error "rlang.sml: diff.behav. in II 62b asms";
  1636 
  1637 "------ WN.TEST---------------------------------";
  1638 "------ WN.TEST---------------------------------";
  1639 "------ WN.TEST---------------------------------";
  1640 (*EO-7*)
  1641 val fmz = ["equality ((2*x+1)*x^^^2 = 0)",
  1642 	   "solveFor x","solutions L"];
  1643 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  1644 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1645 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1646 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1647 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1648 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1649 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1650 (*
  1651 val f = Form' (FormKF (~1,EdUndef,1,Nundef,"(2 * x + 1) * x ^^^ 2 = 0"))
  1652 normiert nicht ... korr.WN:
  1653 val t = str2term "(2*x+1)*x^^^2 = 0";
  1654 val subst = [(str2term "bdv", str2term "x")];
  1655 val SOME (t',_) = rewrite_set_inst_ thy false subst make_ratpoly_in t;
  1656 if term2str t' = "x ^^^ 2 + 2 * x ^^^ 3 = 0" then () 
  1657 else error "rlang.sml: 7";
  1658 *)
  1659 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1660 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1661 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1662 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1663 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1664 
  1665 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1666 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1667 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1668 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1669 val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  1670 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = 0, x = -1 / 2]")) then()
  1671 else error "rlang.sml WN.TEST new behaviour";
  1672 
  1673 "------ rlang.sml end---------------------------------";
  1674 
  1675 (*------------------------------vvv-Rewrite_Set "rat_eliminate"---------
  1676 > trace_rewrite:=true;
  1677 > val t = str2term 
  1678   "(3 + -1 * x + 1 * x ^^^ 2) / (9 * x + -6 * x ^^^ 2 + 1 * x ^^^ 3) = 1 / x";
  1679 > val SOME (t',asm) = 
  1680       rewrite_ thy dummy_ord rateq_erls true rat_mult_denominator_both t;
  1681 > term2str t'; terms2str asm;
  1682 "(3 + -1 * x + 1 * x ^^^ 2) * x = 1 * (9 * x + -6 * x ^^^ 2 + 1 * x ^^^ 3)"
  1683 "[\"9 * x + -6 * x ^^^ 2 + 1 * x ^^^ 3 ~= 0\",\"x ~= 0\"]"
  1684 > trace_rewrite:=false;
  1685   ------------------------------^^^-Rewrite_Set "rat_eliminate"---------*)
  1686 
  1687 
  1688 "-------------------- WN.15.5.03: Pythagoras -------------------------------";
  1689 "-------------------- WN.15.5.03: Pythagoras -------------------------------";
  1690 "-------------------- WN.15.5.03: Pythagoras -------------------------------";
  1691 (*EO-9*)
  1692 val fmz = ["equality ((a/2)^^^2 + (b/2)^^^2 = r^^^2)",
  1693 	   "solveFor a","solutions L"];
  1694 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  1695 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1696 (*   Model_Problem ["normalize","polynomial","univariate","equation"])*)
  1697 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1698 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1699 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1700 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1701 (*val nxt = ("Apply_Method",Apply_Method ["PolyEq","normalize_poly"])*)
  1702 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1703 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1704 (*val nxt = Subproblem ("PolyEq",["polynomial","univariate","equation"])*)
  1705 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1706 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1707 (*val nxt =Model_Problem ["sq_only","degree_2","polynomial","univariate","equation"])*)
  1708 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1709 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1710 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1711 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1712 (*val nxt = Apply_Method ["PolyEq","solve_d2_polyeq_sqonly_equation"])*)
  1713 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1714 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1715 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1716 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1717 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1718 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1719 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1720 if f = Form' (FormKF (~1,EdUndef,0,Nundef,
  1721 "[a = sqrt ((-1 * b ^^^ 2 + 4 * r ^^^ 2) / 1),\n a = -1 * sqrt ((-1 * b ^^^ 2 + 4 * r ^^^ 2) / 1)]")) andalso nxt = ("End_Proof'",End_Proof')
  1722 then writeln"simplify result\nsimplify result\nsimplify result"
  1723 else error "rlang.sml: diff.behav. in Pythagoras";
  1724 val asms = get_assumptions_ pt p;
  1725 (*if asms = [str2term"0 <= -4 * (b ^^^ 2 / 4 + -4 * r ^^^ 2 / 4)",
  1726              str2term"0 <= -4 * (b ^^^ 2 / 4 + -4 * r ^^^ 2 / 4)"]*)
  1727 if terms2str (*WN1104changed*) asms = 
  1728    "[0 <= -4 * (b ^^^ 2 / 4 + -1 * r ^^^ 2 / 1),\
  1729    \0 <= -4 * (b ^^^ 2 / 4 + -1 * r ^^^ 2 / 1)]"
  1730 then writeln"simplify result\nsimplify result\nsimplify result"
  1731 else error "rlang.sml: diff.behav. in Pythagoras asms";
  1732 
  1733 
  1734 "-------------------- WN.15.5.03: equation within the maximum example ------";
  1735 "-------------------- WN.15.5.03: equation within the maximum example ------";
  1736 "-------------------- WN.15.5.03: equation within the maximum example ------";
  1737 (*EO-10*)
  1738 val fmz = ["equality (2*sqrt(r^^^2 - (u/2)^^^2) - u^^^2/(2*sqrt(r^^^2 - (u/2)^^^2))= 0)",
  1739 	   "solveFor u","solutions L"];
  1740 val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  1741 
  1742 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  1743 (*   Model_Problem ["normalize","root'","univariate","equation"])*)
  1744 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1745 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1746 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1747 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1748 (*val nxt = Apply_Method ["RootEq","norm_sq_root_equation"])     *)
  1749 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1750 (*val nxt = Subproblem ("RootEq",["univariate","equation"]))*)
  1751 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1752 (*val nxt = Model_Problem ["sq","root'","univariate","equation"]) *)
  1753 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1754 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1755 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1756 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1757 (*val nxt = Apply_Method ["RootEq","solve_sq_root_equation"])     *)
  1758 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1759 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1760 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1761 (*val nxt = Subproblem ("RootEq",["univariate","equation"]))*)
  1762 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1763 (*val nxt = Model_Problem ["rational","univariate","equation"]) *)
  1764 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1765 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1766 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1767 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1768 (*val nxt = Apply_Method ["RootEq","solve_rat_equation"])     *)
  1769 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1770 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1771 (*val nxt = Subproblem ("RootEq",["univariate","equation"]))*)
  1772 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1773 (*val nxt = Model_Problem ["normalize","polynomial","univariate","equation"]) *)
  1774 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1775 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1776 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1777 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1778 (*val nxt = Apply_Method ["PolyEq","normalize_poly"])     *)
  1779 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1780 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1781 (*val nxt = Subproblem ("PolyEq",["polynomial","univariate","equation"]))*)
  1782 if f = Form'
  1783       (FormKF
  1784          (~1,
  1785             EdUndef,
  1786             0,
  1787             Nundef,
  1788             "-16 * r ^^^ 4 + 8 * r ^^^ 2 * u ^^^ 2 = 0")) then ()
  1789 else error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 38b";
  1790 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1791 (*val nxt = Model_Problem ["sq_only","degree_2","polynomial","univariate","equation"]) *)
  1792 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1793 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1794 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1795 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1796 (*val nxt = Apply_Method ["PolyEq","solve_d2_polyeq_sqonly_equation"])     *)
  1797 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1798 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1799 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1800 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1801 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1802 val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1803 val (p,_,f,nxt,_,pt) = me nxt p c pt;
  1804 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"[u = sqrt (2 * r ^^^ 2 / 1), u = -1 * sqrt (2 * r ^^^ 2 / 1)]")) then()
  1805 else error "rlang.sml WN.TEST new behaviour in max-rooteq";