tests run in Test_Isac with ML_system_64 = "true", still exception Size
authorWalther Neuper <walther.neuper@jku.at>
Wed, 18 Sep 2019 12:15:59 +0200
changeset 596272679ff6624eb
parent 59626 7b53f514b5e9
child 59628 3ba64c992e64
tests run in Test_Isac with ML_system_64 = "true", still exception Size
src/Pure/System/distribution.ML
test/Tools/isac/CalcElements/listC.sml
test/Tools/isac/Knowledge/biegelinie-1.sml
test/Tools/isac/Knowledge/biegelinie-2.sml
test/Tools/isac/Knowledge/biegelinie-3.sml
test/Tools/isac/Knowledge/biegelinie-4.sml
test/Tools/isac/Knowledge/diff.sml
test/Tools/isac/Knowledge/eqsystem.sml
test/Tools/isac/Knowledge/equation.sml
test/Tools/isac/Knowledge/integrate.sml
test/Tools/isac/Knowledge/inverse_z_transform.sml
test/Tools/isac/Knowledge/partial_fractions.sml
test/Tools/isac/Knowledge/polyeq-1.sml
test/Tools/isac/Knowledge/polyeq-2.sml
test/Tools/isac/Knowledge/polyeq.sml
test/Tools/isac/Knowledge/rateq.sml
test/Tools/isac/Knowledge/rational.sml
test/Tools/isac/Knowledge/rlang.sml
test/Tools/isac/Knowledge/rooteq.sml
test/Tools/isac/MathEngine/solve.sml
test/Tools/isac/OLDTESTS/root-equ.sml
test/Tools/isac/OLDTESTS/scriptnew.sml
test/Tools/isac/ProgLang/rewrite.sml
test/Tools/isac/Test_Isac.thy
     1.1 --- a/src/Pure/System/distribution.ML	Tue Sep 17 10:25:24 2019 +0200
     1.2 +++ b/src/Pure/System/distribution.ML	Wed Sep 18 12:15:59 2019 +0200
     1.3 @@ -10,3 +10,5 @@
     1.4    val is_identified = true;
     1.5    val is_official = false;
     1.6  end;
     1.7 +
     1.8 +(* enforce rebuild of Pure + HOL + Isac with preferences ML_system_64 = "true" *)
     2.1 --- a/test/Tools/isac/CalcElements/listC.sml	Tue Sep 17 10:25:24 2019 +0200
     2.2 +++ b/test/Tools/isac/CalcElements/listC.sml	Wed Sep 18 12:15:59 2019 +0200
     2.3 @@ -63,7 +63,7 @@
     2.4  (* now the argument "(3 + - 1)" etc needs to be evaluated in the assumption of NTH_CONS *)
     2.5  val t = str2term "NTH 3 [a,b,c,d,e]";
     2.6  atomty t;
     2.7 -trace_rewrite := true;
     2.8 +trace_rewrite := false;
     2.9  val SOME (t', _) = rewrite_set_ thy false list_rls t;
    2.10  trace_rewrite := false;
    2.11  if term2str t' = "c" then () 
     3.1 --- a/test/Tools/isac/Knowledge/biegelinie-1.sml	Tue Sep 17 10:25:24 2019 +0200
     3.2 +++ b/test/Tools/isac/Knowledge/biegelinie-1.sml	Wed Sep 18 12:15:59 2019 +0200
     3.3 @@ -1,16 +1,33 @@
     3.4 -(* tests on biegelinie
     3.5 -   author: Walther Neuper 050826
     3.6 +(* Title:  Knowledge/biegelinie-1.sml
     3.7 +   Author: Walther Neuper 050826
     3.8     (c) due to copyright terms
     3.9  *)
    3.10 -trace_rewrite := false;
    3.11  "-----------------------------------------------------------------";
    3.12  "table of contents -----------------------------------------------";
    3.13  "-----------------------------------------------------------------";
    3.14 -" 1----------- the rules -------------------------------------------";
    3.15 -" 2----------- simplify_leaf for this script -----------------------";
    3.16 -" 3(*size*)---- SubProblem (_,[setzeRandbedingungen,Biegelinien] ----";
    3.17 -" 4----------- investigate normalforms in biegelinien --------------";
    3.18 -(*^ unique*)
    3.19 +"------ biegelinie-1.sml -----------------------------------------";
    3.20 +"----------- the rules -------------------------------------------";
    3.21 +"----------- simplify_leaf for this script -----------------------";
    3.22 +"----------- SubProblem (_,[setzeRandbedingungen,Biegelinien] ----";
    3.23 +"----------- investigate normalforms in biegelinien --------------";
    3.24 +"-----------------------------------------------------------------";
    3.25 +"------ biegelinie-2.sml -----------------------------------------";
    3.26 +"----------- auto SubProblem (_,[vonBelastungZu,Biegelinien] -----";
    3.27 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    3.28 +"----------- me SubProblem (_,[vonBelastungZu,Biegelinien] -------";
    3.29 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
    3.30 +"-----------------------------------------------------------------";
    3.31 +"------ biegelinie-3.sml -----------------------------------------";
    3.32 +"----------- auto method [Biegelinien,setzeRandbedingungenEin]--------------------------------";
    3.33 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    3.34 +"----------- me method [Biegelinien,setzeRandbedingungenEin]----------------------------------";
    3.35 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
    3.36 +"-----------------------------------------------------------------";
    3.37 +"------ biegelinie-4.sml -----------------------------------------";
    3.38 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto TODO investigate failure ------";
    3.39 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    3.40 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    3.41 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
    3.42  "-----------------------------------------------------------------";
    3.43  "-----------------------------------------------------------------";
    3.44  "-----------------------------------------------------------------";
     4.1 --- a/test/Tools/isac/Knowledge/biegelinie-2.sml	Tue Sep 17 10:25:24 2019 +0200
     4.2 +++ b/test/Tools/isac/Knowledge/biegelinie-2.sml	Wed Sep 18 12:15:59 2019 +0200
     4.3 @@ -1,20 +1,46 @@
     4.4 -(* "Knowledge/biegelinie-3.sml"
     4.5 +(* Title:  Knowledge/biegelinie-2.sml
     4.6     author: Walther Neuper 190515
     4.7     (c) due to copyright terms
     4.8  *)
     4.9  "table of contents -----------------------------------------------";
    4.10  "-----------------------------------------------------------------";
    4.11 -"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    4.12 -"da----------- method [Biegelinien,setzeRandbedingungenEin] + exec -";
    4.13 -"da-incompl--- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. --------";(* --> biegelinie-3.sml *)
    4.14 -"----------- investigate normalforms in biegelinien --------------";
    4.15 +"----------- auto SubProblem (_,[vonBelastungZu,Biegelinien] -----";
    4.16 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    4.17 +"----------- me SubProblem (_,[vonBelastungZu,Biegelinien] -------";
    4.18 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
    4.19  "-----------------------------------------------------------------";
    4.20  "-----------------------------------------------------------------";
    4.21  "-----------------------------------------------------------------";
    4.22  
    4.23 -"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    4.24 -"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    4.25 -"----------- SubProblem (_,[vonBelastungZu,Biegelinien] ----------";
    4.26 +
    4.27 +"----------- auto SubProblem (_,[vonBelastungZu,Biegelinien] -----";
    4.28 +"----------- auto SubProblem (_,[vonBelastungZu,Biegelinien] -----";
    4.29 +"----------- auto SubProblem (_,[vonBelastungZu,Biegelinien] -----";
    4.30 +val fmz = 
    4.31 +    ["Streckenlast q_0","FunktionsVariable x",
    4.32 +     "Funktionen [Q x = c + -1 * q_0 * x, \
    4.33 +     \M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2,\
    4.34 +     \ y' x = c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\
    4.35 +     \ y x = c_4 + c_3 * x + 1 / (-1 * EI) * (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]",
    4.36 +    "AbleitungBiegelinie dy"];
    4.37 +val (dI',pI',mI') = ("Biegelinie", ["vonBelastungZu","Biegelinien"],
    4.38 +		     ["Biegelinien","ausBelastung"]);
    4.39 +
    4.40 +reset_states ();
    4.41 +CalcTree [(fmz, (dI',pI',mI'))];
    4.42 +Iterator 1;
    4.43 +moveActiveRoot 1;
    4.44 +autoCalculate 1 CompleteCalc;
    4.45 +
    4.46 +val ((pt, p),_) = get_calc 1;
    4.47 +if p = ([], Res) andalso (get_obj g_res pt (fst p) |> term2str) =
    4.48 +   "[Q x = c + -1 * q_0 * x, M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2,\n dy x =\n c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3),\n y x =\n c_4 + c_3 * x +\n 1 / (-1 * EI) *\n (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]"
    4.49 +then () else error "auto SubProblem (_,[vonBelastungZu,Biegelinien] changed";
    4.50 +
    4.51 +
    4.52 +"----------- me SubProblem (_,[vonBelastungZu,Biegelinien] -------";
    4.53 +"----------- me SubProblem (_,[vonBelastungZu,Biegelinien] -------";
    4.54 +"----------- me SubProblem (_,[vonBelastungZu,Biegelinien] -------";
    4.55  val fmz = 
    4.56      ["Streckenlast q_0","FunktionsVariable x",
    4.57       "Funktionen [Q x = c + -1 * q_0 * x, \
    4.58 @@ -72,13 +98,13 @@
    4.59  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.60  val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    4.61      "y' x = Integral 1 / - EI * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
    4.62 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
    4.63  val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    4.64  "y' x = Integral 1 / (-1 * EI) * (c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2) D x";
    4.65  val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    4.66  "y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
    4.67  val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
    4.68  "y' x =\nc_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)";
    4.69 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    4.70  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.71  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.72  val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.73 @@ -95,243 +121,7 @@
    4.74  then case nxt of ("End_Proof'", End_Proof') => ()
    4.75    | _ => error "biegelinie.sml met2 e 1"
    4.76  else error "biegelinie.sml met2 e 2";
    4.77 -(*-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
    4.78 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
    4.79  
    4.80 -"----------- method [Biegelinien,setzeRandbedingungenEin] + exec -";
    4.81 -"----------- method [Biegelinien,setzeRandbedingungenEin] + exec -";
    4.82 -"----------- method [Biegelinien,setzeRandbedingungenEin] + exec -";
    4.83 -"----- check the scripts syntax";
    4.84 -"----- execute script by interpreter: setzeRandbedingungenEin";
    4.85 -val fmz = ["Funktionen [Q x = c + -1 * q_0 * x," ^
    4.86 -    "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2," ^
    4.87 -    "y' x = c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)," ^
    4.88 -    "y x = c_4 + c_3 * x + 1 / (-1 * EI) * (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]",
    4.89 -	   "Randbedingungen [y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0]",
    4.90 -	   "Gleichungen equ_s"];
    4.91 -val (dI',pI',mI') = ("Biegelinie", ["setzeRandbedingungen","Biegelinien"],
    4.92 -		     ["Biegelinien","setzeRandbedingungenEin"]);
    4.93 -val p = e_pos'; val c = [];
    4.94 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
    4.95 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.96 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.97 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.98 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
    4.99  
   4.100 -"--- before 1.subpbl [Equation, fromFunction]";
   4.101 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.102 -case nxt of (_, Apply_Method ["Biegelinien", "setzeRandbedingungenEin"])=>()
   4.103 -| _ => error "biegelinie.sml: met setzeRandbed*Ein aa";
   4.104 -"----- Randbedingung y 0 = 0 in SUBpbl with met [Equation, fromFunction]";
   4.105 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.106 -if (#1 o (get_obj g_fmz pt)) (fst p) =
   4.107 -   ["functionEq\n (y x =\n  c_4 + c_3 * x +\n  1 / (-1 * EI) *" ^
   4.108 -     "\n  (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4))",
   4.109 -     "substitution (y 0 = 0)", "equality equ'''"] then ()
   4.110 -else error "biegelinie.sml met setzeRandbed*Ein bb";
   4.111 -(writeln o istate2str) (get_istate pt p);
   4.112 -"--- after 1.subpbl [Equation, fromFunction]";
   4.113  
   4.114 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.115 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.116 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.117 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.118 -case nxt of (_, Apply_Method["Equation", "fromFunction"]) => ()
   4.119 -| _ => error "biegelinie.sml met2 ff";
   4.120 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   4.121 -   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   4.122 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.123 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.124 -case nxt of (_, Check_Postcond ["makeFunctionTo", "equation"]) => ()
   4.125 -| _ => error "biegelinie.sml met2 gg";
   4.126 -
   4.127 -"--- before 2.subpbl [Equation, fromFunction]";
   4.128 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)" ;
   4.129 -case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   4.130 -| _ => error "biegelinie.sml met2 hh";
   4.131 -"--- after 1st arrival at 2.subpbl [Equation, fromFunction]";
   4.132 -
   4.133 -val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   4.134 -if (#1 o (get_obj g_fmz pt)) (fst p) =
   4.135 -    ["functionEq\n (y x =\n  c_4 + c_3 * x +\n  1 / (-1 * EI) *\n  (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4))",
   4.136 -      "substitution (y L = 0)", "equality equ'''"] then ()
   4.137 -else error "biegelinie.sml metsetzeRandbed*Ein bb ";
   4.138 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.139 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.140 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.141 -
   4.142 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.143 -case nxt of (_, Apply_Method["Equation", "fromFunction"]) => ()
   4.144 -| _ => error "biegelinie.sml met2 ii";
   4.145 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   4.146 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y L =\nc_4 + c_3 * L +\n1 / (-1 * EI) *\n(c_2 / 2 * L ^^^ 2 + c / 6 * L ^^^ 3 + -1 * q_0 / 24 * L ^^^ 4)";
   4.147 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + c_3 * L +\n1 / (-1 * EI) *\n(c_2 / 2 * L ^^^ 2 + c / 6 * L ^^^ 3 + -1 * q_0 / 24 * L ^^^ 4)";
   4.148 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + L * c_3 +\n(12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI)" ;
   4.149 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + L * c_3 +\n(12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI)";
   4.150 -case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   4.151 -| _ => error "biegelinie.sml met2 jj";
   4.152 -
   4.153 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.154 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.155 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.156 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.157 -case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   4.158 -| _ => error "biegelinie.sml met2 kk";
   4.159 -
   4.160 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2"(*true*);
   4.161 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2 + c * 0 + -1 * q_0 / 2 * 0 ^^^ 2";
   4.162 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2";
   4.163 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2";
   4.164 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.165 -(*========== inhibit exn WN1130722 Isabelle2012-->13 thehier? works in Test_Some===
   4.166 -
   4.167 -case nxt of (_, Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   4.168 -| _ => error "biegelinie.sml met2 ll";
   4.169 -
   4.170 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.171 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.172 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.173 -val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.174 -case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   4.175 -| _ => error "biegelinie.sml met2 mm";
   4.176 -
   4.177 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
   4.178 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b L = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2";
   4.179 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2";
   4.180 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2";
   4.181 -val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2";
   4.182 -case nxt of (_, Check_Postcond ["setzeRandbedingungen", "Biegelinien"]) => ()
   4.183 -| _ => error "biegelinie.sml met2 nn";
   4.184 -val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   4.185 -if nxt = ("End_Proof'", End_Proof') andalso f2str f =
   4.186 -(* "[0 = c_4,\n 0 =\n c_4 + L * c_3 +\n (12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI),\n 0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]" *)
   4.187 -"[0 = c_4,\n 0 =\n c_4 + L * c_3 +\n (12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) /\n (-1 * EI * 24),\n 0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]"
   4.188 -then () else error "biegelinie.sml met2 oo";
   4.189 -============ inhibit exn WN1130722 Isabelle2012-->13 thehier? works in Test_Some=*)
   4.190 -
   4.191 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. --------";
   4.192 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. --------";
   4.193 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. --------";
   4.194 -"----- Bsp 7.70 with me";
   4.195 -val fmz = ["Traegerlaenge L","Streckenlast q_0","Biegelinie y",
   4.196 -	     "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
   4.197 -	     "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
   4.198 -       "AbleitungBiegelinie dy"];
   4.199 -val (dI',pI',mI') = ("Biegelinie", ["Biegelinien"],
   4.200 -		     ["IntegrierenUndKonstanteBestimmen2"]);
   4.201 -val p = e_pos'; val c = [];
   4.202 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   4.203 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.204 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.205 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.206 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.207 -(*----------- 10 -----------*)
   4.208 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.209 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.210 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.211 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.212 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.213 -(*----------- 20 -----------*)
   4.214 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.215 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.216 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.217 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.218 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.219 -(*----------- 30 -----------*)
   4.220 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.221 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.222 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.223 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.224 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.225 -(*----------- 40 -----------*)
   4.226 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.227 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.228 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.229 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.230 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.231 -(*----------- 50 -----------*)
   4.232 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.233 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.234 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.235 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.236 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.237 -(*----------- 60 -----------*)
   4.238 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.239 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.240 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.241 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.242 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.243 -(*----------- 70 -----------*)
   4.244 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.245 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.246 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.247 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.248 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.249 -(*----------- 80 -----------*)
   4.250 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.251 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.252 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.253 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.254 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.255 -(*----------- 90 -----------*)
   4.256 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.257 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.258 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.259 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.260 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.261 -(*---------- 100 -----------*)
   4.262 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.263 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.264 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.265 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.266 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.267 -(*---------- 110 -----------*)
   4.268 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.269 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.270 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.271 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.272 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.273 -(*---------- 120 -----------*)
   4.274 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.275 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.276 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.277 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.278 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.279 -(*---------- 130 -----------*)
   4.280 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.281 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.282 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.283 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.284 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.285 -(*---------- 140 -----------*)
   4.286 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.287 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.288 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.289 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.290 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.291 -(*---------- 150 -----------*)
   4.292 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.293 -if p = ([3, 7], Res) then () else error "Bsp.7.70 ok: p = ([3, 7], Res)";
   4.294 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.295 -if p = ([3, 8], Pbl) then () else error "Bsp.7.70 ok: p = ([3, 8], Pbl)";
   4.296 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.297 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.298 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.299 -if p = ([3, 8], Pbl) then () else error "Bsp.7.70 ok: p = ([3, 8], Pbl)";
   4.300 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.301 -if p = ([3, 8, 1], Frm) then () else error "Bsp.7.70 ok: p = ([3, 8, 1], Frm)";
   4.302 -(* no progress from here ...*)
   4.303 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.304 -if p = ([3, 8, 1], Res) then () else error "Bsp.7.70 ok: p = ([3, 8, 1], Res)";
   4.305 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.306 -if p = ([3, 8, 1], Res) then () else error "Bsp.7.70 ok: p = ([3, 8, 1], Res)";
   4.307 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   4.308 -if p = ([3, 8, 1], Res) then () else error "Bsp.7.70 ok: p = ([3, 8, 1], Res)";
   4.309 -(*... no progress leads to: exception Size raised (line 182 of "./basis/LibrarySupport.sml")
   4.310 -
   4.311 -^^^^^^^^^^^^^^^ no progress already in isabisac15, but not noticed in time ^^^^^^^^^^^^^^^
   4.312 -
   4.313 -On correction don't forget to reactivate --- test parallel calls to autoCalculate ---,
   4.314 -which uses this example.*)
   4.315 -
   4.316 -
   4.317 -
     5.1 --- a/test/Tools/isac/Knowledge/biegelinie-3.sml	Tue Sep 17 10:25:24 2019 +0200
     5.2 +++ b/test/Tools/isac/Knowledge/biegelinie-3.sml	Wed Sep 18 12:15:59 2019 +0200
     5.3 @@ -1,434 +1,149 @@
     5.4 -(* "Knowledge/biegelinie-3.sml"
     5.5 -   author: Walther Neuper 190515
     5.6 +(* Title:  Knowledge/biegelinie-3.sml
     5.7 +   Author: Walther Neuper 050826
     5.8     (c) due to copyright terms
     5.9  *)
    5.10 +"-----------------------------------------------------------------";
    5.11  "table of contents -----------------------------------------------";
    5.12  "-----------------------------------------------------------------";
    5.13 -"----------- see biegelinie-1.sml---------------------------------";
    5.14 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
    5.15 -"da----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    5.16 -"da\<rightarrow>auto----- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto ---";
    5.17 -"-----------------------------------------------------------------";
    5.18 -"-----------------------------------------------------------------";
    5.19 -"-----------------------------------------------------------------";
    5.20 +"----------- auto method [Biegelinien,setzeRandbedingungenEin]--------------------------------";
    5.21 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    5.22 +"----------- me method [Biegelinien,setzeRandbedingungenEin]----------------------------------";
    5.23 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
    5.24 +"---------------------------------------------------------------------------------------------";
    5.25 +"---------------------------------------------------------------------------------------------";
    5.26 +"---------------------------------------------------------------------------------------------";
    5.27  
    5.28 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    5.29 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    5.30 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    5.31 -"----- Bsp 7.70 with me";
    5.32 -val fmz = ["Traegerlaenge L","Streckenlast q_0","Biegelinie y",
    5.33 -	     "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
    5.34 -	     "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
    5.35 -       "AbleitungBiegelinie dy"];
    5.36 -val (dI',pI',mI') = ("Biegelinie", ["Biegelinien"],
    5.37 -		     ["IntegrierenUndKonstanteBestimmen2"]);
    5.38 -val p = e_pos'; val c = [];
    5.39 -(*//----------------------------------vvv CalcTreeTEST ----------------------------------------\\*)
    5.40 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))]; (*nxt = Model_Problem*)
    5.41  
    5.42 -(*+*)val PblObj {probl, meth, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt (fst p);
    5.43 -(*+*)writeln (oris2str oris); (*[
    5.44 -(1, ["1"], #Given,Traegerlaenge, ["L"]),
    5.45 -(2, ["1"], #Given,Streckenlast, ["q_0"]),
    5.46 -(3, ["1"], #Find,Biegelinie, ["y"]),
    5.47 -(4, ["1"], #Relate,Randbedingungen, ["[y 0 = 0]","[y L = 0]","[M_b 0 = 0]","[M_b L = 0]"]),
    5.48 -(5, ["1"], #undef,FunktionsVariable, ["x"]),
    5.49 -(6, ["1"], #undef,GleichungsVariablen, ["[c]","[c_2]","[c_3]","[c_4]"]),
    5.50 -(7, ["1"], #undef,AbleitungBiegelinie, ["dy"])]*)
    5.51 -(*+*)itms2str_ @{context} probl = "[]";
    5.52 -(*+*)itms2str_ @{context} meth = "[]";
    5.53 -(*\\----------------------------------^^^ CalcTreeTEST ----------------------------------------//*)
    5.54 +"----------- auto method [Biegelinien,setzeRandbedingungenEin]--------------------------------";
    5.55 +"----------- auto method [Biegelinien,setzeRandbedingungenEin]--------------------------------";
    5.56 +"----------- auto method [Biegelinien,setzeRandbedingungenEin]--------------------------------";
    5.57 +val fmz = ["Funktionen [Q x = c + -1 * q_0 * x," ^
    5.58 +    "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2," ^
    5.59 +    "y' x = c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)," ^
    5.60 +    "y x = c_4 + c_3 * x + 1 / (-1 * EI) * (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]",
    5.61 +	   "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
    5.62 +	   "Gleichungen equ_s"];
    5.63 +val (dI',pI',mI') = ("Biegelinie", ["setzeRandbedingungen","Biegelinien"],
    5.64 +		     ["Biegelinien","setzeRandbedingungenEin"]);
    5.65  
    5.66 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "Traegerlaenge L"*)
    5.67 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "Streckenlast q_0"*)
    5.68 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Find "Biegelinie y"*)
    5.69 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Relation "Randbedingungen [y 0 = 0]", ERROR MISSING step: M_b 0 = 0*)
    5.70 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Relation "Randbedingungen [y L = 0, M_b 0 = 0, M_b L = 0]"*)
    5.71 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Theory "Biegelinie"*)
    5.72 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Problem ["Biegelinien"]*)
    5.73 -(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Method ["IntegrierenUndKonstanteBestimmen2"]*)
    5.74 -(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "FunktionsVariable x"*)
    5.75 -(*----------- 10 -----------*)
    5.76 -(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "GleichungsVariablen [c, c_2, c_3, c_4]"*)
    5.77 -(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "AbleitungBiegelinie dy*)
    5.78 -(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Apply_Method ["IntegrierenUndKonstanteBestimmen2"*)
    5.79 -
    5.80 -(*//----------------------------------vvv Apply_Method ["IntegrierenUndKonstanteBestimmen2"----\\*)
    5.81 -(*[1], Pbl*)val (p''''',_,f,nxt''''',_,pt''''') = me nxt p c pt; (*nxt = Model_Problem*)
    5.82 -(*AMBIGUITY in creating the environment from formal args. of partial_function "Biegelinie.Biegelinie2Script"
    5.83 -and the actual args., ie. items of the guard of "["IntegrierenUndKonstanteBestimmen2"]" by "assoc_by_type":
    5.84 -formal arg. "b" type-matches with several...actual args. "["dy","y"]"
    5.85 -selected "dy"
    5.86 -with
    5.87 -formals: ["l","q","v","b","s","vs","id_abl"]
    5.88 -actuals: ["L","q_0","x","[c, c_2, c_3, c_4]","dy","y","[y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0]"]*)
    5.89 -
    5.90 -"~~~~~ fun me , args:"; val ((_, tac), p, _(*NEW remove*), pt) = (nxt, p, c, pt);
    5.91 -    val (pt''', p''') =
    5.92 -	    (*locatetac is here for testing by me; step would suffice in me*)
    5.93 -	    case locatetac tac (pt,p) of
    5.94 -		    ("ok", (_, _, ptp)) => ptp
    5.95 -;
    5.96 -(*+*)p    = ([], Met);
    5.97 -(*+*)p''' = ([1], Pbl);
    5.98 -(*+*)val PblObj {meth, probl, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt''' (fst p''');
    5.99 -(*+*)(*MISSING after locatetac:*)
   5.100 -(*+*)writeln (oris2str oris); (*[
   5.101 -(1, ["1"], #Given,Streckenlast, ["q_0"]),
   5.102 -(2, ["1"], #Given,FunktionsVariable, ["x"]),
   5.103 -(3, ["1"], #Find,Funktionen, ["funs'''"])]
   5.104 -MISSING:
   5.105 -                 Biegelinie
   5.106 -                 AbleitungBiegelinie
   5.107 -*)
   5.108 -"~~~~~ fun locatetac , args:"; val (tac, (ptp as (pt, p))) = (tac, (pt,p));
   5.109 -      val (mI, m) = Solve.mk_tac'_ tac;
   5.110 -val Appl m = (*case*) Applicable.applicable_in p pt m (*of*);
   5.111 -(*if*) member op = Solve.specsteps mI = false; (*else*)
   5.112 -
   5.113 -loc_solve_ (mI,m) ptp;
   5.114 -"~~~~~ fun loc_solve_ , args:"; val (m, (pt, pos)) = ((mI,m), ptp);
   5.115 -
   5.116 -Solve.solve m (pt, pos);
   5.117 -"~~~~~ fun solve , args:"; val (("Apply_Method", m as Tactic.Apply_Method' (mI, _, _, ctxt)), (pt, (pos as (p, _)))) =
   5.118 -  (m, (pt, pos));
   5.119 -val {srls, ...} = Specify.get_met mI;
   5.120 -      val itms = case get_obj I pt p of
   5.121 -        PblObj {meth=itms, ...} => itms
   5.122 -      | _ => error "solve Apply_Method: uncovered case get_obj"
   5.123 -      val thy' = get_obj g_domID pt p;
   5.124 -      val thy = Celem.assoc_thy thy';
   5.125 -      val (is, env, ctxt, sc) = case Lucin.init_pstate ctxt itms mI of
   5.126 -        (is as Istate.Pstate (env,_,_,_,_,_), ctxt, sc) =>  (is, env, ctxt, sc)
   5.127 -      | _ => error "solve Apply_Method: uncovered case init_pstate"
   5.128 -      val ini = Lucin.init_form thy sc env;
   5.129 -      val p = lev_dn p;
   5.130 -val NONE = (*case*) ini (*of*);
   5.131 -            val (m', (is', ctxt'), _) = determine_next_tactic (thy', srls) (pt, (p, Res)) sc (is, ctxt);
   5.132 -	          val d = Rule.e_rls (*FIXME: get simplifier from domID*);
   5.133 -     val Safe_Step ((pt', p'), _, _, _) = (*case*) locate_input_tactic sc (pt,(p, Res)) is' ctxt' m' (*of*);
   5.134 -Safe_Step : state * Istate.T * Proof.context * Tactic.T -> input_tactic_result;
   5.135 -
   5.136 -(*+*)val PblObj {meth, probl, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt' (fst p');
   5.137 -(*+*)(*MISSING after locate_input_tactic:*)
   5.138 -(*+*)writeln (oris2str oris); (*[
   5.139 -(1, ["1"], #Given,Streckenlast, ["q_0"]),
   5.140 -(2, ["1"], #Given,FunktionsVariable, ["x"]),
   5.141 -(3, ["1"], #Find,Funktionen, ["funs'''"])]
   5.142 -MISSING:
   5.143 -                 Biegelinie
   5.144 -                 AbleitungBiegelinie
   5.145 -*)
   5.146 -"~~~~~ fun locate_input_tactic , args:"; val ((thy', srls), m, (pt, p),
   5.147 -	    (scr as Rule.Prog sc, d), (Istate.Pstate (E,l,a,v,S,b), ctxt)) =
   5.148 -  ((thy',srls), m', (pt,(p, Res)), (sc,d), (is', ctxt'));
   5.149 -val thy = Celem.assoc_thy thy';
   5.150 -(*if*) l = [] orelse (
   5.151 -		  (*init.in solve..Apply_Method...*)(last_elem o fst) p = 0 andalso snd p = Res) = true;(*then*)
   5.152 -(assy ((*thy',*)ctxt,srls,d,Aundef) ((E,[Celem.R],a,v,S,b), [(m,Generate.EmptyMout,pt,p,[])]) (body_of sc));
   5.153 -
   5.154 -"~~~~~ fun assy , args:"; val (ya, ((E,l,a,v,S,b),ss:step list), (Const ("HOL.Let",_) $ e $ (Abs (id,T,body)))) =
   5.155 -  (((*thy',*)ctxt,srls,d,Aundef), ((E,[Celem.R],a,v,S,b), [(m,Generate.EmptyMout,pt,p,[])]), (body_of sc));
   5.156 -(*case*) assy ya ((E , l @ [Celem.L, Celem.R], a,v,S,b), ss) e (*of*);
   5.157 -
   5.158 -"~~~~~ fun assy , args:"; val (((*thy',*)ctxt,sr,d,ap), ((E,l,a,v,S,_), (m,_,pt,(p,p_),c)::ss), t) =
   5.159 -  (ya, ((E , l @ [Celem.L, Celem.R], a,v,S,b), ss), e);
   5.160 -val (a', STac stac) = (*case*) handle_leaf "locate" thy' sr E a v t (*of*);
   5.161 -(*+*)writeln (term2str stac); (*SubProblem
   5.162 - (''Biegelinie'', [''vonBelastungZu'', ''Biegelinien''],
   5.163 -  [''Biegelinien'', ''ausBelastung''])
   5.164 - [REAL q_0, REAL x, REAL_REAL y, REAL_REAL dy] *)
   5.165 -           val p' = 
   5.166 -             case p_ of Frm => p 
   5.167 -             | Res => lev_on p
   5.168 -		         | _ => error ("assy: call by " ^ pos'2str (p,p_));
   5.169 -     val Ass (m,v', ctxt) = (*case*) associate pt ctxt (m, stac) (*of*);
   5.170 -
   5.171 -"~~~~~ fun associate , args:"; val (pt, _, (Tactic.Subproblem' ((domID, pblID, _), _, _, _, _, _)),
   5.172 -      (stac as Const ("Prog_Tac.SubProblem", _) $ (Const ("Product_Type.Pair", _) $ 
   5.173 -        dI' $ (Const ("Product_Type.Pair", _) $ pI' $ mI')) $ ags')) =
   5.174 -  (pt, d, m, stac);
   5.175 -      val dI = HOLogic.dest_string dI';
   5.176 -      val thy = Stool.common_subthy (Celem.assoc_thy dI, rootthy pt);
   5.177 -	    val pI = pI' |> HOLogic.dest_list |> map HOLogic.dest_string;
   5.178 -	    val mI = mI' |> HOLogic.dest_list |> map HOLogic.dest_string;
   5.179 -	    val ags = TermC.isalist2list ags';
   5.180 -(*if*) mI = ["no_met"] = false; (*else*)
   5.181 -(*    val (pI, pors, mI) = *)
   5.182 -	      (pI, (Chead.match_ags thy ((#ppc o Specify.get_pbt) pI) ags)
   5.183 -		      handle ERROR "actual args do not match formal args"
   5.184 -		      => (Chead.match_ags_msg pI stac ags(*raise exn*); []), mI);
   5.185 -"~~~~~ fun match_ags , args:"; val (thy, pbt, ags) = (thy, ((#ppc o Specify.get_pbt) pI), ags);
   5.186 -(*+*)pbt;
   5.187 -    fun flattup (i, (var, bool, str, itm_)) = (i, var, bool, str, itm_)
   5.188 -    val pbt' = filter_out is_copy_named pbt
   5.189 -    val cy = filter is_copy_named pbt
   5.190 -    val oris' = matc thy pbt' ags []
   5.191 -    val cy' = map (cpy_nam pbt' oris') cy
   5.192 -    val ors = Specify.add_id (oris' @ cy') (*...appended in order to get into the model-items *)
   5.193 -
   5.194 -(*+*)val c = [];
   5.195 -(*\\----------------------------------^^^ Apply_Method ["IntegrierenUndKonstanteBestimmen2"----//*)
   5.196 -
   5.197 -(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt''''' p''''' c pt'''''; (*nxt = Add_Given "Streckenlast q_0"*)
   5.198 -(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "FunktionsVariable x"*)
   5.199 -(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Find "Funktionen funs'''"*)
   5.200 -(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Theory "Biegelinie"*)
   5.201 -(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Problem ["vonBelastungZu", "Biegelinien"]*)
   5.202 -(*[1], Pbl*)val (p''''',_,f,nxt''''',_,pt''''') = me nxt p c pt; (*nxt = Specify_Method ["Biegelinien", "ausBelastung"]*)
   5.203 -(*----------- 20 -----------*)
   5.204 -(*//------------------------------------------------vvv Specify_Method ["Biegelinien", "ausBelastung"]-\\*)
   5.205 -(*[1], Pbl*)(*ERROR val (p,_,f,nxt,_,pt) = me nxt''''' p''''' c pt'''''; (*nxt = Apply_Method ["Biegelinien", "ausBelastung"]*)
   5.206 -ERROR itms2args: 'Biegelinie' not in itms*)
   5.207 -
   5.208 -(*SubProblem (_, [''vonBelastungZu'', ''Biegelinien''], _)
   5.209 -    [REAL q, REAL v, REAL_REAL b, REAL_REAL id_abl]
   5.210 -                     ^^^^^^^^^^^ ..ERROR itms2args: 'Biegelinie' not in itms*)
   5.211 -(*+*)val PblObj {meth, probl, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt''''' (fst p''''');
   5.212 -(*+*)if oris2str oris =
   5.213 -(*+*)  "[\n(1, [\"1\"], #Given,Streckenlast, [\"q_0\"]),\n(2, [\"1\"], #Given,FunktionsVariable, [\"x\"]),\n(3, [\"1\"], #Find,Funktionen, [\"funs'''\"])]"
   5.214 -(*+*)then () else error "([1], Pbl) Specify_Problem ['vonBelastungZu', 'Biegelinien'] changed oris";
   5.215 -writeln (oris2str oris); (*[
   5.216 -(1, ["1"], #Given,Streckenlast, ["q_0"]),
   5.217 -(2, ["1"], #Given,FunktionsVariable, ["x"]),
   5.218 -(3, ["1"], #Find,Funktionen, ["funs'''"])]*)
   5.219 -(*+*)if itms2str_ @{context} probl = "[\n(1 ,[1] ,true ,#Given ,Cor Streckenlast q_0 ,(q_q, [q_0])),\n(2 ,[1] ,true ,#Given ,Cor FunktionsVariable x ,(v_v, [x])),\n(3 ,[1] ,true ,#Find ,Cor Funktionen funs''' ,(funs''', [funs''']))]"
   5.220 -(*+*)then () else error "([1], Pbl) Specify_Problem ['vonBelastungZu', 'Biegelinien'] changed probl";
   5.221 -writeln (itms2str_ @{context} probl); (*[
   5.222 -(1 ,[1] ,true ,#Given ,Cor Streckenlast q_0 ,(q_q, [q_0])),
   5.223 -(2 ,[1] ,true ,#Given ,Cor FunktionsVariable x ,(v_v, [x])),
   5.224 -(3 ,[1] ,true ,#Find ,Cor Funktionen funs''' ,(funs''', [funs''']))]*)
   5.225 -(*+*)if itms2str_ @{context} meth = "[]"
   5.226 -(*+*)then () else error "([1], Pbl) Specify_Problem ['vonBelastungZu', 'Biegelinien'] changed meth";
   5.227 -writeln (itms2str_ @{context} meth); (*[]*)
   5.228 -
   5.229 -"~~~~~ fun me , args:"; val ((_, tac), p, _(*NEW remove*), pt) = (nxt''''', p''''', c, pt''''');
   5.230 -(*  val (pt, p) = *)
   5.231 -	    (*locatetac is here for testing by me; step would suffice in me*)
   5.232 -	    case locatetac tac (pt,p) of
   5.233 -		    ("ok", (_, _, ptp)) => ptp
   5.234 -;
   5.235 -"~~~~~ fun locatetac , args:"; val (tac, (ptp as (pt, p))) = (tac, (pt,p));
   5.236 -      val (mI, m) = Solve.mk_tac'_ tac;
   5.237 -val Chead.Appl m = (*case*) Applicable.applicable_in p pt m (*of*);
   5.238 -(*if*) member op = Solve.specsteps mI = true; (*then*)
   5.239 -
   5.240 -(*val Updated (_, _, (ctree, pos')) =*) loc_specify_ m ptp; (*creates meth-itms*)
   5.241 -"~~~~~ fun loc_specify_ , args:"; val (m, (pt, pos)) = (m, ptp);
   5.242 -(*    val (p, _, f, _, _, pt) =*) Chead.specify m pos [] pt;
   5.243 -
   5.244 -"~~~~~ fun specify , args:"; val ((Tactic.Specify_Method' (mID, _, _)), (pos as (p, _)), _, pt) = (m, pos, [], pt);
   5.245 -        val (oris, dI', pI', mI', dI, pI, pbl, met, ctxt) = case get_obj I pt p of
   5.246 -          PblObj {origin= (oris, (dI', pI', mI'), _), spec= (dI, pI, _), probl = pbl, meth = met, ctxt, ...} =>
   5.247 -             (oris, dI', pI', mI', dI, pI, pbl, met, ctxt)
   5.248 -        val {ppc, pre, prls,...} = Specify.get_met mID
   5.249 -        val thy = Celem.assoc_thy dI
   5.250 -        val dI'' = if dI = Rule.e_domID then dI' else dI
   5.251 -        val pI'' = if pI = Celem.e_pblID then pI' else pI
   5.252 -;
   5.253 -(*+*)writeln (oris2str oris); (*[
   5.254 -(1, ["1"], #Given,Streckenlast, ["q_0"]),
   5.255 -(2, ["1"], #Given,FunktionsVariable, ["x"]),
   5.256 -(3, ["1"], #Find,Funktionen, ["funs'''"])]*)
   5.257 -(*+*)writeln (pats2str' ppc);
   5.258 -(*["(#Given, (Streckenlast, q__q))
   5.259 -","(#Given, (FunktionsVariable, v_v))
   5.260 -","(#Given, (Biegelinie, id_fun))
   5.261 -","(#Given, (AbleitungBiegelinie, id_abl))
   5.262 -","(#Find, (Funktionen, fun_s))"]*)
   5.263 -(*+*)writeln (pats2str' ((#ppc o Specify.get_pbt) pI));
   5.264 -(*["(#Given, (Streckenlast, q_q))
   5.265 -","(#Given, (FunktionsVariable, v_v))
   5.266 -","(#Find, (Funktionen, funs'''))"]*)
   5.267 -        val oris = Specify.add_field' thy ppc oris
   5.268 -        val met = if met = [] then pbl else met
   5.269 -        val (_, (itms, pre')) = Specify.match_itms_oris thy met (ppc, pre, prls ) oris
   5.270 -;
   5.271 -(*+*)writeln (itms2str_ @{context} itms); (*[
   5.272 -(1 ,[1] ,true ,#Given ,Cor Streckenlast q_0 ,(q_q, [q_0])),
   5.273 -(2 ,[1] ,true ,#Given ,Cor FunktionsVariable x ,(v_v, [x])),
   5.274 -(3 ,[1] ,true ,#Find ,Cor Funktionen funs''' ,(funs''', [funs''']))] *)
   5.275 -
   5.276 -(*//----------- hack for funpack: generalise handling of meths which extend problem items -----\\*)
   5.277 -val itms =
   5.278 -  if mI' = ["Biegelinien", "ausBelastung"]
   5.279 -  then itms @
   5.280 -    [(4, [1], true, "#Given", Cor ((Const ("Biegelinie.Biegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   5.281 -        [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   5.282 -      (Free ("id_fun", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   5.283 -        [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] ))),
   5.284 -    (5, [1], true, "#Given", Cor ((Const ("Biegelinie.AbleitungBiegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   5.285 -        [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   5.286 -      (Free ("id_abl", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   5.287 -        [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] )))]
   5.288 -  else itms
   5.289 -(*\\----------- hack for funpack: generalise handling of meths which extend problem items -----//*)
   5.290 -
   5.291 -val itms' = itms @
   5.292 -  [(4, [1], true, "#Given", Cor ((@{term "Biegelinie"},
   5.293 -      [@{term "y::real \<Rightarrow> real"}]),
   5.294 -    (@{term "id_fun::real \<Rightarrow> real"},
   5.295 -      [@{term "y::real \<Rightarrow> real"}] ))),
   5.296 -  (5, [1], true, "#Given", Cor ((@{term "AbleitungBiegelinie"},
   5.297 -      [@{term "dy::real \<Rightarrow> real"}]),
   5.298 -    (@{term "id_abl::real \<Rightarrow> real"},
   5.299 -      [@{term "dy::real \<Rightarrow> real"}] )))]
   5.300 -val itms'' = itms @
   5.301 -  [(4, [1], true, "#Given", Cor ((Const ("Biegelinie.Biegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   5.302 -      [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   5.303 -    (Free ("id_fun", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   5.304 -      [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] ))),
   5.305 -  (5, [1], true, "#Given", Cor ((Const ("Biegelinie.AbleitungBiegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   5.306 -      [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   5.307 -    (Free ("id_abl", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   5.308 -      [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] )))]
   5.309 -;
   5.310 -if itms' = itms'' then () else error "itms BUIT BY HAND ARE BROKEN";
   5.311 -(*//-----------------------------------------^^^ Specify_Method ["Biegelinien", "ausBelastung"]-\\*)
   5.312 -
   5.313 -val (p,_,f,nxt,_,pt) = me nxt''''' p''''' c pt''''';
   5.314 -val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.315 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.316 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.317 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.318 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.319 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
   5.320 -(*----------- 30 -----------*)
   5.321 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.322 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.323 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.324 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.325 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.326 -(*----------- 40 -----------*)
   5.327 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.328 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.329 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.330 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.331 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.332 -(*----------- 50 -----------*)
   5.333 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.334 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.335 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.336 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.337 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.338 -(*----------- 60 -----------*)
   5.339 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.340 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.341 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.342 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.343 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.344 -(*----------- 70 -----------*)
   5.345 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.346 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.347 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.348 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.349 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.350 -(*----------- 80 -----------*)
   5.351 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.352 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.353 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.354 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.355 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.356 -(*----------- 90 -----------*)
   5.357 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.358 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.359 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.360 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.361 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.362 -(*---------- 100 -----------*)
   5.363 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.364 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.365 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.366 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.367 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.368 -(*---------- 110 -----------*)
   5.369 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.370 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.371 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.372 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.373 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.374 -(*---------- 120 -----------*)
   5.375 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.376 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.377 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.378 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.379 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.380 -(*---------- 130 -----------*)
   5.381 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.382 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.383 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.384 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.385 -val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.386 -
   5.387 -if p = ([3], Pbl)
   5.388 -then
   5.389 -  case nxt of
   5.390 -    ("Add_Given", Add_Given "solveForVars [c_2, c_3, c_4]") => 
   5.391 -    (case f of
   5.392 -      PpcKF
   5.393 -          (Problem [],
   5.394 -           {Find = [Incompl "solution []"], Given =
   5.395 -            [Correct
   5.396 -              "equalities\n [0 = -1 * c_4 / -1,\n  0 =\n  (-24 * c_4 * EI + -24 * L * c_3 * EI + 12 * L ^^^ 2 * c_2 +\n   4 * L ^^^ 3 * c +\n   -1 * L ^^^ 4 * q_0) /\n  (-24 * EI),\n  0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]",
   5.397 -             Incompl "solveForVars [c]"],
   5.398 -            Relate = [], Where = [], With = []}) => ()
   5.399 -    | _ => error "Bsp.7.70 me changed 1")
   5.400 -  | _ => error "Bsp.7.70 me changed 2"
   5.401 -else error "Bsp.7.70 me changed 3";
   5.402 -(* NOTE: ^^^^^^^^^^^^^^^^^ no progress already in isabisac15, but not noticed ^^^^^^^^^^^^^^^^^ *)
   5.403 -( *-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   5.404 -
   5.405 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto ---";
   5.406 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto ---";
   5.407 -"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto ---";
   5.408 -(* the error in this test might be independent from introduction of y, dy
   5.409 -   as arguments in IntegrierenUndKonstanteBestimmen2,
   5.410 -   rather due to so far untested use of "auto" *)
   5.411 -val fmz = ["Traegerlaenge L","Streckenlast q_0","Biegelinie y",
   5.412 -	     "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
   5.413 -	     "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
   5.414 -       "AbleitungBiegelinie dy"];
   5.415 -val (dI',pI',mI') = ("Biegelinie", ["Biegelinien"],
   5.416 -		     ["IntegrierenUndKonstanteBestimmen2"]);
   5.417 -
   5.418 -reset_states ();
   5.419 +reset_states ();  
   5.420  CalcTree [(fmz, (dI',pI',mI'))];
   5.421  Iterator 1;
   5.422  moveActiveRoot 1;
   5.423 +autoCalculate 1 CompleteCalc;
   5.424  
   5.425 -(*[], Met*)autoCalculate 1 CompleteCalcHead;
   5.426 -(*[1], Pbl*)autoCalculate 1 (Step 1); (* into SubProblem *)
   5.427 -(*[1], Res*)autoCalculate 1 CompleteSubpbl; (**)
   5.428 -(*[2], Pbl*)autoCalculate 1 (Step 1); (* out of SubProblem *)
   5.429 -(*[2], Res*)autoCalculate 1 CompleteSubpbl;
   5.430 -(*[3], Pbl*)autoCalculate 1 (Step 1); (* out of SubProblem *)
   5.431 -(*[3], Met*)autoCalculate 1 CompleteCalcHead;
   5.432 -(*[3, 1], Frm*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.433 -(*(**)autoCalculate 1 CompleteSubpbl;  error in kernel 4: generate1: not impl.for Empty_Tac_*)
   5.434 -(*[3, 1], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.435 -(*[3, 2], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.436 -(*[3, 3], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.437 -(*[3, 4], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.438 -(*[3, 5], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.439 -(*[3, 6], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.440 -(*[3, 7], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.441 -(*[3, 8], Pbl*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.442 -(*[3, 8], Met*)autoCalculate 1 CompleteCalcHead;
   5.443 -(*[3, 8, 1], Frm*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.444 -(*[3, 8, 1], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
   5.445 -(*(**)autoCalculate 1 (Step 1); 
   5.446 -*** generate1: not impl.for Empty_Tac_ 
   5.447 -val it = <AUTOCALC><CALCID>1</CALCID><CALCMESSAGE>helpless</CALCMESSAGE></AUTOCALC>: XML.tree *)
   5.448 +val ((pt, p),_) = get_calc 1;
   5.449 +if p = ([], Res) andalso (get_obj g_res pt (fst p) |> term2str) =
   5.450 +  "[0 = -1 * c_4 / -1,\n 0 =\n (-24 * c_4 * EI + -24 * L * c_3 * EI + 12 * L ^^^ 2 * c_2 +\n  4 * L ^^^ 3 * c +\n  -1 * L ^^^ 4 * q_0) /\n (-24 * EI),\n 0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]"
   5.451 +then () else error "auto method [Biegelinien,setzeRandbedingungenEin] changed";
   5.452  
   5.453 -val ((pt,_),_) = get_calc 1;
   5.454 -val ip = get_pos 1 1;
   5.455 -val (Form f, tac, asms) = pt_extract (pt, ip);
   5.456  
   5.457 -if ip = ([3, 8, 1], Res) andalso 
   5.458 -term2str f = "[-1 * c_4 / -1 = 0,\n (6 * c_4 * EI + 6 * L * c_3 * EI + -3 * L ^^^ 2 * c_2 + -1 * L ^^^ 3 * c) /\n (6 * EI) =\n L ^^^ 4 * q_0 / (-24 * EI),\n c_2 = 0, c_2 + L * c = L ^^^ 2 * q_0 / 2]"
   5.459 -then 
   5.460 -  case tac of
   5.461 -    SOME (Check_Postcond ["normalise", "4x4", "LINEAR", "system"]) => ()
   5.462 -  | _ => error "ERROR biegel.7.70 changed 1"
   5.463 -else error "ERROR biegel.7.70 changed 2";
   5.464 -(* NOTE: ^^^^^^^^^^^^^^^^^ no progress already in isabisac15, but not noticed ^^^^^^^^^^^^^^^^^ *)
   5.465 +"----------- me method [Biegelinien,setzeRandbedingungenEin]----------------------------------";
   5.466 +"----------- me method [Biegelinien,setzeRandbedingungenEin]----------------------------------";
   5.467 +"----------- me method [Biegelinien,setzeRandbedingungenEin]----------------------------------";
   5.468 +val fmz = ["Funktionen [Q x = c + -1 * q_0 * x," ^
   5.469 +    "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2," ^
   5.470 +    "y' x = c_3 + 1 / (-1 * EI) * (c_2 * x + c / 2 * x ^^^ 2 + -1 * q_0 / 6 * x ^^^ 3)," ^
   5.471 +    "y x = c_4 + c_3 * x + 1 / (-1 * EI) * (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)]",
   5.472 +	   "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
   5.473 +	   "Gleichungen equ_s"];
   5.474 +val (dI',pI',mI') = ("Biegelinie", ["setzeRandbedingungen","Biegelinien"],
   5.475 +		     ["Biegelinien","setzeRandbedingungenEin"]);
   5.476 +val p = e_pos'; val c = [];
   5.477 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   5.478 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.479 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.480 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.481 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.482 +
   5.483 +"--- before 1.subpbl [Equation, fromFunction]";
   5.484 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.485 +case nxt of (_, Apply_Method ["Biegelinien", "setzeRandbedingungenEin"])=>()
   5.486 +| _ => error "biegelinie.sml: met setzeRandbed*Ein aa";
   5.487 +"----- Randbedingung y 0 = 0 in SUBpbl with met [Equation, fromFunction]";
   5.488 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.489 +if (#1 o (get_obj g_fmz pt)) (fst p) =
   5.490 +   ["functionEq\n (y x =\n  c_4 + c_3 * x +\n  1 / (-1 * EI) *" ^
   5.491 +     "\n  (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4))",
   5.492 +     "substitution (y 0 = 0)", "equality equ'''"] then ()
   5.493 +else error "biegelinie.sml met setzeRandbed*Ein bb";
   5.494 +(writeln o istate2str) (get_istate pt p);
   5.495 +"--- after 1.subpbl [Equation, fromFunction]";
   5.496 +
   5.497 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.498 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.499 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.500 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.501 +case nxt of (_, Apply_Method["Equation", "fromFunction"]) => ()
   5.502 +| _ => error "biegelinie.sml met2 ff";
   5.503 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f =
   5.504 +   "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   5.505 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.506 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.507 +case nxt of (_, Check_Postcond ["makeFunctionTo", "equation"]) => ()
   5.508 +| _ => error "biegelinie.sml met2 gg";
   5.509 +
   5.510 +"--- before 2.subpbl [Equation, fromFunction]";
   5.511 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_4 + 0 / (-1 * EI)" ;
   5.512 +case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   5.513 +| _ => error "biegelinie.sml met2 hh";
   5.514 +"--- after 1st arrival at 2.subpbl [Equation, fromFunction]";
   5.515 +
   5.516 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   5.517 +if (#1 o (get_obj g_fmz pt)) (fst p) =
   5.518 +    ["functionEq\n (y x =\n  c_4 + c_3 * x +\n  1 / (-1 * EI) *\n  (c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4))",
   5.519 +      "substitution (y L = 0)", "equality equ'''"] then ()
   5.520 +else error "biegelinie.sml metsetzeRandbed*Ein bb ";
   5.521 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.522 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.523 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.524 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.525 +case nxt of (_, Apply_Method["Equation", "fromFunction"]) => ()
   5.526 +| _ => error "biegelinie.sml met2 ii";
   5.527 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   5.528 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y x =\nc_4 + c_3 * x +\n1 / (-1 * EI) *\n(c_2 / 2 * x ^^^ 2 + c / 6 * x ^^^ 3 + -1 * q_0 / 24 * x ^^^ 4)";
   5.529 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "y L =\nc_4 + c_3 * L +\n1 / (-1 * EI) *\n(c_2 / 2 * L ^^^ 2 + c / 6 * L ^^^ 3 + -1 * q_0 / 24 * L ^^^ 4)";
   5.530 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + c_3 * L +\n1 / (-1 * EI) *\n(c_2 / 2 * L ^^^ 2 + c / 6 * L ^^^ 3 + -1 * q_0 / 24 * L ^^^ 4)";
   5.531 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + L * c_3 +\n(12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI)" ;
   5.532 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 =\nc_4 + L * c_3 +\n(12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI)";
   5.533 +case nxt of (_,Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   5.534 +| _ => error "biegelinie.sml met2 jj";
   5.535 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.536 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.537 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.538 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.539 +case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   5.540 +| _ => error "biegelinie.sml met2 kk";
   5.541 +
   5.542 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2"(*true*);
   5.543 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2 + c * 0 + -1 * q_0 / 2 * 0 ^^^ 2";
   5.544 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2";
   5.545 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2";
   5.546 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.547 +(*========== inhibit exn WN1130722 Isabelle2012-->13 thehier? works in Test_Some===
   5.548 +
   5.549 +case nxt of (_, Subproblem (_, ["makeFunctionTo", "equation"])) => ()
   5.550 +| _ => error "biegelinie.sml met2 ll";
   5.551 +
   5.552 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.553 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.554 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.555 +val (p,_,f,nxt,_,pt) = me nxt p c pt; val (p,_,f,nxt,_,pt) = me nxt p c pt;
   5.556 +case nxt of (_, Apply_Method ["Equation", "fromFunction"])=>()
   5.557 +| _ => error "biegelinie.sml met2 mm";
   5.558 +
   5.559 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b x = c_2 + c * x + -1 * q_0 / 2 * x ^^^ 2";
   5.560 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "M_b L = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2";
   5.561 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = c_2 + c * L + -1 * q_0 / 2 * L ^^^ 2";
   5.562 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2";
   5.563 +val (p,_,f,nxt,_,pt) = me nxt p c pt; f2str f = "0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2";
   5.564 +case nxt of (_, Check_Postcond ["setzeRandbedingungen", "Biegelinien"]) => ()
   5.565 +| _ => error "biegelinie.sml met2 nn";
   5.566 +val (p,_,f,nxt,_,pt) = me nxt p c pt; 
   5.567 +if nxt = ("End_Proof'", End_Proof') andalso f2str f =
   5.568 +(* "[0 = c_4,\n 0 =\n c_4 + L * c_3 +\n (12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) / (-24 * EI),\n 0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]" *)
   5.569 +"[0 = c_4,\n 0 =\n c_4 + L * c_3 +\n (12 * L ^^^ 2 * c_2 + 4 * L ^^^ 3 * c + -1 * L ^^^ 4 * q_0) /\n (-1 * EI * 24),\n 0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]"
   5.570 +then () else error "biegelinie.sml met2 oo";
   5.571 +============ inhibit exn WN1130722 Isabelle2012-->13 thehier? works in Test_Some=*)
   5.572 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   5.573 +
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/test/Tools/isac/Knowledge/biegelinie-4.sml	Wed Sep 18 12:15:59 2019 +0200
     6.3 @@ -0,0 +1,443 @@
     6.4 +(* "Knowledge/biegelinie-4.sml"
     6.5 +   author: Walther Neuper 190515
     6.6 +   (c) due to copyright terms
     6.7 +*)
     6.8 +"table of contents ---------------------------------------------------------------------------";
     6.9 +"---------------------------------------------------------------------------------------------";
    6.10 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto TODO investigate failure ------";
    6.11 +(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
    6.12 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me ---------------------------------";
    6.13 +( *-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
    6.14 +"---------------------------------------------------------------------------------------------";
    6.15 +"---------------------------------------------------------------------------------------------";
    6.16 +"---------------------------------------------------------------------------------------------";
    6.17 +
    6.18 +
    6.19 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto TODO investigate failure ------";
    6.20 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto TODO investigate failure ------";
    6.21 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. auto TODO investigate failure ------";
    6.22 +(* the error in this test might be independent from introduction of y, dy
    6.23 +   as arguments in IntegrierenUndKonstanteBestimmen2,
    6.24 +   rather due to so far untested use of "auto" *)
    6.25 +val fmz = ["Traegerlaenge L","Streckenlast q_0","Biegelinie y",
    6.26 +	     "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
    6.27 +	     "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
    6.28 +       "AbleitungBiegelinie dy"];
    6.29 +val (dI',pI',mI') = ("Biegelinie", ["Biegelinien"],
    6.30 +		     ["IntegrierenUndKonstanteBestimmen2"]);
    6.31 +
    6.32 +reset_states ();
    6.33 +CalcTree [(fmz, (dI',pI',mI'))];                                     
    6.34 +Iterator 1;
    6.35 +moveActiveRoot 1;
    6.36 +autoCalculate 1 CompleteCalc;
    6.37 +
    6.38 +val ((pt, p),_) = get_calc 1;
    6.39 +if p = ([], Pbl) then () else error ""
    6.40 +get_obj I pt (fst p); (*TODO investigate failure*)
    6.41 +
    6.42 +(* NOTE: ^^^^^^^^^^^^^^^^^ no progress already in isabisac15, but not noticed ^^^^^^^^^^^^^^^^^ * )
    6.43 +(*[], Met*)autoCalculate 1 CompleteCalcHead;
    6.44 +(*[1], Pbl*)autoCalculate 1 (Step 1); (* into SubProblem *)
    6.45 +(*[1], Res*)autoCalculate 1 CompleteSubpbl; (**)
    6.46 +(*[2], Pbl*)autoCalculate 1 (Step 1); (* out of SubProblem *)
    6.47 +(*[2], Res*)autoCalculate 1 CompleteSubpbl;
    6.48 +(*[3], Pbl*)autoCalculate 1 (Step 1); (* out of SubProblem *)
    6.49 +(*[3], Met*)autoCalculate 1 CompleteCalcHead;
    6.50 +(*[3, 1], Frm*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.51 +(*(**)autoCalculate 1 CompleteSubpbl;  error in kernel 4: generate1: not impl.for Empty_Tac_*)
    6.52 +(*[3, 1], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.53 +(*[3, 2], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.54 +(*[3, 3], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.55 +(*[3, 4], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.56 +(*[3, 5], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.57 +(*[3, 6], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.58 +(*[3, 7], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.59 +(*[3, 8], Pbl*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.60 +(*[3, 8], Met*)autoCalculate 1 CompleteCalcHead;
    6.61 +(*[3, 8, 1], Frm*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.62 +(*[3, 8, 1], Res*)autoCalculate 1 (Step 1); (* solve SubProblem *)
    6.63 +(*(**)autoCalculate 1 (Step 1); 
    6.64 +*** generate1: not impl.for Empty_Tac_ 
    6.65 +val it = <AUTOCALC><CALCID>1</CALCID><CALCMESSAGE>helpless</CALCMESSAGE></AUTOCALC>: XML.tree *)
    6.66 +
    6.67 +val ((pt,_),_) = get_calc 1;
    6.68 +val ip = get_pos 1 1;
    6.69 +val (Form f, tac, asms) = pt_extract (pt, ip);
    6.70 +
    6.71 +if ip = ([3, 8, 1], Res) andalso 
    6.72 +term2str f = "[-1 * c_4 / -1 = 0,\n (6 * c_4 * EI + 6 * L * c_3 * EI + -3 * L ^^^ 2 * c_2 + -1 * L ^^^ 3 * c) /\n (6 * EI) =\n L ^^^ 4 * q_0 / (-24 * EI),\n c_2 = 0, c_2 + L * c = L ^^^ 2 * q_0 / 2]"
    6.73 +then 
    6.74 +  case tac of
    6.75 +    SOME (Check_Postcond ["normalise", "4x4", "LINEAR", "system"]) => ()
    6.76 +  | _ => error "ERROR biegel.7.70 changed 1"
    6.77 +else error "ERROR biegel.7.70 changed 2";
    6.78 +( * NOTE: ^^^^^^^^^^^^^^^^^ no progress already in isabisac15, but not noticed ^^^^^^^^^^^^^^^^^ *)
    6.79 +
    6.80 +
    6.81 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    6.82 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    6.83 +"----------- IntegrierenUndKonstanteBestimmen2: Bsp.7.70. me -----";
    6.84 +"----- Bsp 7.70 with me";
    6.85 +val fmz = ["Traegerlaenge L","Streckenlast q_0","Biegelinie y",
    6.86 +	     "Randbedingungen [y 0 = (0::real), y L = 0, M_b 0 = 0, M_b L = 0]",
    6.87 +	     "FunktionsVariable x", "GleichungsVariablen [c, c_2, c_3, c_4]",
    6.88 +       "AbleitungBiegelinie dy"];
    6.89 +val (dI',pI',mI') = ("Biegelinie", ["Biegelinien"],
    6.90 +		     ["IntegrierenUndKonstanteBestimmen2"]);
    6.91 +val p = e_pos'; val c = [];
    6.92 +(*//----------------------------------vvv CalcTreeTEST ----------------------------------------\\*)
    6.93 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))]; (*nxt = Model_Problem*)
    6.94 +
    6.95 +(*+*)val PblObj {probl, meth, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt (fst p);
    6.96 +(*+*)writeln (oris2str oris); (*[
    6.97 +(1, ["1"], #Given,Traegerlaenge, ["L"]),
    6.98 +(2, ["1"], #Given,Streckenlast, ["q_0"]),
    6.99 +(3, ["1"], #Find,Biegelinie, ["y"]),
   6.100 +(4, ["1"], #Relate,Randbedingungen, ["[y 0 = 0]","[y L = 0]","[M_b 0 = 0]","[M_b L = 0]"]),
   6.101 +(5, ["1"], #undef,FunktionsVariable, ["x"]),
   6.102 +(6, ["1"], #undef,GleichungsVariablen, ["[c]","[c_2]","[c_3]","[c_4]"]),
   6.103 +(7, ["1"], #undef,AbleitungBiegelinie, ["dy"])]*)
   6.104 +(*+*)itms2str_ @{context} probl = "[]";
   6.105 +(*+*)itms2str_ @{context} meth = "[]";
   6.106 +(*\\----------------------------------^^^ CalcTreeTEST ----------------------------------------//*)
   6.107 +
   6.108 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "Traegerlaenge L"*)
   6.109 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "Streckenlast q_0"*)
   6.110 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Find "Biegelinie y"*)
   6.111 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Relation "Randbedingungen [y 0 = 0]", ERROR MISSING step: M_b 0 = 0*)
   6.112 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Relation "Randbedingungen [y L = 0, M_b 0 = 0, M_b L = 0]"*)
   6.113 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Theory "Biegelinie"*)
   6.114 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Problem ["Biegelinien"]*)
   6.115 +(*[], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Method ["IntegrierenUndKonstanteBestimmen2"]*)
   6.116 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "FunktionsVariable x"*)
   6.117 +(*----------- 10 -----------*)
   6.118 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "GleichungsVariablen [c, c_2, c_3, c_4]"*)
   6.119 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "AbleitungBiegelinie dy*)
   6.120 +(*[], Met*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Apply_Method ["IntegrierenUndKonstanteBestimmen2"*)
   6.121 +
   6.122 +(*//----------------------------------vvv Apply_Method ["IntegrierenUndKonstanteBestimmen2"----\\*)
   6.123 +(*[1], Pbl*)val (p''''',_,f,nxt''''',_,pt''''') = me nxt p c pt; (*nxt = Model_Problem*)
   6.124 +(*AMBIGUITY in creating the environment from formal args. of partial_function "Biegelinie.Biegelinie2Script"
   6.125 +and the actual args., ie. items of the guard of "["IntegrierenUndKonstanteBestimmen2"]" by "assoc_by_type":
   6.126 +formal arg. "b" type-matches with several...actual args. "["dy","y"]"
   6.127 +selected "dy"
   6.128 +with
   6.129 +formals: ["l","q","v","b","s","vs","id_abl"]
   6.130 +actuals: ["L","q_0","x","[c, c_2, c_3, c_4]","dy","y","[y 0 = 0, y L = 0, M_b 0 = 0, M_b L = 0]"]*)
   6.131 +
   6.132 +"~~~~~ fun me , args:"; val ((_, tac), p, _(*NEW remove*), pt) = (nxt, p, c, pt);
   6.133 +    val (pt''', p''') =
   6.134 +	    (*locatetac is here for testing by me; step would suffice in me*)
   6.135 +	    case locatetac tac (pt,p) of
   6.136 +		    ("ok", (_, _, ptp)) => ptp
   6.137 +;
   6.138 +(*+*)p    = ([], Met);
   6.139 +(*+*)p''' = ([1], Pbl);
   6.140 +(*+*)val PblObj {meth, probl, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt''' (fst p''');
   6.141 +(*+*)(*MISSING after locatetac:*)
   6.142 +(*+*)writeln (oris2str oris); (*[
   6.143 +(1, ["1"], #Given,Streckenlast, ["q_0"]),
   6.144 +(2, ["1"], #Given,FunktionsVariable, ["x"]),
   6.145 +(3, ["1"], #Find,Funktionen, ["funs'''"])]
   6.146 +MISSING:
   6.147 +                 Biegelinie
   6.148 +                 AbleitungBiegelinie
   6.149 +*)
   6.150 +"~~~~~ fun locatetac , args:"; val (tac, (ptp as (pt, p))) = (tac, (pt,p));
   6.151 +      val (mI, m) = Solve.mk_tac'_ tac;
   6.152 +val Appl m = (*case*) Applicable.applicable_in p pt m (*of*);
   6.153 +(*if*) member op = Solve.specsteps mI = false; (*else*)
   6.154 +
   6.155 +loc_solve_ (mI,m) ptp;
   6.156 +"~~~~~ fun loc_solve_ , args:"; val (m, (pt, pos)) = ((mI,m), ptp);
   6.157 +
   6.158 +Solve.solve m (pt, pos);
   6.159 +"~~~~~ fun solve , args:"; val (("Apply_Method", m as Tactic.Apply_Method' (mI, _, _, ctxt)), (pt, (pos as (p, _)))) =
   6.160 +  (m, (pt, pos));
   6.161 +val {srls, ...} = Specify.get_met mI;
   6.162 +      val itms = case get_obj I pt p of
   6.163 +        PblObj {meth=itms, ...} => itms
   6.164 +      | _ => error "solve Apply_Method: uncovered case get_obj"
   6.165 +      val thy' = get_obj g_domID pt p;
   6.166 +      val thy = Celem.assoc_thy thy';
   6.167 +      val (is, env, ctxt, sc) = case Lucin.init_pstate ctxt itms mI of
   6.168 +        (is as Istate.Pstate (env,_,_,_,_,_), ctxt, sc) =>  (is, env, ctxt, sc)
   6.169 +      | _ => error "solve Apply_Method: uncovered case init_pstate"
   6.170 +      val ini = Lucin.init_form thy sc env;
   6.171 +      val p = lev_dn p;
   6.172 +val NONE = (*case*) ini (*of*);
   6.173 +            val (m', (is', ctxt'), _) = determine_next_tactic (thy', srls) (pt, (p, Res)) sc (is, ctxt);
   6.174 +	          val d = Rule.e_rls (*FIXME: get simplifier from domID*);
   6.175 +     val Safe_Step ((pt', p'), _, _, _) = (*case*) locate_input_tactic sc (pt,(p, Res)) is' ctxt' m' (*of*);
   6.176 +Safe_Step : state * Istate.T * Proof.context * Tactic.T -> input_tactic_result;
   6.177 +
   6.178 +(*+*)val PblObj {meth, probl, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt' (fst p');
   6.179 +(*+*)(*MISSING after locate_input_tactic:*)
   6.180 +(*+*)writeln (oris2str oris); (*[
   6.181 +(1, ["1"], #Given,Streckenlast, ["q_0"]),
   6.182 +(2, ["1"], #Given,FunktionsVariable, ["x"]),
   6.183 +(3, ["1"], #Find,Funktionen, ["funs'''"])]
   6.184 +MISSING:
   6.185 +                 Biegelinie
   6.186 +                 AbleitungBiegelinie
   6.187 +*)
   6.188 +"~~~~~ fun locate_input_tactic , args:"; val ((thy', srls), m, (pt, p),
   6.189 +	    (scr as Rule.Prog sc, d), (Istate.Pstate (E,l,a,v,S,b), ctxt)) =
   6.190 +  ((thy',srls), m', (pt,(p, Res)), (sc,d), (is', ctxt'));
   6.191 +val thy = Celem.assoc_thy thy';
   6.192 +(*if*) l = [] orelse (
   6.193 +		  (*init.in solve..Apply_Method...*)(last_elem o fst) p = 0 andalso snd p = Res) = true;(*then*)
   6.194 +(assy ((*thy',*)ctxt,srls,d,Aundef) ((E,[Celem.R],a,v,S,b), [(m,Generate.EmptyMout,pt,p,[])]) (body_of sc));
   6.195 +
   6.196 +"~~~~~ fun assy , args:"; val (ya, ((E,l,a,v,S,b),ss:step list), (Const ("HOL.Let",_) $ e $ (Abs (id,T,body)))) =
   6.197 +  (((*thy',*)ctxt,srls,d,Aundef), ((E,[Celem.R],a,v,S,b), [(m,Generate.EmptyMout,pt,p,[])]), (body_of sc));
   6.198 +(*case*) assy ya ((E , l @ [Celem.L, Celem.R], a,v,S,b), ss) e (*of*);
   6.199 +
   6.200 +"~~~~~ fun assy , args:"; val (((*thy',*)ctxt,sr,d,ap), ((E,l,a,v,S,_), (m,_,pt,(p,p_),c)::ss), t) =
   6.201 +  (ya, ((E , l @ [Celem.L, Celem.R], a,v,S,b), ss), e);
   6.202 +val (a', STac stac) = (*case*) handle_leaf "locate" thy' sr E a v t (*of*);
   6.203 +(*+*)writeln (term2str stac); (*SubProblem
   6.204 + (''Biegelinie'', [''vonBelastungZu'', ''Biegelinien''],
   6.205 +  [''Biegelinien'', ''ausBelastung''])
   6.206 + [REAL q_0, REAL x, REAL_REAL y, REAL_REAL dy] *)
   6.207 +           val p' = 
   6.208 +             case p_ of Frm => p 
   6.209 +             | Res => lev_on p
   6.210 +		         | _ => error ("assy: call by " ^ pos'2str (p,p_));
   6.211 +     val Ass (m,v', ctxt) = (*case*) associate pt ctxt (m, stac) (*of*);
   6.212 +
   6.213 +"~~~~~ fun associate , args:"; val (pt, _, (Tactic.Subproblem' ((domID, pblID, _), _, _, _, _, _)),
   6.214 +      (stac as Const ("Prog_Tac.SubProblem", _) $ (Const ("Product_Type.Pair", _) $ 
   6.215 +        dI' $ (Const ("Product_Type.Pair", _) $ pI' $ mI')) $ ags')) =
   6.216 +  (pt, d, m, stac);
   6.217 +      val dI = HOLogic.dest_string dI';
   6.218 +      val thy = Stool.common_subthy (Celem.assoc_thy dI, rootthy pt);
   6.219 +	    val pI = pI' |> HOLogic.dest_list |> map HOLogic.dest_string;
   6.220 +	    val mI = mI' |> HOLogic.dest_list |> map HOLogic.dest_string;
   6.221 +	    val ags = TermC.isalist2list ags';
   6.222 +(*if*) mI = ["no_met"] = false; (*else*)
   6.223 +(*    val (pI, pors, mI) = *)
   6.224 +	      (pI, (Chead.match_ags thy ((#ppc o Specify.get_pbt) pI) ags)
   6.225 +		      handle ERROR "actual args do not match formal args"
   6.226 +		      => (Chead.match_ags_msg pI stac ags(*raise exn*); []), mI);
   6.227 +"~~~~~ fun match_ags , args:"; val (thy, pbt, ags) = (thy, ((#ppc o Specify.get_pbt) pI), ags);
   6.228 +(*+*)pbt;
   6.229 +    fun flattup (i, (var, bool, str, itm_)) = (i, var, bool, str, itm_)
   6.230 +    val pbt' = filter_out is_copy_named pbt
   6.231 +    val cy = filter is_copy_named pbt
   6.232 +    val oris' = matc thy pbt' ags []
   6.233 +    val cy' = map (cpy_nam pbt' oris') cy
   6.234 +    val ors = Specify.add_id (oris' @ cy') (*...appended in order to get into the model-items *)
   6.235 +
   6.236 +(*+*)val c = [];
   6.237 +(*\\----------------------------------^^^ Apply_Method ["IntegrierenUndKonstanteBestimmen2"----//*)
   6.238 +
   6.239 +(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt''''' p''''' c pt'''''; (*nxt = Add_Given "Streckenlast q_0"*)
   6.240 +(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Given "FunktionsVariable x"*)
   6.241 +(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Add_Find "Funktionen funs'''"*)
   6.242 +(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Theory "Biegelinie"*)
   6.243 +(*[1], Pbl*)val (p,_,f,nxt,_,pt) = me nxt p c pt; (*nxt = Specify_Problem ["vonBelastungZu", "Biegelinien"]*)
   6.244 +(*[1], Pbl*)val (p''''',_,f,nxt''''',_,pt''''') = me nxt p c pt; (*nxt = Specify_Method ["Biegelinien", "ausBelastung"]*)
   6.245 +(*----------- 20 -----------*)
   6.246 +(*//------------------------------------------------vvv Specify_Method ["Biegelinien", "ausBelastung"]-\\*)
   6.247 +(*[1], Pbl*)(*ERROR val (p,_,f,nxt,_,pt) = me nxt''''' p''''' c pt'''''; (*nxt = Apply_Method ["Biegelinien", "ausBelastung"]*)
   6.248 +ERROR itms2args: 'Biegelinie' not in itms*)
   6.249 +
   6.250 +(*SubProblem (_, [''vonBelastungZu'', ''Biegelinien''], _)
   6.251 +    [REAL q, REAL v, REAL_REAL b, REAL_REAL id_abl]
   6.252 +                     ^^^^^^^^^^^ ..ERROR itms2args: 'Biegelinie' not in itms*)
   6.253 +(*+*)val PblObj {meth, probl, spec = (thy, _ , metID), origin = (oris, _, _), ...} = get_obj I pt''''' (fst p''''');
   6.254 +(*+*)if oris2str oris =
   6.255 +(*+*)  "[\n(1, [\"1\"], #Given,Streckenlast, [\"q_0\"]),\n(2, [\"1\"], #Given,FunktionsVariable, [\"x\"]),\n(3, [\"1\"], #Find,Funktionen, [\"funs'''\"])]"
   6.256 +(*+*)then () else error "([1], Pbl) Specify_Problem ['vonBelastungZu', 'Biegelinien'] changed oris";
   6.257 +writeln (oris2str oris); (*[
   6.258 +(1, ["1"], #Given,Streckenlast, ["q_0"]),
   6.259 +(2, ["1"], #Given,FunktionsVariable, ["x"]),
   6.260 +(3, ["1"], #Find,Funktionen, ["funs'''"])]*)
   6.261 +(*+*)if itms2str_ @{context} probl = "[\n(1 ,[1] ,true ,#Given ,Cor Streckenlast q_0 ,(q_q, [q_0])),\n(2 ,[1] ,true ,#Given ,Cor FunktionsVariable x ,(v_v, [x])),\n(3 ,[1] ,true ,#Find ,Cor Funktionen funs''' ,(funs''', [funs''']))]"
   6.262 +(*+*)then () else error "([1], Pbl) Specify_Problem ['vonBelastungZu', 'Biegelinien'] changed probl";
   6.263 +writeln (itms2str_ @{context} probl); (*[
   6.264 +(1 ,[1] ,true ,#Given ,Cor Streckenlast q_0 ,(q_q, [q_0])),
   6.265 +(2 ,[1] ,true ,#Given ,Cor FunktionsVariable x ,(v_v, [x])),
   6.266 +(3 ,[1] ,true ,#Find ,Cor Funktionen funs''' ,(funs''', [funs''']))]*)
   6.267 +(*+*)if itms2str_ @{context} meth = "[]"
   6.268 +(*+*)then () else error "([1], Pbl) Specify_Problem ['vonBelastungZu', 'Biegelinien'] changed meth";
   6.269 +writeln (itms2str_ @{context} meth); (*[]*)
   6.270 +
   6.271 +"~~~~~ fun me , args:"; val ((_, tac), p, _(*NEW remove*), pt) = (nxt''''', p''''', c, pt''''');
   6.272 +(*  val (pt, p) = *)
   6.273 +	    (*locatetac is here for testing by me; step would suffice in me*)
   6.274 +	    case locatetac tac (pt,p) of
   6.275 +		    ("ok", (_, _, ptp)) => ptp
   6.276 +;
   6.277 +"~~~~~ fun locatetac , args:"; val (tac, (ptp as (pt, p))) = (tac, (pt,p));
   6.278 +      val (mI, m) = Solve.mk_tac'_ tac;
   6.279 +val Chead.Appl m = (*case*) Applicable.applicable_in p pt m (*of*);
   6.280 +(*if*) member op = Solve.specsteps mI = true; (*then*)
   6.281 +
   6.282 +(*val Updated (_, _, (ctree, pos')) =*) loc_specify_ m ptp; (*creates meth-itms*)
   6.283 +"~~~~~ fun loc_specify_ , args:"; val (m, (pt, pos)) = (m, ptp);
   6.284 +(*    val (p, _, f, _, _, pt) =*) Chead.specify m pos [] pt;
   6.285 +
   6.286 +"~~~~~ fun specify , args:"; val ((Tactic.Specify_Method' (mID, _, _)), (pos as (p, _)), _, pt) = (m, pos, [], pt);
   6.287 +        val (oris, dI', pI', mI', dI, pI, pbl, met, ctxt) = case get_obj I pt p of
   6.288 +          PblObj {origin= (oris, (dI', pI', mI'), _), spec= (dI, pI, _), probl = pbl, meth = met, ctxt, ...} =>
   6.289 +             (oris, dI', pI', mI', dI, pI, pbl, met, ctxt)
   6.290 +        val {ppc, pre, prls,...} = Specify.get_met mID
   6.291 +        val thy = Celem.assoc_thy dI
   6.292 +        val dI'' = if dI = Rule.e_domID then dI' else dI
   6.293 +        val pI'' = if pI = Celem.e_pblID then pI' else pI
   6.294 +;
   6.295 +(*+*)writeln (oris2str oris); (*[
   6.296 +(1, ["1"], #Given,Streckenlast, ["q_0"]),
   6.297 +(2, ["1"], #Given,FunktionsVariable, ["x"]),
   6.298 +(3, ["1"], #Find,Funktionen, ["funs'''"])]*)
   6.299 +(*+*)writeln (pats2str' ppc);
   6.300 +(*["(#Given, (Streckenlast, q__q))
   6.301 +","(#Given, (FunktionsVariable, v_v))
   6.302 +","(#Given, (Biegelinie, id_fun))
   6.303 +","(#Given, (AbleitungBiegelinie, id_abl))
   6.304 +","(#Find, (Funktionen, fun_s))"]*)
   6.305 +(*+*)writeln (pats2str' ((#ppc o Specify.get_pbt) pI));
   6.306 +(*["(#Given, (Streckenlast, q_q))
   6.307 +","(#Given, (FunktionsVariable, v_v))
   6.308 +","(#Find, (Funktionen, funs'''))"]*)
   6.309 +        val oris = Specify.add_field' thy ppc oris
   6.310 +        val met = if met = [] then pbl else met
   6.311 +        val (_, (itms, pre')) = Specify.match_itms_oris thy met (ppc, pre, prls ) oris
   6.312 +;
   6.313 +(*+*)writeln (itms2str_ @{context} itms); (*[
   6.314 +(1 ,[1] ,true ,#Given ,Cor Streckenlast q_0 ,(q_q, [q_0])),
   6.315 +(2 ,[1] ,true ,#Given ,Cor FunktionsVariable x ,(v_v, [x])),
   6.316 +(3 ,[1] ,true ,#Find ,Cor Funktionen funs''' ,(funs''', [funs''']))] *)
   6.317 +
   6.318 +(*//----------- hack for funpack: generalise handling of meths which extend problem items -----\\*)
   6.319 +val itms =
   6.320 +  if mI' = ["Biegelinien", "ausBelastung"]
   6.321 +  then itms @
   6.322 +    [(4, [1], true, "#Given", Cor ((Const ("Biegelinie.Biegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   6.323 +        [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   6.324 +      (Free ("id_fun", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   6.325 +        [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] ))),
   6.326 +    (5, [1], true, "#Given", Cor ((Const ("Biegelinie.AbleitungBiegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   6.327 +        [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   6.328 +      (Free ("id_abl", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   6.329 +        [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] )))]
   6.330 +  else itms
   6.331 +(*\\----------- hack for funpack: generalise handling of meths which extend problem items -----//*)
   6.332 +
   6.333 +val itms' = itms @
   6.334 +  [(4, [1], true, "#Given", Cor ((@{term "Biegelinie"},
   6.335 +      [@{term "y::real \<Rightarrow> real"}]),
   6.336 +    (@{term "id_fun::real \<Rightarrow> real"},
   6.337 +      [@{term "y::real \<Rightarrow> real"}] ))),
   6.338 +  (5, [1], true, "#Given", Cor ((@{term "AbleitungBiegelinie"},
   6.339 +      [@{term "dy::real \<Rightarrow> real"}]),
   6.340 +    (@{term "id_abl::real \<Rightarrow> real"},
   6.341 +      [@{term "dy::real \<Rightarrow> real"}] )))]
   6.342 +val itms'' = itms @
   6.343 +  [(4, [1], true, "#Given", Cor ((Const ("Biegelinie.Biegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   6.344 +      [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   6.345 +    (Free ("id_fun", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   6.346 +      [Free ("y", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] ))),
   6.347 +  (5, [1], true, "#Given", Cor ((Const ("Biegelinie.AbleitungBiegelinie", Type ("fun", [Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]), Type ("Input_Descript.una", [])])),
   6.348 +      [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))]),
   6.349 +    (Free ("id_abl", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])])),
   6.350 +      [Free ("dy", Type ("fun", [Type ("Real.real", []), Type ("Real.real", [])]))] )))]
   6.351 +;
   6.352 +if itms' = itms'' then () else error "itms BUIT BY HAND ARE BROKEN";
   6.353 +(*//-----------------------------------------^^^ Specify_Method ["Biegelinien", "ausBelastung"]-\\*)
   6.354 +
   6.355 +val (p,_,f,nxt,_,pt) = me nxt''''' p''''' c pt''''';
   6.356 +val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.357 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.358 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.359 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.360 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.361 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   6.362 +(*----------- 30 -----------*)
   6.363 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.364 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.365 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.366 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.367 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.368 +(*----------- 40 -----------*)
   6.369 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.370 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.371 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.372 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.373 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.374 +(*----------- 50 -----------*)
   6.375 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.376 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.377 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.378 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.379 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.380 +(*----------- 60 -----------*)
   6.381 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.382 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.383 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.384 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.385 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.386 +(*----------- 70 -----------*)
   6.387 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.388 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.389 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.390 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.391 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.392 +(*----------- 80 -----------*)
   6.393 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.394 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.395 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.396 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.397 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.398 +(*----------- 90 -----------*)
   6.399 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.400 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.401 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.402 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.403 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.404 +(*---------- 100 -----------*)
   6.405 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.406 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.407 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.408 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.409 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.410 +(*---------- 110 -----------*)
   6.411 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.412 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.413 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.414 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.415 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.416 +(*---------- 120 -----------*)
   6.417 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.418 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.419 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.420 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.421 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.422 +(*---------- 130 -----------*)
   6.423 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.424 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.425 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.426 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.427 +val (p,_,f,nxt,_,pt) = me nxt p c pt;val (p,_,f,nxt,_,pt) = me nxt p c pt;
   6.428 +
   6.429 +if p = ([3], Pbl)
   6.430 +then
   6.431 +  case nxt of
   6.432 +    ("Add_Given", Add_Given "solveForVars [c_2, c_3, c_4]") => 
   6.433 +    (case f of
   6.434 +      PpcKF
   6.435 +          (Problem [],
   6.436 +           {Find = [Incompl "solution []"], Given =
   6.437 +            [Correct
   6.438 +              "equalities\n [0 = -1 * c_4 / -1,\n  0 =\n  (-24 * c_4 * EI + -24 * L * c_3 * EI + 12 * L ^^^ 2 * c_2 +\n   4 * L ^^^ 3 * c +\n   -1 * L ^^^ 4 * q_0) /\n  (-24 * EI),\n  0 = c_2, 0 = (2 * c_2 + 2 * L * c + -1 * L ^^^ 2 * q_0) / 2]",
   6.439 +             Incompl "solveForVars [c]"],
   6.440 +            Relate = [], Where = [], With = []}) => ()
   6.441 +    | _ => error "Bsp.7.70 me changed 1")
   6.442 +  | _ => error "Bsp.7.70 me changed 2"
   6.443 +else error "Bsp.7.70 me changed 3";
   6.444 +(* NOTE: ^^^^^^^^^^^^^^^^^ no progress already in isabisac15, but not noticed ^^^^^^^^^^^^^^^^^ *)
   6.445 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   6.446 +
     7.1 --- a/test/Tools/isac/Knowledge/diff.sml	Tue Sep 17 10:25:24 2019 +0200
     7.2 +++ b/test/Tools/isac/Knowledge/diff.sml	Wed Sep 18 12:15:59 2019 +0200
     7.3 @@ -282,9 +282,6 @@
     7.4  val t = str2term "2 / sqrt x^^^3";
     7.5  val SOME (t,_) = rewrite_set_inst_ thy false subs rls t; term2str t;
     7.6  if term2str t = "2 * x ^^^ (-3 / 2)" then () else error"diff.sml x^-1/2";
     7.7 -(* trace_rewrite := true;
     7.8 -   trace_rewrite := false;
     7.9 -   *)
    7.10  val rls = diff_sym_conv; 
    7.11  
    7.12  val t = str2term "2 * x ^^^ -2";
    7.13 @@ -301,12 +298,6 @@
    7.14  if term2str t ="2 / sqrt (x ^^^ 3)"then()else error"diff.sml sym x^-1/x";
    7.15  
    7.16  
    7.17 -(* trace_rewrite:=true;
    7.18 -   *)
    7.19 -(* trace_rewrite:=false;
    7.20 -   *)
    7.21 -(*@@@@*)
    7.22 -
    7.23  "----------- autoCalculate differentiate_on_R 2/x^2 -----";
    7.24  "----------- autoCalculate differentiate_on_R 2/x^2 -----";
    7.25  "----------- autoCalculate differentiate_on_R 2/x^2 -----";
    7.26 @@ -334,11 +325,8 @@
    7.27    ["diff","differentiate_on_R"]))];
    7.28  Iterator 1;
    7.29  moveActiveRoot 1;
    7.30 +autoCalculate 1 CompleteCalc;
    7.31  (* trace_rewrite := true;
    7.32 -   trace_script := true;
    7.33 -   *)
    7.34 -autoCalculate 1 CompleteCalc;
    7.35 -(* trace_rewrite := false;
    7.36     trace_script := false;
    7.37     *)
    7.38  val ((pt,p),_) = get_calc 1; show_pt pt;
     8.1 --- a/test/Tools/isac/Knowledge/eqsystem.sml	Tue Sep 17 10:25:24 2019 +0200
     8.2 +++ b/test/Tools/isac/Knowledge/eqsystem.sml	Wed Sep 18 12:15:59 2019 +0200
     8.3 @@ -234,9 +234,6 @@
     8.4  	     str2term"[c = (q_0 * L ^^^ 2 / 2 + -1 * 77) / L, c_2 = 77]")) 
     8.5  then () else error "eqsystem.sml, order_result rew_ord";
     8.6  
     8.7 -trace_rewrite:=true;
     8.8 -trace_rewrite:=false;
     8.9 -
    8.10  
    8.11  "----------- rewrite in [EqSystem,normalise,4x4] -----------------";
    8.12  "----------- rewrite in [EqSystem,normalise,4x4] -----------------";
     9.1 --- a/test/Tools/isac/Knowledge/equation.sml	Tue Sep 17 10:25:24 2019 +0200
     9.2 +++ b/test/Tools/isac/Knowledge/equation.sml	Wed Sep 18 12:15:59 2019 +0200
     9.3 @@ -17,7 +17,6 @@
     9.4  "----------- CAS input -------------------------------------------";
     9.5  "----------- CAS input -------------------------------------------";
     9.6  "----------- CAS input -------------------------------------------";
     9.7 -trace_rewrite := false;
     9.8  reset_states ();
     9.9  CalcTree [([], ("e_domID", ["e_pblID"], ["e_metID"]))];
    9.10  Iterator 1;
    10.1 --- a/test/Tools/isac/Knowledge/integrate.sml	Tue Sep 17 10:25:24 2019 +0200
    10.2 +++ b/test/Tools/isac/Knowledge/integrate.sml	Wed Sep 18 12:15:59 2019 +0200
    10.3 @@ -2,7 +2,6 @@
    10.4     author: Walther Neuper 2005
    10.5     (c) due to copyright terms
    10.6  *)
    10.7 -trace_rewrite := false;
    10.8  "--------------------------------------------------------";
    10.9  "table of contents --------------------------------------";
   10.10  "--------------------------------------------------------";
    11.1 --- a/test/Tools/isac/Knowledge/inverse_z_transform.sml	Tue Sep 17 10:25:24 2019 +0200
    11.2 +++ b/test/Tools/isac/Knowledge/inverse_z_transform.sml	Wed Sep 18 12:15:59 2019 +0200
    11.3 @@ -7,7 +7,9 @@
    11.4  "table of contents -----------------------------------------------";
    11.5  "-----------------------------------------------------------------";
    11.6  "----------- met/pbl [SignalProcessing,Z_Transform,inverse] known ";
    11.7 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    11.8  "----------- test [SignalProcessing,Z_Transform,Inverse_sub] me = ";
    11.9 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   11.10  "----------- test [SignalProcessing,Z_Transform,Inverse_sub] auto-";
   11.11  "-----------------------------------------------------------------";
   11.12  "-----------------------------------------------------------------";
   11.13 @@ -62,7 +64,6 @@
   11.14  if p = ([2, 2, 1], Frm) andalso f2str fb = "-1 + -2 * z + 8 * z ^^^ 2 = 0"
   11.15  then () else error "Z_Transform,inverse_sub] me 2";
   11.16  
   11.17 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   11.18  (*[2,2,1], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.19  (*[2,2,2], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.20  (*[2,2,3], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.21 @@ -72,6 +73,7 @@
   11.22  (*[2,3], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (*Take "3 / ((z - 1 / 2) * (z - -1 / 4)) = AA / (z - 1 / 2) + BB / (z - -1 / 4)*)
   11.23  (*[2,4], Frm*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (*Rewrite_Set "equival_trans"*)
   11.24  (*[2,4], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (*Take "3 = A * (z - -1 / 4) + B * (z - 1 / 2)"*)
   11.25 +(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
   11.26  (*[2,5], Frm*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (*"Substitute ["z = 1 / 2"]*)
   11.27  (*[2,5], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   11.28  if p = ([2, 5], Res) andalso f2str fb = "3 = AA * (1 / 2 - -1 / 4) + BB * (1 / 2 - 1 / 2)"
   11.29 @@ -149,7 +151,7 @@
   11.30  if p = ([2, 10, 4, 1], Frm) andalso f2str fb = "3 + 3 / 4 * BB = 0"
   11.31  then () else error "Z_Transform,inverse_sub] me 10";
   11.32  
   11.33 -(*[2,10,4,1], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.34 +((*[2,10,4,1], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.35  (*[2,10,4,2], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.36  (*[2,10,4,3], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.37  (*[2,10,4,4], Res*)val (p,_,fb,nxt,_,pt) = me nxt p [] pt; (**)
   11.38 @@ -176,7 +178,7 @@
   11.39      f2str fb = "X_z = 4 * (1 / 2) ^^^ ?n * ?u [?n] + -4 * (-1 / 4) ^^^ ?n * ?u [?n]"
   11.40    then () else error "[SignalProcessing,Z_Transform,Inverse_sub] changed 1"
   11.41  | _ => error "[SignalProcessing,Z_Transform,Inverse_sub] changed 2";
   11.42 -(*-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   11.43 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   11.44  
   11.45  
   11.46  "----------- test [SignalProcessing,Z_Transform,Inverse_sub] auto-";
    12.1 --- a/test/Tools/isac/Knowledge/partial_fractions.sml	Tue Sep 17 10:25:24 2019 +0200
    12.2 +++ b/test/Tools/isac/Knowledge/partial_fractions.sml	Wed Sep 18 12:15:59 2019 +0200
    12.3 @@ -12,15 +12,15 @@
    12.4  "----------- fun factors_from_solution ------------------";
    12.5  "----------- Logic.unvarify_global ----------------------";
    12.6  "----------- eval_drop_questionmarks --------------------";
    12.7 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
    12.8 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    12.9  "----------- = me for met_partial_fraction --------------";
   12.10 -( *-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   12.11 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   12.12  "----------- autoCalculate for met_partial_fraction -----";
   12.13  "----------- progr.vers.2: check erls for multiply_ansatz";
   12.14  "----------- progr.vers.2: improve program --------------";
   12.15 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
   12.16 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   12.17  "----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---------";
   12.18 -( *-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   12.19 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   12.20  "----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] auto -------";
   12.21  "--------------------------------------------------------";
   12.22  "--------------------------------------------------------";
   12.23 @@ -149,9 +149,9 @@
   12.24  (*[2], Res*)val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt = Take "3 / ((z - 1 / 2) * (z - -1 / 4))")*)
   12.25  (*[3], Frm*)val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt = Rewrite_Set "ansatz_rls")*)
   12.26              (*25*)
   12.27 -(*-----vvv----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
   12.28  (*[3], Res*)val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt = Take "3 / ((z - 1 / 2) * (z - -1 / 4)) = ?A / (z - 1 / 2) + ?B / (z - -1 / 4)")*)
   12.29  (*[4], Frm*)val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt = Rewrite_Set "equival_trans")*)
   12.30 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   12.31  (*[4], Res*)val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt = Take "3 = AA * (z - -1 / 4) + BB * (z - 1 / 2)"*)
   12.32  (*[5], Frm*)val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt = Substitute ["z = 1 / 2"])*)
   12.33  (*[5], Res*)val (p,_,f,nxt,_,pt) = me nxt p [] pt;(*nxt = Rewrite_Set "norm_Rational"*)
   12.34 @@ -238,7 +238,7 @@
   12.35    (_, End_Proof') => if f2str f = "4 / (z - 1 / 2) + -4 / (z - -1 / 4)" then () 
   12.36                       else error "= me .. met_partial_fraction f changed"
   12.37  | _ => error "= me .. met_partial_fraction nxt changed";
   12.38 -( *-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   12.39 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   12.40  
   12.41  show_pt_tac pt; (**)
   12.42  
   12.43 @@ -366,8 +366,8 @@
   12.44  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.45  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.46  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.47 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------* )
   12.48  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.49 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   12.50  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.51  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.52  val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   12.53 @@ -411,7 +411,7 @@
   12.54  
   12.55  if fst nxt = "End_Proof'" andalso f2str f = "4 / (z - 1 / 2) + -4 / (z - -1 / 4)" then ()
   12.56  else error "--- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---";
   12.57 -( *-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   12.58 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   12.59  
   12.60  
   12.61  "----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] auto -------";
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/test/Tools/isac/Knowledge/polyeq-1.sml	Wed Sep 18 12:15:59 2019 +0200
    13.3 @@ -0,0 +1,892 @@
    13.4 +(* Title:  Knowledge/polyeq-1.sml
    13.5 +           testexamples for PolyEq, poynomial equations and equational systems
    13.6 +   Author: Richard Lang 2003  
    13.7 +   (c) due to copyright terms
    13.8 +WN030609: some expls dont work due to unfinished handling of 'expanded terms';
    13.9 +          others marked with TODO have to be checked, too.
   13.10 +*)
   13.11 +
   13.12 +"-----------------------------------------------------------------";
   13.13 +"table of contents -----------------------------------------------";
   13.14 +"-----------------------------------------------------------------";
   13.15 +"------ polyeq-1.sml ---------------------------------------------";
   13.16 +"----------- tests on predicates in problems ---------------------";
   13.17 +"----------- test matching problems ------------------------------";
   13.18 +"----------- lin.eq degree_0 -------------------------------------";
   13.19 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
   13.20 +"----------- equality (2 +(-1)*x + x^^^2 = (0::real)) ----------------------------------------";
   13.21 +"----------- equality (-2 +(-1)*x + 1*x^^^2 = 0) ---------------------------------------------";
   13.22 +"----------- equality (-2 + x + x^^^2 = 0) ---------------------------------------------------";
   13.23 +"----------- equality (2 + x + x^^^2 = 0) ----------------------------------------------------";
   13.24 +"----------- equality (-2 + x + 1*x^^^2 = 0)) ------------------------------------------------";
   13.25 +"----------- equality (1*x +   x^^^2 = 0) ----------------------------------------------------";
   13.26 +"----------- equality (1*x + 1*x^^^2 = 0) ----------------------------------------------------";
   13.27 +"----------- equality (x +   x^^^2 = 0) ------------------------------------------------------";
   13.28 +"----------- equality (x + 1*x^^^2 = 0) ------------------------------------------------------";
   13.29 +"----------- equality (-4 + x^^^2 = 0) -------------------------------------------------------";
   13.30 +"----------- equality (4 + 1*x^^^2 = 0) -------------------------------------------------------";
   13.31 +"----------- equality (1 +(-1)*x + 2*x^^^2 = 0) ----------------------------------------------";
   13.32 +"----------- equality (-1 + x + 2*x^^^2 = 0) -------------------------------------------------";
   13.33 +"----------- equality (1 + x + 2*x^^^2 = 0) --------------------------------------------------";
   13.34 +"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
   13.35 +"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
   13.36 +"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
   13.37 +"-----------------------------------------------------------------";
   13.38 +"------ polyeq-2.sml ---------------------------------------------";
   13.39 +"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
   13.40 +"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
   13.41 +"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
   13.42 +"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
   13.43 +"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
   13.44 +"----------- rls make_polynomial_in ------------------------------";
   13.45 +"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
   13.46 +"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
   13.47 +"-----------------------------------------------------------------";
   13.48 +"-----------------------------------------------------------------";
   13.49 +
   13.50 +"----------- tests on predicates in problems ---------------------";
   13.51 +"----------- tests on predicates in problems ---------------------";
   13.52 +"----------- tests on predicates in problems ---------------------";
   13.53 +(* trace_rewrite:=true;
   13.54 + trace_rewrite:=false;
   13.55 +*)
   13.56 + val t1 = (Thm.term_of o the o (parse thy)) "lhs (-8 - 2*x + x^^^2 = 0)";
   13.57 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t1;
   13.58 + if ((term2str t) = "-8 - 2 * x + x ^^^ 2") then ()
   13.59 + else  error "polyeq.sml: diff.behav. in lhs";
   13.60 +
   13.61 + val t2 = (Thm.term_of o the o (parse thy)) "(-8 - 2*x + x^^^2) is_expanded_in x";
   13.62 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t2;
   13.63 + if (term2str t) = "True" then ()
   13.64 + else  error "polyeq.sml: diff.behav. 1 in is_expended_in";
   13.65 +
   13.66 + val t0 = (Thm.term_of o the o (parse thy)) "(sqrt(x)) is_poly_in x";
   13.67 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t0;
   13.68 + if (term2str t) = "False" then ()
   13.69 + else  error "polyeq.sml: diff.behav. 2 in is_poly_in";
   13.70 +
   13.71 + val t3 = (Thm.term_of o the o (parse thy)) "(-8 + (-1)*2*x + x^^^2) is_poly_in x";
   13.72 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
   13.73 + if (term2str t) = "True" then ()
   13.74 + else  error "polyeq.sml: diff.behav. 3 in is_poly_in";
   13.75 +
   13.76 + val t4 = (Thm.term_of o the o (parse thy)) "(lhs (-8 + (-1)*2*x + x^^^2 = 0)) is_expanded_in x";
   13.77 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
   13.78 + if (term2str t) = "True" then ()
   13.79 + else  error "polyeq.sml: diff.behav. 4 in is_expended_in";
   13.80 +
   13.81 +
   13.82 + val t6 = (Thm.term_of o the o (parse thy)) "(lhs (-8 - 2*x + x^^^2 = 0)) is_expanded_in x";
   13.83 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t6;
   13.84 + if (term2str t) = "True" then ()
   13.85 + else  error "polyeq.sml: diff.behav. 5 in is_expended_in";
   13.86 + 
   13.87 + val t3 = (Thm.term_of o the o (parse thy))"((-8 - 2*x + x^^^2) has_degree_in x) = 2";
   13.88 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
   13.89 + if (term2str t) = "True" then ()
   13.90 + else  error "polyeq.sml: diff.behav. in has_degree_in_in";
   13.91 +
   13.92 + val t3 = (Thm.term_of o the o (parse thy)) "((sqrt(x)) has_degree_in x) = 2";
   13.93 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
   13.94 + if (term2str t) = "False" then ()
   13.95 + else  error "polyeq.sml: diff.behav. 6 in has_degree_in_in";
   13.96 +
   13.97 + val t4 = (Thm.term_of o the o (parse thy)) 
   13.98 +	      "((-8 - 2*x + x^^^2) has_degree_in x) = 1";
   13.99 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
  13.100 + if (term2str t) = "False" then ()
  13.101 + else  error "polyeq.sml: diff.behav. 7 in has_degree_in_in";
  13.102 +
  13.103 + val t5 = (Thm.term_of o the o (parse thy)) 
  13.104 +	      "((-8 - 2*x + x^^^2) has_degree_in x) = 2";
  13.105 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t5;
  13.106 + if (term2str t) = "True" then ()
  13.107 + else  error "polyeq.sml: diff.behav. 8 in has_degree_in_in";
  13.108 +
  13.109 +"----------- test matching problems --------------------------0---";
  13.110 +"----------- test matching problems --------------------------0---";
  13.111 +"----------- test matching problems --------------------------0---";
  13.112 +val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.113 +if match_pbl fmz (get_pbt ["expanded","univariate","equation"]) =
  13.114 +  Matches' {Find = [Correct "solutions L"], 
  13.115 +            With = [], 
  13.116 +            Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"], 
  13.117 +            Where = [Correct "matches (?a = 0) (-8 - 2 * x + x ^^^ 2 = 0)", 
  13.118 +                     Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) is_expanded_in x"], 
  13.119 +            Relate = []}
  13.120 +then () else error "match_pbl [expanded,univariate,equation]";
  13.121 +
  13.122 +if match_pbl fmz (get_pbt ["degree_2","expanded","univariate","equation"]) =
  13.123 +  Matches' {Find = [Correct "solutions L"], 
  13.124 +            With = [], 
  13.125 +            Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"], 
  13.126 +            Where = [Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) has_degree_in x = 2"], 
  13.127 +            Relate = []}              (*before WN110906 was: has_degree_in x =!= 2"]*)
  13.128 +then () else error "match_pbl [degree_2,expanded,univariate,equation]";
  13.129 +
  13.130 +"----------- lin.eq degree_0 -------------------------------------";
  13.131 +"----------- lin.eq degree_0 -------------------------------------";
  13.132 +"----------- lin.eq degree_0 -------------------------------------";
  13.133 +"----- d0_false ------";
  13.134 +val fmz = ["equality (1 = (0::real))", "solveFor x", "solutions L"];
  13.135 +val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
  13.136 +                     ["PolyEq","solve_d0_polyeq_equation"]);
  13.137 +(*=== inhibit exn WN110914: declare_constraints doesnt work with num_str ========
  13.138 +TODO: change to "equality (x + -1*x = (0::real))"
  13.139 +      and search for an appropriate problem and method.
  13.140 +
  13.141 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.142 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.143 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.144 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.145 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.146 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.147 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.148 +case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
  13.149 +	 | _ => error "polyeq.sml: diff.behav. in 1 = 0 -> []";
  13.150 +
  13.151 +"----- d0_true ------";
  13.152 +val fmz = ["equality (0 = (0::real))", "solveFor x","solutions L"];
  13.153 +val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
  13.154 +                     ["PolyEq","solve_d0_polyeq_equation"]);
  13.155 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.156 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.157 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.158 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.159 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.160 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.161 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.162 +case f of Form' (FormKF (~1,EdUndef,0,Nundef,"UniversalList")) => ()
  13.163 +	 | _ => error "polyeq.sml: diff.behav. in 0 = 0 -> UniversalList";
  13.164 +============ inhibit exn WN110914 ============================================*)
  13.165 +
  13.166 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
  13.167 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
  13.168 +"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
  13.169 +"----- d2_pqformula1 ------!!!!";
  13.170 +val fmz = ["equality (-1/8 + (-1/4)*z + z^^^2 = (0::real))", "solveFor z","solutions L"];
  13.171 +val (dI',pI',mI') =
  13.172 +  ("Isac_Knowledge", ["pqFormula","degree_2","polynomial","univariate","equation"], ["no_met"]);
  13.173 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.174 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.175 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.176 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.177 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.178 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.179 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.180 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*Apply_Method ["PolyEq", "solve_d2_polyeq_pq_equation"]*)
  13.181 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.182 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.183 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.184 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;         
  13.185 +
  13.186 +(*[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2] TODO sqrt*)
  13.187 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt =..,Check_elementwise "Assumptions")*)
  13.188 +"~~~~~ fun me, args:"; val ((_,tac), (p:pos'), _, (pt:ctree)) = (nxt, p, [], pt);
  13.189 +"~~~~~ fun locatetac, args:"; val (tac, (ptp as (pt, p))) = (tac, (pt, p));
  13.190 +val (mI,m) = mk_tac'_ tac;
  13.191 +val Appl m = applicable_in p pt m;
  13.192 +val Check_elementwise' (trm1, str, (trm2, trms)) = m;
  13.193 +term2str trm1 = "[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2]";
  13.194 +str = "Assumptions";
  13.195 +term2str trm2 = "[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2]";
  13.196 +terms2str trms = "[\"lhs (-1 / 8 + -1 * (1 / 8 + sqrt (9 / 16) / 2) / 4 +\n "^
  13.197 +  "    (1 / 8 + sqrt (9 / 16) / 2) ^^^ 2 =\n     0) is_poly_in 1 / 8 + sqrt (9 / 16) / 2\","^
  13.198 +  "\"lhs (-1 / 8 + -1 * (1 / 8 + sqrt (9 / 16) / 2) / 4 +\n     (1 / 8 + sqrt (9 / 16) / 2) ^^^ 2 =\n     0) "^
  13.199 +      "has_degree_in 1 / 8 + sqrt (9 / 16) / 2 =\n2\","^
  13.200 +  "\"lhs (-1 / 8 + -1 * (1 / 8 + -1 * sqrt (9 / 16) / 2) / 4 +\n     (1 / 8 + -1 * sqrt (9 / 16) / 2) ^^^ 2 =\n     0) is_poly_in 1 / 8 + -1 * sqrt (9 / 16) / 2\","^
  13.201 +  "\"lhs (-1 / 8 + -1 * (1 / 8 + -1 * sqrt (9 / 16) / 2) / 4 +\n     (1 / 8 + -1 * sqrt (9 / 16) / 2) ^^^ 2 =\n     0) has_degree_in 1 / 8 + -1 * sqrt (9 / 16) / 2 =\n2\"]";
  13.202 +(*TODO simplify assumptions (sqrt!) and check ERROR in has_degree_in*);
  13.203 +member op = specsteps mI (*false*);
  13.204 +(*loc_solve_ (mI,m) ptp;
  13.205 +  WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
  13.206 +"~~~~~ fun loc_solve_, args:"; val (m, (pt,pos)) = ((mI,m), ptp);
  13.207 +(*solve m (pt, pos);
  13.208 +  WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
  13.209 +"~~~~~ fun solve, args:"; val ((mI,m), (pt, po as (p,p_))) = (m, (pt, pos));
  13.210 +e_metID = get_obj g_metID pt (par_pblobj pt p) (*false*);
  13.211 +        val thy' = get_obj g_domID pt (par_pblobj pt p);
  13.212 +	        val (srls, is, sc) = from_pblobj_or_detail' thy' (p,p_) pt;
  13.213 +		        val d = e_rls;
  13.214 +(*locate_input_tactic (thy',srls) m  (pt,(p,p_)) (sc,d) is;
  13.215 +  WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
  13.216 +"~~~~~ fun locate_input_tactic, args:"; val ((ts as (thy',srls)), (m:Tactic.T), ((pt,p):ctree * pos'), 
  13.217 +	                                   (scr as Prog (h $ body),d), (Pstate (E,l,a,v,S,b), ctxt)) = 
  13.218 +                                   ((thy',srls), m  ,(pt,(p,p_)) ,(sc,d) ,is); (* locate_input_tactic 2nd pattern *)
  13.219 +val thy = assoc_thy thy';
  13.220 +l = [] orelse ((last_elem o fst) p = 0 andalso snd p = Res) (*false*);
  13.221 +(*WAS val NasApp _ =(astep_up (thy',srls,scr,d) ((E,l,a,v,S,b), [(m,EmptyMout,pt,p,[])]) )
  13.222 +  ... Assoc ... is correct*)
  13.223 +"~~~~~ and astep_up, args:"; val ((ys as (_,_,_,Prog sc,_)), ((E,l,a,v,S,b),ss)) =
  13.224 +   ((thy',ctxt,srls,scr,d), ((E,l,a,v,S,b), [(m,EmptyMout,pt,p,[])]));
  13.225 +1 < length l (*true*);
  13.226 +val up = drop_last l;
  13.227 +  term2str (go up sc);
  13.228 +  (go up sc);
  13.229 +(*WAS val NasNap _ = ass_up ys ((E,up,a,v,S,b),ss) (go up sc)
  13.230 +      ... ???? ... is correct*)
  13.231 +"~~~~~ fun ass_up, args:"; val ((ys as (y,ctxt,s,Prog sc,d)), (is as (E,l,a,v,S,b),ss), 
  13.232 +	   (Const ("HOL.Let",_) $ _)) = (ys, ((E,up,a,v,S,b),ss:step list), (go up sc));
  13.233 +      val l = drop_last l; (*comes from e, goes to Abs*)
  13.234 +      val (Const ("HOL.Let",_) $ e $ (Abs (i,T,body))) = go l sc;
  13.235 +      val i = mk_Free (i, T);
  13.236 +      val E = upd_env E (i, v);
  13.237 +(*Type error ...: Can't unify _a to pos * pos_ (Incompatible types)*)
  13.238 +val [(tac_, mout, ctree, pos', xxx)] = ss;
  13.239 +val ss = [(tac_, mout, ctree, pos', []:(pos * pos_) list)];
  13.240 +(*WAS val NasApp iss = assy (((y,s),d),Aundef) ((E, l@[R,D], a,v,S,b),ss) body
  13.241 +      ... Assoc ... is correct*)
  13.242 +"~~~~~ fun assy, args:"; val ((((thy',sr),d),ap), (is as (E,l,a,v,S,b), (m,_,pt,(p,p_),c)::ss), t) =
  13.243 +     ((((y,s),d),Aundef), ((E, l@[R,D], a,v,S,b),ss), body);
  13.244 +val (a', STac stac) = handle_leaf "locate" thy' sr E a v t
  13.245 +             val ctxt = get_ctxt pt (p,p_)
  13.246 +             val p' = lev_on p : pos;
  13.247 +(* WAS val NotAss = associate pt d (m, stac)
  13.248 +      ... Ass ... is correct*)
  13.249 +"~~~~~ fun associate, args:"; val (pt, _, (m as Check_elementwise' (consts,_,(consts_chkd,_))),
  13.250 +    (Const ("Prog_Tac.Check'_elementwise",_) $ consts' $ _)) = (pt, d, m, stac);
  13.251 +term2str consts;
  13.252 +term2str consts';
  13.253 +if consts = consts' (*WAS false*) then () else error "Check_elementwise changed";
  13.254 +(*[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2] TODO sqrt*)
  13.255 +
  13.256 +"----------- equality (2 +(-1)*x + x^^^2 = (0::real)) ----------------------------------------";
  13.257 +"----------- equality (2 +(-1)*x + x^^^2 = (0::real)) ----------------------------------------";
  13.258 +"----------- equality (2 +(-1)*x + x^^^2 = (0::real)) ----------------------------------------";
  13.259 +"----- d2_pqformula1_neg ------";
  13.260 +val fmz = ["equality (2 +(-1)*x + x^^^2 = (0::real))", "solveFor x","solutions L"];
  13.261 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.262 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.263 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.264 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.265 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.266 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.267 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.268 +(*### or2list False
  13.269 +  ([1],Res)  False   Or_to_List)*)
  13.270 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.271 +(*### or2list False                           
  13.272 +  ([2],Res)  []      Check_elementwise "Assumptions"*)
  13.273 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.274 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.275 +val asm = get_assumptions_ pt p;
  13.276 +if f2str f = "[]" andalso 
  13.277 +  terms2str asm = "[\"lhs (2 + -1 * x + x ^^^ 2 = 0) is_poly_in x\"," ^
  13.278 +    "\"lhs (2 + -1 * x + x ^^^ 2 = 0) has_degree_in x = 2\"]" then ()
  13.279 +else error "polyeq.sml: diff.behav. in 2 +(-1)*x + x^^^2 = 0";
  13.280 +
  13.281 +"----------- equality (-2 +(-1)*x + 1*x^^^2 = 0) ---------------------------------------------";
  13.282 +"----------- equality (-2 +(-1)*x + 1*x^^^2 = 0) ---------------------------------------------";
  13.283 +"----------- equality (-2 +(-1)*x + 1*x^^^2 = 0) ---------------------------------------------";
  13.284 +"----- d2_pqformula2 ------";
  13.285 +val fmz = ["equality (-2 +(-1)*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  13.286 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.287 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.288 +(*val p = e_pos'; 
  13.289 +val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  13.290 +val (p,_,f,nxt,_,pt) = me (mI,m) p [] EmptyPtree;*)
  13.291 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.292 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.293 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.294 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.295 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.296 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.297 +
  13.298 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.299 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.300 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.301 +case f of FormKF "[x = 2, x = -1]" => ()
  13.302 +	 | _ => error "polyeq.sml: diff.behav. in -2 + (-1)*x + x^2 = 0 -> [x = 2, x = -1]";
  13.303 +
  13.304 +
  13.305 +"----------- equality (-2 + x + x^^^2 = 0) ---------------------------------------------------";
  13.306 +"----------- equality (-2 + x + x^^^2 = 0) ---------------------------------------------------";
  13.307 +"----------- equality (-2 + x + x^^^2 = 0) ---------------------------------------------------";
  13.308 +"----- d2_pqformula3 ------";
  13.309 +(*EP-9*)
  13.310 +val fmz = ["equality (-2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.311 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.312 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.313 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.314 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.315 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.316 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.317 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.318 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.319 +
  13.320 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.321 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.322 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.323 +case f of FormKF "[x = 1, x = -2]" => ()
  13.324 +	 | _ => error "polyeq.sml: diff.behav. in  -2 + x + x^2 = 0-> [x = 1, x = -2]";
  13.325 +
  13.326 +
  13.327 +"----------- equality (2 + x + x^^^2 = 0) ----------------------------------------------------";
  13.328 +"----------- equality (2 + x + x^^^2 = 0) ----------------------------------------------------";
  13.329 +"----------- equality (2 + x + x^^^2 = 0) ----------------------------------------------------";
  13.330 +"----- d2_pqformula3_neg ------";
  13.331 +val fmz = ["equality (2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.332 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.333 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.334 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.335 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.336 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.337 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.338 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.339 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.340 +
  13.341 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.342 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.343 +"TODO 2 + x + x^^^2 = 0";
  13.344 +"TODO 2 + x + x^^^2 = 0";
  13.345 +"TODO 2 + x + x^^^2 = 0";
  13.346 +
  13.347 +"----------- equality (-2 + x + 1*x^^^2 = 0)) ------------------------------------------------";
  13.348 +"----------- equality (-2 + x + 1*x^^^2 = 0)) ------------------------------------------------";
  13.349 +"----------- equality (-2 + x + 1*x^^^2 = 0)) ------------------------------------------------";
  13.350 +"----- d2_pqformula4 ------";
  13.351 +val fmz = ["equality (-2 + x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  13.352 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.353 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.354 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.355 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.356 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.357 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.358 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.359 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.360 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.361 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.362 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.363 +case f of FormKF "[x = 1, x = -2]" => ()
  13.364 +	 | _ => error "polyeq.sml: diff.behav. in  -2 + x + 1*x^^^2 = 0 -> [x = 1, x = -2]";
  13.365 +
  13.366 +"----------- equality (1*x +   x^^^2 = 0) ----------------------------------------------------";
  13.367 +"----------- equality (1*x +   x^^^2 = 0) ----------------------------------------------------";
  13.368 +"----------- equality (1*x +   x^^^2 = 0) ----------------------------------------------------";
  13.369 +"----- d2_pqformula5 ------";
  13.370 +val fmz = ["equality (1*x +   x^^^2 = 0)", "solveFor x","solutions L"];
  13.371 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.372 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.373 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.374 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.375 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.376 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.377 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.378 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.379 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.380 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.381 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.382 +case f of FormKF "[x = 0, x = -1]" => ()
  13.383 +	 | _ => error "polyeq.sml: diff.behav. in  1*x +   x^2 = 0 -> [x = 0, x = -1]";
  13.384 +
  13.385 +"----------- equality (1*x + 1*x^^^2 = 0) ----------------------------------------------------";
  13.386 +"----------- equality (1*x + 1*x^^^2 = 0) ----------------------------------------------------";
  13.387 +"----------- equality (1*x + 1*x^^^2 = 0) ----------------------------------------------------";
  13.388 +"----- d2_pqformula6 ------";
  13.389 +val fmz = ["equality (1*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  13.390 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.391 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.392 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.393 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.394 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.395 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.396 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.397 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.398 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.399 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.400 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.401 +case f of FormKF "[x = 0, x = -1]" => ()
  13.402 +	 | _ => error "polyeq.sml: diff.behav. in  1*x + 1*x^2 = 0 -> [x = 0, x = -1]";
  13.403 +
  13.404 +"----------- equality (x +   x^^^2 = 0) ------------------------------------------------------";
  13.405 +"----------- equality (x +   x^^^2 = 0) ------------------------------------------------------";
  13.406 +"----------- equality (x +   x^^^2 = 0) ------------------------------------------------------";
  13.407 +"----- d2_pqformula7 ------";
  13.408 +(*EP-10*)
  13.409 +val fmz = ["equality (  x +   x^^^2 = 0)", "solveFor x","solutions L"];
  13.410 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.411 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.412 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.413 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.414 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.415 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.416 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.417 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.418 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.419 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.420 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.421 +case f of FormKF "[x = 0, x = -1]" => ()
  13.422 +	 | _ => error "polyeq.sml: diff.behav. in  x + x^2 = 0 -> [x = 0, x = -1]";
  13.423 +
  13.424 +"----------- equality (x + 1*x^^^2 = 0) ------------------------------------------------------";
  13.425 +"----------- equality (x + 1*x^^^2 = 0) ------------------------------------------------------";
  13.426 +"----------- equality (x + 1*x^^^2 = 0) ------------------------------------------------------";
  13.427 +"----- d2_pqformula8 ------";
  13.428 +val fmz = ["equality (x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  13.429 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.430 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.431 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.432 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.433 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.434 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.435 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.436 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.437 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.438 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.439 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.440 +case f of FormKF "[x = 0, x = -1]" => ()
  13.441 +	 | _ => error "polyeq.sml: diff.behav. in  x + 1*x^2 = 0 -> [x = 0, x = -1]";
  13.442 +
  13.443 +"----------- equality (-4 + x^^^2 = 0) -------------------------------------------------------";
  13.444 +"----------- equality (-4 + x^^^2 = 0) -------------------------------------------------------";
  13.445 +"----------- equality (-4 + x^^^2 = 0) -------------------------------------------------------";
  13.446 +"----- d2_pqformula9 ------";
  13.447 +val fmz = ["equality (-4 + x^^^2 = 0)", "solveFor x","solutions L"];
  13.448 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.449 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.450 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.451 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.452 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.453 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.454 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.455 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.456 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.457 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.458 +case f of FormKF "[x = 2, x = -2]" => ()
  13.459 +	 | _ => error "polyeq.sml: diff.behav. in -4 + x^2 = 0 -> [x = 2, x = -2]";
  13.460 +
  13.461 +
  13.462 +"----------- equality (4 + 1*x^^^2 = 0) -------------------------------------------------------";
  13.463 +"----------- equality (4 + 1*x^^^2 = 0) -------------------------------------------------------";
  13.464 +"----------- equality (4 + 1*x^^^2 = 0) -------------------------------------------------------";
  13.465 +"----- d2_pqformula9_neg ------";
  13.466 +val fmz = ["equality (4 + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  13.467 +val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  13.468 +                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  13.469 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.470 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.471 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.472 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.473 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.474 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.475 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.476 +"TODO 4 + 1*x^^^2 = 0";
  13.477 +"TODO 4 + 1*x^^^2 = 0";
  13.478 +"TODO 4 + 1*x^^^2 = 0";
  13.479 +
  13.480 +"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
  13.481 +"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
  13.482 +"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
  13.483 +val fmz = ["equality (-1 +(-1)*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.484 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.485 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.486 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.487 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.488 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.489 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.490 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.491 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.492 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.493 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.494 +case f of FormKF "[x = 1, x = -1 / 2]" => ()
  13.495 +	 | _ => error "polyeq.sml: diff.behav. in -1 + (-1)*x + 2*x^2 = 0 -> [x = 1, x = -1/2]";
  13.496 +
  13.497 +"----------- equality (1 +(-1)*x + 2*x^^^2 = 0) ----------------------------------------------";
  13.498 +"----------- equality (1 +(-1)*x + 2*x^^^2 = 0) ----------------------------------------------";
  13.499 +"----------- equality (1 +(-1)*x + 2*x^^^2 = 0) ----------------------------------------------";
  13.500 +val fmz = ["equality (1 +(-1)*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.501 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.502 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.503 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.504 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.505 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.506 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.507 +
  13.508 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.509 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.510 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.511 +"TODO 1 +(-1)*x + 2*x^^^2 = 0";
  13.512 +"TODO 1 +(-1)*x + 2*x^^^2 = 0";
  13.513 +"TODO 1 +(-1)*x + 2*x^^^2 = 0";
  13.514 +
  13.515 +
  13.516 +"----------- equality (-1 + x + 2*x^^^2 = 0) -------------------------------------------------";
  13.517 +"----------- equality (-1 + x + 2*x^^^2 = 0) -------------------------------------------------";
  13.518 +"----------- equality (-1 + x + 2*x^^^2 = 0) -------------------------------------------------";
  13.519 +(*EP-11*)
  13.520 +val fmz = ["equality (-1 + x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.521 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.522 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.523 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.524 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.525 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.526 +
  13.527 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.528 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.529 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.530 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.531 +
  13.532 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.533 +case f of FormKF "[x = 1 / 2, x = -1]" => ()
  13.534 +	 | _ => error "polyeq.sml: diff.behav. in -1 + x + 2*x^2 = 0 -> [x = 1/2, x = -1]";
  13.535 +
  13.536 +
  13.537 +"----------- equality (1 + x + 2*x^^^2 = 0) --------------------------------------------------";
  13.538 +"----------- equality (1 + x + 2*x^^^2 = 0) --------------------------------------------------";
  13.539 +"----------- equality (1 + x + 2*x^^^2 = 0) --------------------------------------------------";
  13.540 +val fmz = ["equality (1 + x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.541 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.542 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.543 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.544 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.545 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.546 +
  13.547 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.548 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.549 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.550 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.551 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.552 +"TODO 1 + x + 2*x^^^2 = 0";
  13.553 +"TODO 1 + x + 2*x^^^2 = 0";
  13.554 +"TODO 1 + x + 2*x^^^2 = 0";
  13.555 +
  13.556 +
  13.557 +val fmz = ["equality (-2 + 1*x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.558 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.559 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.560 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.561 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.562 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.563 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.564 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.565 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.566 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.567 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.568 +case f of FormKF "[x = 1, x = -2]" => ()
  13.569 +	 | _ => error "polyeq.sml: diff.behav. in -2 + 1*x + x^2 = 0 -> [x = 1, x = -2]";
  13.570 +
  13.571 +val fmz = ["equality ( 2 + 1*x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.572 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.573 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.574 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.575 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.576 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.577 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.578 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.579 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.580 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.581 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.582 +"TODO 2 + 1*x + x^^^2 = 0";
  13.583 +"TODO 2 + 1*x + x^^^2 = 0";
  13.584 +"TODO 2 + 1*x + x^^^2 = 0";
  13.585 +
  13.586 +(*EP-12*)
  13.587 +val fmz = ["equality (-2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.588 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.589 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.590 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.591 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.592 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.593 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.594 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.595 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.596 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.597 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.598 +case f of FormKF "[x = 1, x = -2]" => ()
  13.599 +	 | _ => error "polyeq.sml: diff.behav. in -2 + x + x^2 = 0 -> [x = 1, x = -2]";
  13.600 +
  13.601 +val fmz = ["equality ( 2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.602 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.603 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.604 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.605 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.606 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.607 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.608 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.609 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.610 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.611 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  13.612 +"TODO 2 + x + x^^^2 = 0";
  13.613 +"TODO 2 + x + x^^^2 = 0";
  13.614 +"TODO 2 + x + x^^^2 = 0";
  13.615 +
  13.616 +(*EP-13*)
  13.617 +val fmz = ["equality (-8 + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.618 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.619 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.620 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.621 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.622 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.623 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.624 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.625 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.626 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.627 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.628 +case f of FormKF "[x = 2, x = -2]" => ()
  13.629 +	 | _ => error "polyeq.sml: diff.behav. in -8 + 2*x^2 = 0 -> [x = 2, x = -2]";
  13.630 +
  13.631 +val fmz = ["equality ( 8+ 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.632 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.633 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.634 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.635 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.636 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.637 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.638 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.639 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.640 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.641 +"TODO 8+ 2*x^^^2 = 0";
  13.642 +"TODO 8+ 2*x^^^2 = 0";
  13.643 +"TODO 8+ 2*x^^^2 = 0";
  13.644 +
  13.645 +(*EP-14*)
  13.646 +val fmz = ["equality (-4 + x^^^2 = 0)", "solveFor x","solutions L"];
  13.647 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.648 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.649 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.650 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.651 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.652 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.653 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.654 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.655 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.656 +case f of FormKF "[x = 2, x = -2]" => ()
  13.657 +	 | _ => error "polyeq.sml: diff.behav. in -4 + x^2 = 0 -> [x = 2, x = -2]";
  13.658 +
  13.659 +
  13.660 +val fmz = ["equality ( 4+ x^^^2 = 0)", "solveFor x","solutions L"];
  13.661 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.662 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.663 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.664 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.665 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.666 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.667 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.668 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.669 +"TODO 4+ x^^^2 = 0";
  13.670 +"TODO 4+ x^^^2 = 0";
  13.671 +"TODO 4+ x^^^2 = 0";
  13.672 +
  13.673 +(*EP-15*)
  13.674 +val fmz = ["equality (2*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.675 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.676 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.677 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.678 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.679 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.680 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.681 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.682 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.683 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.684 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.685 +case f of FormKF "[x = 0, x = -1]" => ()
  13.686 +	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
  13.687 +
  13.688 +val fmz = ["equality (1*x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.689 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.690 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.691 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.692 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.693 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.694 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.695 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.696 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.697 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.698 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.699 +case f of FormKF "[x = 0, x = -1]" => ()
  13.700 +	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
  13.701 +
  13.702 +(*EP-16*)
  13.703 +val fmz = ["equality (x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  13.704 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.705 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.706 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.707 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.708 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.709 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.710 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.711 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.712 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.713 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.714 +case f of FormKF "[x = 0, x = -1 / 2]" => ()
  13.715 +	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1 / 2]";
  13.716 +
  13.717 +(*EP-//*)
  13.718 +val fmz = ["equality (x + x^^^2 = 0)", "solveFor x","solutions L"];
  13.719 +val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  13.720 +                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  13.721 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.722 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.723 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.724 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.725 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.726 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.727 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.728 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.729 +case f of FormKF "[x = 0, x = -1]" => ()
  13.730 +	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
  13.731 +
  13.732 +
  13.733 +"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
  13.734 +"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
  13.735 +"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
  13.736 +(*stopped du to TODO.txt WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat
  13.737 +see --- val rls = calculate_RootRat > calculate_Rational ---
  13.738 +calculate_RootRat was a TODO with 2002, requires re-design.
  13.739 +see also --- (-8 - 2*x + x^^^2 = 0),  by rewriting --- below
  13.740 +*)
  13.741 + val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", (*Schalk 2, S.67 Nr.31.b*)
  13.742 + 	    "solveFor x","solutions L"];
  13.743 + val (dI',pI',mI') =
  13.744 +     ("PolyEq",["degree_2","expanded","univariate","equation"],
  13.745 +      ["PolyEq","complete_square"]);
  13.746 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.747 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.748 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.749 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.750 +
  13.751 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.752 +(*Apply_Method ("PolyEq","complete_square")*)
  13.753 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.754 +(*"-8 - 2 * x + x ^^^ 2 = 0", nxt = Rewrite_Set_Inst ... "complete_square*)
  13.755 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.756 +(*"-8 + (2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2", nxt = Rewrite("square_explicit1"*)
  13.757 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.758 +(*"(2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2 - -8" nxt = Rewrite("root_plus_minus*)
  13.759 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.760 +(*"2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |
  13.761 +   2 / 2 - x = - sqrt ((2 / 2) ^^^ 2 - -8)" nxt = Rewr_Inst("bdv_explicit2"*)
  13.762 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.763 +(*"2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |
  13.764 +   -1*x = - (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8)"nxt = R_Inst("bdv_explt2"*)
  13.765 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.766 +(*"-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |
  13.767 +   -1 * x = (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))"nxt = bdv_explicit3*)
  13.768 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.769 +(*"-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |
  13.770 +  x = -1 * (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))" nxt = bdv_explicit3*)
  13.771 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.772 +(*"x = -1 * (- (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8)) |
  13.773 +   x = -1 * (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))"nxt = calculate_Rational
  13.774 +   NOT IMPLEMENTED SINCE 2002 ------------------------------^^^^^^^^^^^^^^^^^^*)
  13.775 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.776 +(*"x = -2 | x = 4" nxt = Or_to_List*)
  13.777 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.778 +(*"[x = -2, x = 4]" nxt = Check_Postcond*)
  13.779 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
  13.780 +(* FIXXXME 
  13.781 + case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -2, x = 4]")) => () TODO
  13.782 +	 | _ => error "polyeq.sml: diff.behav. in [x = -2, x = 4]";
  13.783 +*)
  13.784 +if f2str f =
  13.785 +"[x = -1 * -1 + -1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8),\n x = -1 * -1 + -1 * (-1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8))]"
  13.786 +(*"[x = -1 * -1 + -1 * sqrt (1 ^^^ 2 - -8),\n x = -1 * -1 + -1 * (-1 * sqrt (1 ^^^ 2 - -8))]"*)
  13.787 +then () else error "polyeq.sml corrected?behav. in [x = -2, x = 4]";
  13.788 +
  13.789 +
  13.790 +"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
  13.791 +"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
  13.792 +"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
  13.793 +(*stopped du to TODO.txt WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat
  13.794 +see --- val rls = calculate_RootRat > calculate_Rational ---*)
  13.795 +val thy = @{theory PolyEq};
  13.796 +val ctxt = Proof_Context.init_global thy;
  13.797 +val inst = [((the o (parseNEW  ctxt)) "bdv::real", (the o (parseNEW  ctxt)) "x::real")];
  13.798 +val t = (the o (parseNEW  ctxt)) "-8 - 2*x + x^^^2 = (0::real)";
  13.799 +
  13.800 +val rls = complete_square;
  13.801 +val SOME (t,asm) = rewrite_set_inst_ thy true inst rls t;
  13.802 +term2str t = "-8 + (2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2";
  13.803 +
  13.804 +val thm = num_str @{thm square_explicit1};
  13.805 +val SOME (t,asm) = rewrite_ thy dummy_ord Erls true thm t;
  13.806 +term2str t = "(2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2 - -8";
  13.807 +
  13.808 +val thm = num_str @{thm root_plus_minus};
  13.809 +val SOME (t,asm) = rewrite_ thy dummy_ord PolyEq_erls true thm t;
  13.810 +term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
  13.811 +           "\n2 / 2 - x = -1 * sqrt ((2 / 2) ^^^ 2 - -8)";
  13.812 +
  13.813 +(*the thm bdv_explicit2* here required to be constrained to ::real*)
  13.814 +val thm = num_str @{thm bdv_explicit2};
  13.815 +val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
  13.816 +term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
  13.817 +              "\n-1 * x = - (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8)";
  13.818 +
  13.819 +val thm = num_str @{thm bdv_explicit3};
  13.820 +val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
  13.821 +term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
  13.822 +                   "\nx = -1 * (- (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8))";
  13.823 +
  13.824 +val thm = num_str @{thm bdv_explicit2};
  13.825 +val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
  13.826 +term2str t = "-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |"^
  13.827 +                "\nx = -1 * (- (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8))";
  13.828 +
  13.829 +val rls = calculate_RootRat;
  13.830 +val SOME (t,asm) = rewrite_set_ thy true rls t;
  13.831 +if term2str t =
  13.832 +  "-1 * x = -1 + sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8) \<or>\nx = -1 * -1 + -1 * (-1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8))"
  13.833 +(*"-1 * x = -1 + sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8) |\nx = -1 * -1 + -1 * (-1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8))"..isabisac15*)
  13.834 +then () else error "(-8 - 2*x + x^^^2 = 0),  by rewriting -- ERROR INDICATES IMPROVEMENT";
  13.835 +(*SHOULD BE: term2str = "x = -2 | x = 4;*)
  13.836 +
  13.837 +
  13.838 +"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
  13.839 +"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
  13.840 +"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
  13.841 +"---- test the erls ----";
  13.842 + val t1 = (Thm.term_of o the o (parse thy)) "0 <= (10/3/2)^^^2 - 1";
  13.843 + val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_erls t1;
  13.844 + val t' = term2str t;
  13.845 + (*if t'= "HOL.True" then ()
  13.846 + else error "polyeq.sml: diff.behav. in 'rewrite_set_.. PolyEq_erls";*)
  13.847 +(* *)
  13.848 + val fmz = ["equality (3 - 10*x + 3*x^^^2 = 0)",
  13.849 + 	    "solveFor x","solutions L"];
  13.850 + val (dI',pI',mI') =
  13.851 +     ("PolyEq",["degree_2","expanded","univariate","equation"],
  13.852 +      ["PolyEq","complete_square"]);
  13.853 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.854 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.855 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.856 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.857 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.858 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.859 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.860 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.861 + (*Apply_Method ("PolyEq","complete_square")*)
  13.862 + val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
  13.863 +
  13.864 +"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
  13.865 +"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
  13.866 +"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
  13.867 + val fmz = ["equality (-16 + 4*x + 2*x^^^2 = 0)",
  13.868 + 	    "solveFor x","solutions L"];
  13.869 + val (dI',pI',mI') =
  13.870 +     ("PolyEq",["degree_2","expanded","univariate","equation"],
  13.871 +      ["PolyEq","complete_square"]);
  13.872 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  13.873 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.874 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.875 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.876 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.877 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.878 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.879 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.880 + (*Apply_Method ("PolyEq","complete_square")*)
  13.881 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.882 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.883 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.884 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.885 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.886 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.887 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.888 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.889 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.890 + val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  13.891 +(* FIXXXXME n1.,
  13.892 + case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -4]")) => () TODO
  13.893 +	 | _ => error "polyeq.sml: diff.behav. in [x = 2, x = -4]";
  13.894 +*)
  13.895 +
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/test/Tools/isac/Knowledge/polyeq-2.sml	Wed Sep 18 12:15:59 2019 +0200
    14.3 @@ -0,0 +1,304 @@
    14.4 +(* Title:  Knowledge/polyeq-1.sml
    14.5 +           testexamples for PolyEq, poynomial equations and equational systems
    14.6 +   Author: Richard Lang 2003  
    14.7 +   (c) due to copyright terms
    14.8 +WN030609: some expls dont work due to unfinished handling of 'expanded terms';
    14.9 +          others marked with TODO have to be checked, too.
   14.10 +*)
   14.11 +
   14.12 +"-----------------------------------------------------------------";
   14.13 +"table of contents -----------------------------------------------";
   14.14 +"-----------------------------------------------------------------";
   14.15 +"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
   14.16 +"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
   14.17 +"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
   14.18 +"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
   14.19 +"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
   14.20 +"----------- rls make_polynomial_in ------------------------------";
   14.21 +"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
   14.22 +"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
   14.23 +"-----------------------------------------------------------------";
   14.24 +"-----------------------------------------------------------------";
   14.25 +
   14.26 +
   14.27 +"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
   14.28 +"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
   14.29 +"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
   14.30 + val fmz = ["equality (a*b - (a+b)*x + x^^^2 = 0)",
   14.31 + 	    "solveFor x","solutions L"];
   14.32 + val (dI',pI',mI') =
   14.33 +     ("PolyEq",["degree_2","expanded","univariate","equation"],
   14.34 +      ["PolyEq","complete_square"]);
   14.35 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   14.36 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.37 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.38 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.39 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.40 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.41 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.42 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.43 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.44 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.45 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.46 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.47 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.48 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.49 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.50 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.51 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.52 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.53 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
   14.54 +(*WN.2.5.03 TODO FIXME Matthias ?
   14.55 + case f of 
   14.56 +     Form' 
   14.57 +	 (FormKF 
   14.58 +	      (~1,EdUndef,0,Nundef,
   14.59 +	       "[x = (a + b) / 2 + -1 * sqrt ((a + b) ^^^ 2 / 2 ^^^ 2 - a * b),\n x = (a + b) / 2 + sqrt ((a + b) ^^^ 2 / 2 ^^^ 2 - a * b)]")) 
   14.60 +	 => ()
   14.61 +   | _ => error "polyeq.sml: diff.behav. in a*b - (a+b)*x + x^^^2 = 0";
   14.62 + this will be simplified [x = a, x = b] to by Factor.ML*)
   14.63 +
   14.64 +
   14.65 +"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
   14.66 +"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
   14.67 +"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
   14.68 + val fmz = ["equality (-64 + x^^^2 = 0)",(*Schalk 2, S.66 Nr.1.a~*)
   14.69 + 	    "solveFor x","solutions L"];
   14.70 + val (dI',pI',mI') =
   14.71 +     ("PolyEq",["degree_2","expanded","univariate","equation"],
   14.72 +      ["PolyEq","complete_square"]);
   14.73 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   14.74 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.75 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.76 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.77 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.78 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.79 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.80 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.81 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.82 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.83 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.84 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.85 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   14.86 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
   14.87 +(*WN.2.5.03 TODO "[x = sqrt (0 - -64), x = -1 * sqrt (0 - -64)]"
   14.88 + case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 8, x = -8]")) => ()
   14.89 +	 | _ => error "polyeq.sml: diff.behav. in [x = 8, x = -8]";
   14.90 +*)
   14.91 +
   14.92 +"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
   14.93 +"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
   14.94 +"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
   14.95 +val fmz = ["equality (-147 + 3*x^^^2 = 0)",(*Schalk 2, S.66 Nr.1.b*)
   14.96 + 	    "solveFor x","solutions L"];
   14.97 +val (dI',pI',mI') =
   14.98 +     ("PolyEq",["degree_2","expanded","univariate","equation"],
   14.99 +      ["PolyEq","complete_square"]);
  14.100 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  14.101 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.102 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.103 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.104 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.105 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.106 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.107 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.108 +val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  14.109 +(*WN.2.5.03 TODO "[x = sqrt (0 - -49), x = -1 * sqrt (0 - -49)]"
  14.110 + case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 7, x = -7]")) => ()
  14.111 +	 | _ => error "polyeq.sml: diff.behav. in [x = 7, x = -7]";
  14.112 +*)
  14.113 +if f2str f = "[x = sqrt (0 - -49), x = -1 * sqrt (0 - -49)]" then ()
  14.114 +else error "polyeq.sml CORRECTED?behav. in [x = 7, x = -7]";
  14.115 +
  14.116 +
  14.117 +"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
  14.118 +"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
  14.119 +"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
  14.120 +(*EP-17 Schalk_I_p86_n5*)
  14.121 +val fmz = ["equality ((3::real)*x - 1 - (5*x - (2 - 4*x)) = -11)","solveFor x","solutions L"];
  14.122 +(* refine fmz ["univariate","equation"];
  14.123 +*)
  14.124 +val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  14.125 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  14.126 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.127 +(* val nxt =
  14.128 +  ("Model_Problem",
  14.129 +   Model_Problem ["normalise","polynomial","univariate","equation"])
  14.130 +  : string * tac*)
  14.131 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.132 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.133 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.134 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.135 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.136 +(* val nxt =
  14.137 +  ("Subproblem",
  14.138 +   Subproblem ("PolyEq",["polynomial","univariate","equation"]))
  14.139 +  : string * tac *)
  14.140 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.141 +(*val nxt =
  14.142 +  ("Model_Problem",
  14.143 +   Model_Problem ["degree_1","polynomial","univariate","equation"])
  14.144 +  : string * tac *)
  14.145 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.146 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.147 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.148 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.149 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.150 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.151 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.152 +case f of FormKF "[x = 2]" => ()
  14.153 +	 | _ => error "polyeq.sml: diff.behav. in [x = 2]";
  14.154 +
  14.155 +
  14.156 +"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
  14.157 +"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
  14.158 +"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
  14.159 +(*is in rlang.sml, too*)
  14.160 +val fmz = ["equality ((x+1)*(x+2) - (3*x - 2)^^^2=(2*x - 1)^^^2+(3*x - 1)*(x+1))",
  14.161 +	   "solveFor x","solutions L"];
  14.162 +val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  14.163 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  14.164 +(*val nxt = ("Refine_Tacitly",Refine_Tacitly ["univariate","equation"])*)
  14.165 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.166 +(* val nxt =
  14.167 +  ("Model_Problem",
  14.168 +   Model_Problem ["normalise","polynomial","univariate","equation"])
  14.169 +  : string * tac *)
  14.170 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.171 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.172 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.173 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.174 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.175 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.176 +(* val nxt =
  14.177 +  ("Subproblem",
  14.178 +   Subproblem ("PolyEq",["polynomial","univariate","equation"]))
  14.179 +  : string * tac*)
  14.180 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.181 +(*val nxt =
  14.182 +  ("Model_Problem",
  14.183 +   Model_Problem ["abcFormula","degree_2","polynomial","univariate","equation"])
  14.184 +  : string * tac*)
  14.185 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.186 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.187 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.188 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.189 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.190 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.191 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.192 +case f of FormKF "[x = 2 / 15, x = 1]" => ()
  14.193 +	 | _ => error "polyeq.sml: diff.behav. in [x = 2 / 15, x = 1]";
  14.194 +
  14.195 +
  14.196 +"    -4 + x^^^2 =0     ";
  14.197 +"    -4 + x^^^2 =0     ";
  14.198 +"    -4 + x^^^2 =0     ";
  14.199 +val fmz = ["equality ( -4 + x^^^2 =0)", "solveFor x","solutions L"];
  14.200 +(* val fmz = ["equality (1 + x^^^2 =0)", "solveFor x","solutions L"];*)
  14.201 +(*val fmz = ["equality (0 =0)", "solveFor x","solutions L"];*)
  14.202 +val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  14.203 +(*val p = e_pos'; 
  14.204 +val c = []; 
  14.205 +val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  14.206 +val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
  14.207 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  14.208 +
  14.209 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.210 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.211 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.212 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.213 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.214 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.215 +val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  14.216 +case f of FormKF "[x = 2, x = -2]" => ()
  14.217 +	 | _ => error "polyeq.sml: diff.behav. in [x = 2, x = -2]";
  14.218 +
  14.219 +"----------- rls make_polynomial_in ------------------------------";
  14.220 +"----------- rls make_polynomial_in ------------------------------";
  14.221 +"----------- rls make_polynomial_in ------------------------------";
  14.222 +(*Punkte aus dem TestBericht, die ich in rlang.sml nicht zuordnen konnte:*)
  14.223 +(*WN.19.3.03 ---v-*)
  14.224 +(*3(b)*)val (bdv,v) = (str2term "''bdv''", str2term "R1");
  14.225 +val t = str2term "-1 * (R * R2) + R2 * R1 + -1 * (R * R1) = 0";
  14.226 +val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
  14.227 +if term2str t' = "-1 * R * R2 + R2 * R1 + -1 * R * R1 = 0" then ()
  14.228 +else error "make_polynomial_in (-1 * (R * R2) + R2 * R1 + -1 * (R * R1) = 0)";
  14.229 +"-1 * R * R2 + (R2 + -1 * R) * R1 = 0";
  14.230 +(*WN.19.3.03 ---^-*)
  14.231 +
  14.232 +(*3(c)*)val (bdv,v) = (str2term "bdv", str2term "p");
  14.233 +val t = str2term "y ^^^ 2 + -2 * (x * p) = 0";
  14.234 +val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
  14.235 +if term2str t' = "y ^^^ 2 + -2 * x * p = 0" then ()
  14.236 +else error "make_polynomial_in (y ^^^ 2 + -2 * (x * p) = 0)";
  14.237 +
  14.238 +(*3(d)*)val (bdv,v) = (str2term "''bdv''", str2term "x2");
  14.239 +val t = str2term 
  14.240 +"A + x1 * (y3 * (1 / 2)) + x3 * (y2 * (1 / 2)) + -1 * (x1 * (y2 * (1 / 2))) + -1 * (x3 * (y1 * (1 / 2 ))) + y1 * (1 / 2 * x2) + -1 * (y3 * (1 / 2 * x2)) = 0";
  14.241 +val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
  14.242 +if term2str t' =
  14.243 +"A + x1 * y3 * (1 / 2) + x3 * y2 * (1 / 2) + -1 * x1 * y2 * (1 / 2) +\n-1 * x3 * y1 * (1 / 2) +\ny1 * (1 / 2) * x2 +\n-1 * y3 * (1 / 2) * x2 =\n0"
  14.244 +then ()
  14.245 +else error "make_polynomial_in (A + x1 * (y3 * (1 / 2)) + x3 * (y2 * (1 / 2)) + -1...";
  14.246 +"A + x1 * y3 * (1 / 2) + x3 * y2 * (1 / 2) + - x1 * y2 * (1 / 2) + - x3 * y1 * (1 / 2) + (y1 * (1 / 2) + - y3 * (1 / 2)) * x2 = 0";
  14.247 +
  14.248 +val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_ratpoly_in t;
  14.249 +if term2str t' = 
  14.250 +"A / 1 + x1 * y3 / 2 + x3 * y2 / 2 + -1 * x1 * y2 / 2 + -1 * x3 * y1 / 2 +\ny1 * x2 / 2 +\n-1 * y3 * x2 / 2 =\n0"
  14.251 +then ()
  14.252 +else error "make_ratpoly_in (A + x1 * (y3 * (1 / 2)) + x3 * (y2 * (1 / 2)) + -1...";
  14.253 +"A + x1 * y3 * (1 / 2) + x3 * y2 * (1 / 2) + -1 * x1 * y2 * (1 / 2) + -1 * x3 * y1 * (1 / 2) + (y1 * (1 / 2) + -1 * y3 * (1 / 2)) * x2 = 0";
  14.254 +
  14.255 +(*3(e)*)val (bdv,v) = (str2term "bdv", str2term "a");
  14.256 +val t = str2term 
  14.257 +"A ^^^ 2 + c ^^^ 2 * (c / d) ^^^ 2 + (-4 * (c / d) ^^^ 2) * a ^^^ 2 = 0";
  14.258 +val NONE = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
  14.259 +(* the invisible parentheses are as expected *)
  14.260 +
  14.261 +val t = str2term "(x + 1) * (x + 2) - (3 * x - 2) ^^^ 2 - ((2 * x - 1) ^^^ 2 + (3 * x - 1) * (x + 1)) = 0";
  14.262 +trace_rewrite:=(*true*)false;
  14.263 +rewrite_set_ thy false expand_binoms t;
  14.264 +trace_rewrite:=false;
  14.265 +
  14.266 +
  14.267 +"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
  14.268 +"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
  14.269 +"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
  14.270 +reset_states ();
  14.271 +CalcTree
  14.272 +[(["equality ((3::real)*x - 1 - (5*x - (2 - 4*x)) = -11)","solveFor x","solutions L"], 
  14.273 +  ("PolyEq",["univariate","equation"],["no_met"]))];
  14.274 +Iterator 1;
  14.275 +moveActiveRoot 1;
  14.276 +
  14.277 +autoCalculate 1 CompleteCalc;
  14.278 +val ((pt,p),_) = get_calc 1; show_pt pt;
  14.279 +interSteps 1 ([1],Res)
  14.280 +(*BEFORE Isabelle2002 --> 2011: <ERROR> no Rewrite_Set... </ERROR> ?see fun prep_rls?*);
  14.281 +
  14.282 +
  14.283 +"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
  14.284 +"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
  14.285 +"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
  14.286 +val t = str2term "-6 * x + 5 * x ^^^ 2 = (0::real)";
  14.287 +val subst = [(str2term "(bdv::real)", str2term "(x::real)")];
  14.288 +val SOME (t''''', _) = rewrite_set_inst_ thy true subst d2_polyeq_bdv_only_simplify t;
  14.289 +(* steps in rls d2_polyeq_bdv_only_simplify:*)
  14.290 +
  14.291 +(*-6 * x + 5 * x ^ 2 = 0 : Rewrite_Inst (["(''bdv'',x)"],("d2_prescind1","")) --> x * (-6 + 5 * x) = 0*)
  14.292 +t |> term2str; t |> atomty;
  14.293 +val thm = num_str @{thm d2_prescind1};
  14.294 +thm |> Thm.prop_of |> term2str; thm |> Thm.prop_of |> atomty;
  14.295 +val SOME (t', _) = rewrite_inst_ thy e_rew_ord e_rls true subst thm t; term2str t';
  14.296 +
  14.297 +(*x * (-6 + 5 * x) = 0   : Rewrite_Inst (["(''bdv'',x)"],("d2_reduce_equation1","")) 
  14.298 +                                                                        --> x = 0 | -6 + 5 * x = 0*)
  14.299 +t' |> term2str; t' |> atomty;
  14.300 +val thm = num_str @{thm d2_reduce_equation1};
  14.301 +thm |> Thm.prop_of |> term2str; thm |> Thm.prop_of |> atomty;
  14.302 +val SOME (t'', _) = rewrite_inst_ thy e_rew_ord e_rls true subst thm t'; term2str t'';
  14.303 +(* NONE with d2_reduce_equation1:   "(bdv*(a +b*bdv)=0) = ((bdv=0)|(a+b*bdv=0))"
  14.304 +   instead   d2_reduce_equation1:   "(bdv*(a +b*bdv)=0) = ((bdv=0)|(a+b*bdv=(0::real)))"
  14.305 +*)
  14.306 +if term2str t'' = "x = 0 \<or> -6 + 5 * x = 0" then ()
  14.307 +else error "rls d2_polyeq_bdv_only_simplify broken";
    15.1 --- a/test/Tools/isac/Knowledge/polyeq.sml	Tue Sep 17 10:25:24 2019 +0200
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,1162 +0,0 @@
    15.4 -(* testexamples for PolyEq, poynomial equations and equational systems
    15.5 -   author: Richard Lang 2003  
    15.6 -   (c) due to copyright terms
    15.7 -WN030609: some expls dont work due to unfinished handling of 'expanded terms';
    15.8 -          others marked with TODO have to be checked, too.
    15.9 -*)
   15.10 -
   15.11 -"-----------------------------------------------------------------";
   15.12 -"table of contents -----------------------------------------------";
   15.13 -(*WN060608 some ----- are not in this table.
   15.14 -  WN111014.TODO missing checks*)
   15.15 -"-----------------------------------------------------------------";
   15.16 -"----------- tests on predicates in problems ---------------------";
   15.17 -"----------- test matching problems --------------------------0---";
   15.18 -"----------- lin.eq degree_0 -------------------------------------";
   15.19 -"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
   15.20 -"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
   15.21 -"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
   15.22 -"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
   15.23 -"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
   15.24 -"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
   15.25 -"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
   15.26 -"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
   15.27 -"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
   15.28 -"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
   15.29 -"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
   15.30 -"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
   15.31 -"-----------------------------------------------------------------";
   15.32 -"-----------------------------------------------------------------";
   15.33 -
   15.34 -"----------- tests on predicates in problems ---------------------";
   15.35 -"----------- tests on predicates in problems ---------------------";
   15.36 -"----------- tests on predicates in problems ---------------------";
   15.37 -(* 
   15.38 - trace_rewrite:=true;
   15.39 - trace_rewrite:=false;
   15.40 -*)
   15.41 - val t1 = (Thm.term_of o the o (parse thy)) "lhs (-8 - 2*x + x^^^2 = 0)";
   15.42 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t1;
   15.43 - if ((term2str t) = "-8 - 2 * x + x ^^^ 2") then ()
   15.44 - else  error "polyeq.sml: diff.behav. in lhs";
   15.45 -
   15.46 - val t2 = (Thm.term_of o the o (parse thy)) "(-8 - 2*x + x^^^2) is_expanded_in x";
   15.47 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t2;
   15.48 - if (term2str t) = "True" then ()
   15.49 - else  error "polyeq.sml: diff.behav. 1 in is_expended_in";
   15.50 -
   15.51 - val t0 = (Thm.term_of o the o (parse thy)) "(sqrt(x)) is_poly_in x";
   15.52 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t0;
   15.53 - if (term2str t) = "False" then ()
   15.54 - else  error "polyeq.sml: diff.behav. 2 in is_poly_in";
   15.55 -
   15.56 - val t3 = (Thm.term_of o the o (parse thy)) "(-8 + (-1)*2*x + x^^^2) is_poly_in x";
   15.57 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
   15.58 - if (term2str t) = "True" then ()
   15.59 - else  error "polyeq.sml: diff.behav. 3 in is_poly_in";
   15.60 -
   15.61 - val t4 = (Thm.term_of o the o (parse thy)) "(lhs (-8 + (-1)*2*x + x^^^2 = 0)) is_expanded_in x";
   15.62 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
   15.63 - if (term2str t) = "True" then ()
   15.64 - else  error "polyeq.sml: diff.behav. 4 in is_expended_in";
   15.65 -
   15.66 -
   15.67 - val t6 = (Thm.term_of o the o (parse thy)) "(lhs (-8 - 2*x + x^^^2 = 0)) is_expanded_in x";
   15.68 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t6;
   15.69 - if (term2str t) = "True" then ()
   15.70 - else  error "polyeq.sml: diff.behav. 5 in is_expended_in";
   15.71 - 
   15.72 - val t3 = (Thm.term_of o the o (parse thy))"((-8 - 2*x + x^^^2) has_degree_in x) = 2";
   15.73 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
   15.74 - if (term2str t) = "True" then ()
   15.75 - else  error "polyeq.sml: diff.behav. in has_degree_in_in";
   15.76 -
   15.77 - val t3 = (Thm.term_of o the o (parse thy)) "((sqrt(x)) has_degree_in x) = 2";
   15.78 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
   15.79 - if (term2str t) = "False" then ()
   15.80 - else  error "polyeq.sml: diff.behav. 6 in has_degree_in_in";
   15.81 -
   15.82 - val t4 = (Thm.term_of o the o (parse thy)) 
   15.83 -	      "((-8 - 2*x + x^^^2) has_degree_in x) = 1";
   15.84 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
   15.85 - if (term2str t) = "False" then ()
   15.86 - else  error "polyeq.sml: diff.behav. 7 in has_degree_in_in";
   15.87 -
   15.88 - val t5 = (Thm.term_of o the o (parse thy)) 
   15.89 -	      "((-8 - 2*x + x^^^2) has_degree_in x) = 2";
   15.90 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t5;
   15.91 - if (term2str t) = "True" then ()
   15.92 - else  error "polyeq.sml: diff.behav. 8 in has_degree_in_in";
   15.93 -
   15.94 -"----------- test matching problems --------------------------0---";
   15.95 -"----------- test matching problems --------------------------0---";
   15.96 -"----------- test matching problems --------------------------0---";
   15.97 -val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", "solveFor x","solutions L"];
   15.98 -if match_pbl fmz (get_pbt ["expanded","univariate","equation"]) =
   15.99 -  Matches' {Find = [Correct "solutions L"], 
  15.100 -            With = [], 
  15.101 -            Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"], 
  15.102 -            Where = [Correct "matches (?a = 0) (-8 - 2 * x + x ^^^ 2 = 0)", 
  15.103 -                     Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) is_expanded_in x"], 
  15.104 -            Relate = []}
  15.105 -then () else error "match_pbl [expanded,univariate,equation]";
  15.106 -
  15.107 -if match_pbl fmz (get_pbt ["degree_2","expanded","univariate","equation"]) =
  15.108 -  Matches' {Find = [Correct "solutions L"], 
  15.109 -            With = [], 
  15.110 -            Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"], 
  15.111 -            Where = [Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) has_degree_in x = 2"], 
  15.112 -            Relate = []}              (*before WN110906 was: has_degree_in x =!= 2"]*)
  15.113 -then () else error "match_pbl [degree_2,expanded,univariate,equation]";
  15.114 -
  15.115 -"----------- lin.eq degree_0 -------------------------------------";
  15.116 -"----------- lin.eq degree_0 -------------------------------------";
  15.117 -"----------- lin.eq degree_0 -------------------------------------";
  15.118 -"----- d0_false ------";
  15.119 -val fmz = ["equality (1 = (0::real))", "solveFor x", "solutions L"];
  15.120 -val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
  15.121 -                     ["PolyEq","solve_d0_polyeq_equation"]);
  15.122 -(*=== inhibit exn WN110914: declare_constraints doesnt work with num_str ========
  15.123 -TODO: change to "equality (x + -1*x = (0::real))"
  15.124 -      and search for an appropriate problem and method.
  15.125 -
  15.126 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.127 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.128 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.129 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.130 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.131 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.132 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.133 -case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
  15.134 -	 | _ => error "polyeq.sml: diff.behav. in 1 = 0 -> []";
  15.135 -
  15.136 -"----- d0_true ------";
  15.137 -val fmz = ["equality (0 = (0::real))", "solveFor x","solutions L"];
  15.138 -val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
  15.139 -                     ["PolyEq","solve_d0_polyeq_equation"]);
  15.140 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.141 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.142 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.143 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.144 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.145 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.146 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.147 -case f of Form' (FormKF (~1,EdUndef,0,Nundef,"UniversalList")) => ()
  15.148 -	 | _ => error "polyeq.sml: diff.behav. in 0 = 0 -> UniversalList";
  15.149 -============ inhibit exn WN110914 ============================================*)
  15.150 -
  15.151 -"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
  15.152 -"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
  15.153 -"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
  15.154 -"----- d2_pqformula1 ------!!!!";
  15.155 -val fmz = ["equality (-1/8 + (-1/4)*z + z^^^2 = (0::real))", "solveFor z","solutions L"];
  15.156 -val (dI',pI',mI') =
  15.157 -  ("Isac_Knowledge", ["pqFormula","degree_2","polynomial","univariate","equation"], ["no_met"]);
  15.158 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.159 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.160 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.161 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.162 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.163 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.164 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.165 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*Apply_Method ["PolyEq", "solve_d2_polyeq_pq_equation"]*)
  15.166 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.167 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.168 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.169 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;         
  15.170 -(*[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2] TODO sqrt*)
  15.171 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt =..,Check_elementwise "Assumptions")*)
  15.172 -"~~~~~ fun me, args:"; val ((_,tac), (p:pos'), _, (pt:ctree)) = (nxt, p, [], pt);
  15.173 -"~~~~~ fun locatetac, args:"; val (tac, (ptp as (pt, p))) = (tac, (pt, p));
  15.174 -val (mI,m) = mk_tac'_ tac;
  15.175 -val Appl m = applicable_in p pt m;
  15.176 -val Check_elementwise' (trm1, str, (trm2, trms)) = m;
  15.177 -term2str trm1 = "[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2]";
  15.178 -str = "Assumptions";
  15.179 -term2str trm2 = "[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2]";
  15.180 -terms2str trms = "[\"lhs (-1 / 8 + -1 * (1 / 8 + sqrt (9 / 16) / 2) / 4 +\n "^
  15.181 -  "    (1 / 8 + sqrt (9 / 16) / 2) ^^^ 2 =\n     0) is_poly_in 1 / 8 + sqrt (9 / 16) / 2\","^
  15.182 -  "\"lhs (-1 / 8 + -1 * (1 / 8 + sqrt (9 / 16) / 2) / 4 +\n     (1 / 8 + sqrt (9 / 16) / 2) ^^^ 2 =\n     0) "^
  15.183 -      "has_degree_in 1 / 8 + sqrt (9 / 16) / 2 =\n2\","^
  15.184 -  "\"lhs (-1 / 8 + -1 * (1 / 8 + -1 * sqrt (9 / 16) / 2) / 4 +\n     (1 / 8 + -1 * sqrt (9 / 16) / 2) ^^^ 2 =\n     0) is_poly_in 1 / 8 + -1 * sqrt (9 / 16) / 2\","^
  15.185 -  "\"lhs (-1 / 8 + -1 * (1 / 8 + -1 * sqrt (9 / 16) / 2) / 4 +\n     (1 / 8 + -1 * sqrt (9 / 16) / 2) ^^^ 2 =\n     0) has_degree_in 1 / 8 + -1 * sqrt (9 / 16) / 2 =\n2\"]";
  15.186 -(*TODO simplify assumptions (sqrt!) and check ERROR in has_degree_in*);
  15.187 -member op = specsteps mI (*false*);
  15.188 -(*loc_solve_ (mI,m) ptp;
  15.189 -  WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
  15.190 -"~~~~~ fun loc_solve_, args:"; val (m, (pt,pos)) = ((mI,m), ptp);
  15.191 -(*solve m (pt, pos);
  15.192 -  WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
  15.193 -"~~~~~ fun solve, args:"; val ((mI,m), (pt, po as (p,p_))) = (m, (pt, pos));
  15.194 -e_metID = get_obj g_metID pt (par_pblobj pt p) (*false*);
  15.195 -        val thy' = get_obj g_domID pt (par_pblobj pt p);
  15.196 -	        val (srls, is, sc) = from_pblobj_or_detail' thy' (p,p_) pt;
  15.197 -		        val d = e_rls;
  15.198 -(*locate_input_tactic (thy',srls) m  (pt,(p,p_)) (sc,d) is;
  15.199 -  WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
  15.200 -"~~~~~ fun locate_input_tactic, args:"; val ((ts as (thy',srls)), (m:Tactic.T), ((pt,p):ctree * pos'), 
  15.201 -	                                   (scr as Prog (h $ body),d), (Pstate (E,l,a,v,S,b), ctxt)) = 
  15.202 -                                   ((thy',srls), m  ,(pt,(p,p_)) ,(sc,d) ,is); (* locate_input_tactic 2nd pattern *)
  15.203 -val thy = assoc_thy thy';
  15.204 -l = [] orelse ((last_elem o fst) p = 0 andalso snd p = Res) (*false*);
  15.205 -(*WAS val NasApp _ =(astep_up (thy',srls,scr,d) ((E,l,a,v,S,b), [(m,EmptyMout,pt,p,[])]) )
  15.206 -  ... Assoc ... is correct*)
  15.207 -"~~~~~ and astep_up, args:"; val ((ys as (_,_,_,Prog sc,_)), ((E,l,a,v,S,b),ss)) =
  15.208 -   ((thy',ctxt,srls,scr,d), ((E,l,a,v,S,b), [(m,EmptyMout,pt,p,[])]));
  15.209 -1 < length l (*true*);
  15.210 -val up = drop_last l;
  15.211 -  term2str (go up sc);
  15.212 -  (go up sc);
  15.213 -(*WAS val NasNap _ = ass_up ys ((E,up,a,v,S,b),ss) (go up sc)
  15.214 -      ... ???? ... is correct*)
  15.215 -"~~~~~ fun ass_up, args:"; val ((ys as (y,ctxt,s,Prog sc,d)), (is as (E,l,a,v,S,b),ss), 
  15.216 -	   (Const ("HOL.Let",_) $ _)) = (ys, ((E,up,a,v,S,b),ss), (go up sc));
  15.217 -      val l = drop_last l; (*comes from e, goes to Abs*)
  15.218 -      val (Const ("HOL.Let",_) $ e $ (Abs (i,T,body))) = go l sc;
  15.219 -      val i = mk_Free (i, T);
  15.220 -      val E = upd_env E (i, v);
  15.221 -(*Type error ...: Can't unify _a to pos * pos_ (Incompatible types)*)
  15.222 -val [(tac_, mout, ctree, pos', xxx)] = ss;
  15.223 -val ss = [(tac_, mout, ctree, pos', []:(pos * pos_) list)];
  15.224 -(*WAS val NasApp iss = assy (((y,s),d),Aundef) ((E, l@[R,D], a,v,S,b),ss) body
  15.225 -      ... Assoc ... is correct*)
  15.226 -"~~~~~ fun assy, args:"; val ((((thy',sr),d),ap), (is as (E,l,a,v,S,b), (m,_,pt,(p,p_),c)::ss), t) =
  15.227 -     ((((y,s),d),Aundef), ((E, l@[R,D], a,v,S,b),ss), body);
  15.228 -val (a', STac stac) = handle_leaf "locate" thy' sr E a v t
  15.229 -             val ctxt = get_ctxt pt (p,p_)
  15.230 -             val p' = lev_on p : pos;
  15.231 -(* WAS val NotAss = associate pt d (m, stac)
  15.232 -      ... Ass ... is correct*)
  15.233 -"~~~~~ fun associate, args:"; val (pt, _, (m as Check_elementwise' (consts,_,(consts_chkd,_))),
  15.234 -    (Const ("Prog_Tac.Check'_elementwise",_) $ consts' $ _)) = (pt, d, m, stac);
  15.235 -term2str consts;
  15.236 -term2str consts';
  15.237 -if consts = consts' (*WAS false*) then () else error "Check_elementwise changed";
  15.238 -(*[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2] TODO sqrt*)
  15.239 -
  15.240 -"----- d2_pqformula1_neg ------";
  15.241 -val fmz = ["equality (2 +(-1)*x + x^^^2 = (0::real))", "solveFor x","solutions L"];
  15.242 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.243 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.244 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.245 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.246 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.247 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.248 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.249 -(*### or2list False
  15.250 -  ([1],Res)  False   Or_to_List)*)
  15.251 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.252 -(*### or2list False
  15.253 -  ([2],Res)  []      Check_elementwise "Assumptions"*)
  15.254 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.255 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.256 -val asm = get_assumptions_ pt p;
  15.257 -if f2str f = "[]" andalso 
  15.258 -  terms2str asm = "[\"lhs (2 + -1 * x + x ^^^ 2 = 0) is_poly_in x\"," ^
  15.259 -    "\"lhs (2 + -1 * x + x ^^^ 2 = 0) has_degree_in x = 2\"]" then ()
  15.260 -else error "polyeq.sml: diff.behav. in 2 +(-1)*x + x^^^2 = 0";
  15.261 -
  15.262 -"----- d2_pqformula2 ------";
  15.263 -val fmz = ["equality (-2 +(-1)*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.264 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.265 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.266 -(*val p = e_pos'; 
  15.267 -val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  15.268 -val (p,_,f,nxt,_,pt) = me (mI,m) p [] EmptyPtree;*)
  15.269 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.270 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.271 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.272 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.273 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.274 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.275 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.276 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.277 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.278 -case f of FormKF "[x = 2, x = -1]" => ()
  15.279 -	 | _ => error "polyeq.sml: diff.behav. in -2 + (-1)*x + x^2 = 0 -> [x = 2, x = -1]";
  15.280 -
  15.281 -
  15.282 -"----- d2_pqformula2_neg ------";
  15.283 -val fmz = ["equality ( 2 +(-1)*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.284 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.285 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.286 -(*val p = e_pos'; val c = []; 
  15.287 -val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
  15.288 -val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
  15.289 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.290 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.291 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.292 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.293 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.294 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.295 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.296 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.297 -"TODO 2 +(-1)*x + 1*x^^^2 = 0";
  15.298 -"TODO 2 +(-1)*x + 1*x^^^2 = 0";
  15.299 -"TODO 2 +(-1)*x + 1*x^^^2 = 0";
  15.300 -
  15.301 -
  15.302 -"----- d2_pqformula3 ------";
  15.303 -(*EP-9*)
  15.304 -val fmz = ["equality (-2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.305 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.306 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.307 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.308 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.309 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.310 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.311 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.312 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.313 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.314 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.315 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.316 -case f of FormKF "[x = 1, x = -2]" => ()
  15.317 -	 | _ => error "polyeq.sml: diff.behav. in  -2 + x + x^2 = 0-> [x = 1, x = -2]";
  15.318 -
  15.319 -"----- d2_pqformula3_neg ------";
  15.320 -val fmz = ["equality ( 2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.321 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.322 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.323 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.324 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.325 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.326 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.327 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.328 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.329 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.330 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.331 -"TODO 2 + x + x^^^2 = 0";
  15.332 -"TODO 2 + x + x^^^2 = 0";
  15.333 -"TODO 2 + x + x^^^2 = 0";
  15.334 -
  15.335 -
  15.336 -"----- d2_pqformula4 ------";
  15.337 -val fmz = ["equality (-2 + x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.338 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.339 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.340 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.341 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.342 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.343 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.344 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.345 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.346 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.347 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.348 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.349 -case f of FormKF "[x = 1, x = -2]" => ()
  15.350 -	 | _ => error "polyeq.sml: diff.behav. in  -2 + x + 1*x^^^2 = 0 -> [x = 1, x = -2]";
  15.351 -
  15.352 -"----- d2_pqformula4_neg ------";
  15.353 -val fmz = ["equality ( 2 + x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.354 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.355 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.356 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.357 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.358 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.359 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.360 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.361 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.362 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.363 -"TODO 2 + x + 1*x^^^2 = 0";
  15.364 -"TODO 2 + x + 1*x^^^2 = 0";
  15.365 -"TODO 2 + x + 1*x^^^2 = 0";
  15.366 -
  15.367 -"----- d2_pqformula5 ------";
  15.368 -val fmz = ["equality (1*x +   x^^^2 = 0)", "solveFor x","solutions L"];
  15.369 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.370 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.371 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.372 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.373 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.374 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.375 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.376 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.377 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.378 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.379 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.380 -case f of FormKF "[x = 0, x = -1]" => ()
  15.381 -	 | _ => error "polyeq.sml: diff.behav. in  1*x +   x^2 = 0 -> [x = 0, x = -1]";
  15.382 -
  15.383 -"----- d2_pqformula6 ------";
  15.384 -val fmz = ["equality (1*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.385 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.386 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.387 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.388 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.389 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.390 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.391 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.392 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.393 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.394 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.395 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.396 -case f of FormKF "[x = 0, x = -1]" => ()
  15.397 -	 | _ => error "polyeq.sml: diff.behav. in  1*x + 1*x^2 = 0 -> [x = 0, x = -1]";
  15.398 -
  15.399 -"----- d2_pqformula7 ------";
  15.400 -(*EP-10*)
  15.401 -val fmz = ["equality (  x +   x^^^2 = 0)", "solveFor x","solutions L"];
  15.402 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.403 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.404 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.405 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.406 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.407 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.408 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.409 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.410 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.411 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.412 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.413 -case f of FormKF "[x = 0, x = -1]" => ()
  15.414 -	 | _ => error "polyeq.sml: diff.behav. in  x + x^2 = 0 -> [x = 0, x = -1]";
  15.415 -
  15.416 -"----- d2_pqformula8 ------";
  15.417 -val fmz = ["equality (  x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.418 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.419 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.420 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.421 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.422 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.423 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.424 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.425 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.426 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.427 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.428 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.429 -case f of FormKF "[x = 0, x = -1]" => ()
  15.430 -	 | _ => error "polyeq.sml: diff.behav. in  x + 1*x^2 = 0 -> [x = 0, x = -1]";
  15.431 -
  15.432 -"----- d2_pqformula9 ------";
  15.433 -val fmz = ["equality (-4 + x^^^2 = 0)", "solveFor x","solutions L"];
  15.434 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.435 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.436 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.437 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.438 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.439 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.440 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.441 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.442 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.443 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.444 -case f of FormKF "[x = 2, x = -2]" => ()
  15.445 -	 | _ => error "polyeq.sml: diff.behav. in -4 + x^2 = 0 -> [x = 2, x = -2]";
  15.446 -
  15.447 -
  15.448 -"----- d2_pqformula10_neg ------";
  15.449 -val fmz = ["equality (4 + x^^^2 = 0)", "solveFor x","solutions L"];
  15.450 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.451 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.452 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.453 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.454 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.455 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.456 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.457 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.458 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.459 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.460 -"TODO 4 + x^^^2 = 0";
  15.461 -"TODO 4 + x^^^2 = 0";
  15.462 -"TODO 4 + x^^^2 = 0";
  15.463 -
  15.464 -"----- d2_pqformula10 ------";
  15.465 -val fmz = ["equality (-4 + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.466 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.467 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.468 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.469 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.470 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.471 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.472 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.473 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.474 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.475 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.476 -case f of FormKF "[x = 2, x = -2]" => ()
  15.477 -	 | _ => error "polyeq.sml: diff.behav. in -4 + 1*x^2 = 0 -> [x = 2, x = -2]";
  15.478 -
  15.479 -"----- d2_pqformula9_neg ------";
  15.480 -val fmz = ["equality (4 + 1*x^^^2 = 0)", "solveFor x","solutions L"];
  15.481 -val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
  15.482 -                     ["PolyEq","solve_d2_polyeq_pq_equation"]);
  15.483 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.484 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.485 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.486 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.487 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.488 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.489 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.490 -"TODO 4 + 1*x^^^2 = 0";
  15.491 -"TODO 4 + 1*x^^^2 = 0";
  15.492 -"TODO 4 + 1*x^^^2 = 0";
  15.493 -
  15.494 -"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
  15.495 -"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
  15.496 -"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
  15.497 -
  15.498 -val fmz = ["equality (-1 +(-1)*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.499 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.500 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.501 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.502 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.503 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.504 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.505 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.506 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.507 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.508 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.509 -case f of FormKF "[x = 1, x = -1 / 2]" => ()
  15.510 -	 | _ => error "polyeq.sml: diff.behav. in -1 + (-1)*x + 2*x^2 = 0 -> [x = 1, x = -1/2]";
  15.511 -
  15.512 -val fmz = ["equality ( 1 +(-1)*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.513 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.514 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.515 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.516 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.517 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.518 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.519 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.520 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.521 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.522 -"TODO 1 +(-1)*x + 2*x^^^2 = 0";
  15.523 -"TODO 1 +(-1)*x + 2*x^^^2 = 0";
  15.524 -"TODO 1 +(-1)*x + 2*x^^^2 = 0";
  15.525 -
  15.526 -(*EP-11*)
  15.527 -val fmz = ["equality (-1 + x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.528 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.529 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.530 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.531 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.532 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.533 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.534 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.535 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.536 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.537 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.538 -case f of FormKF "[x = 1 / 2, x = -1]" => ()
  15.539 -	 | _ => error "polyeq.sml: diff.behav. in -1 + x + 2*x^2 = 0 -> [x = 1/2, x = -1]";
  15.540 -
  15.541 -val fmz = ["equality ( 1 + x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.542 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.543 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.544 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.545 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.546 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.547 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.548 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.549 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.550 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.551 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.552 -"TODO 1 + x + 2*x^^^2 = 0";
  15.553 -"TODO 1 + x + 2*x^^^2 = 0";
  15.554 -"TODO 1 + x + 2*x^^^2 = 0";
  15.555 -
  15.556 -val fmz = ["equality (-2 + 1*x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.557 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.558 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.559 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.560 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.561 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.562 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.563 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.564 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.565 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.566 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.567 -case f of FormKF "[x = 1, x = -2]" => ()
  15.568 -	 | _ => error "polyeq.sml: diff.behav. in -2 + 1*x + x^2 = 0 -> [x = 1, x = -2]";
  15.569 -
  15.570 -val fmz = ["equality ( 2 + 1*x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.571 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.572 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.573 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.574 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.575 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.576 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.577 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.578 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.579 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.580 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.581 -"TODO 2 + 1*x + x^^^2 = 0";
  15.582 -"TODO 2 + 1*x + x^^^2 = 0";
  15.583 -"TODO 2 + 1*x + x^^^2 = 0";
  15.584 -
  15.585 -(*EP-12*)
  15.586 -val fmz = ["equality (-2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.587 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.588 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.589 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.590 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.591 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.592 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.593 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.594 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.595 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.596 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.597 -case f of FormKF "[x = 1, x = -2]" => ()
  15.598 -	 | _ => error "polyeq.sml: diff.behav. in -2 + x + x^2 = 0 -> [x = 1, x = -2]";
  15.599 -
  15.600 -val fmz = ["equality ( 2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.601 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.602 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.603 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.604 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.605 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.606 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.607 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.608 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.609 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.610 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; 
  15.611 -"TODO 2 + x + x^^^2 = 0";
  15.612 -"TODO 2 + x + x^^^2 = 0";
  15.613 -"TODO 2 + x + x^^^2 = 0";
  15.614 -
  15.615 -(*EP-13*)
  15.616 -val fmz = ["equality (-8 + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.617 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.618 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.619 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.620 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.621 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.622 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.623 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.624 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.625 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.626 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.627 -case f of FormKF "[x = 2, x = -2]" => ()
  15.628 -	 | _ => error "polyeq.sml: diff.behav. in -8 + 2*x^2 = 0 -> [x = 2, x = -2]";
  15.629 -
  15.630 -val fmz = ["equality ( 8+ 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.631 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.632 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.633 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.634 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.635 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.636 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.637 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.638 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.639 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.640 -"TODO 8+ 2*x^^^2 = 0";
  15.641 -"TODO 8+ 2*x^^^2 = 0";
  15.642 -"TODO 8+ 2*x^^^2 = 0";
  15.643 -
  15.644 -(*EP-14*)
  15.645 -val fmz = ["equality (-4 + x^^^2 = 0)", "solveFor x","solutions L"];
  15.646 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.647 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.648 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.649 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.650 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.651 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.652 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.653 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.654 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.655 -case f of FormKF "[x = 2, x = -2]" => ()
  15.656 -	 | _ => error "polyeq.sml: diff.behav. in -4 + x^2 = 0 -> [x = 2, x = -2]";
  15.657 -
  15.658 -
  15.659 -val fmz = ["equality ( 4+ x^^^2 = 0)", "solveFor x","solutions L"];
  15.660 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.661 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.662 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.663 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.664 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.665 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.666 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.667 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.668 -"TODO 4+ x^^^2 = 0";
  15.669 -"TODO 4+ x^^^2 = 0";
  15.670 -"TODO 4+ x^^^2 = 0";
  15.671 -
  15.672 -(*EP-15*)
  15.673 -val fmz = ["equality (2*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.674 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.675 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.676 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.677 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.678 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.679 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.680 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.681 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.682 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.683 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.684 -case f of FormKF "[x = 0, x = -1]" => ()
  15.685 -	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
  15.686 -
  15.687 -val fmz = ["equality (1*x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.688 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.689 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.690 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.691 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.692 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.693 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.694 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.695 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.696 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.697 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.698 -case f of FormKF "[x = 0, x = -1]" => ()
  15.699 -	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
  15.700 -
  15.701 -(*EP-16*)
  15.702 -val fmz = ["equality (x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
  15.703 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.704 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.705 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.706 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.707 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.708 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.709 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.710 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.711 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.712 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.713 -case f of FormKF "[x = 0, x = -1 / 2]" => ()
  15.714 -	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1 / 2]";
  15.715 -
  15.716 -(*EP-//*)
  15.717 -val fmz = ["equality (x + x^^^2 = 0)", "solveFor x","solutions L"];
  15.718 -val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
  15.719 -                     ["PolyEq","solve_d2_polyeq_abc_equation"]);
  15.720 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.721 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.722 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.723 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.724 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.725 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.726 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.727 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.728 -case f of FormKF "[x = 0, x = -1]" => ()
  15.729 -	 | _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
  15.730 -
  15.731 -"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
  15.732 -"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
  15.733 -"----------- (-8 - 2*x + x^^^2 = 0),  (*Schalk 2, S.67 Nr.31.b----";
  15.734 -(*stopped du to TODO.txt WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat
  15.735 -see --- val rls = calculate_RootRat > calculate_Rational ---
  15.736 -calculate_RootRat was a TODO with 2002, requires re-design.
  15.737 -see also --- (-8 - 2*x + x^^^2 = 0),  by rewriting --- below
  15.738 -*)
  15.739 - val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", (*Schalk 2, S.67 Nr.31.b*)
  15.740 - 	    "solveFor x","solutions L"];
  15.741 - val (dI',pI',mI') =
  15.742 -     ("PolyEq",["degree_2","expanded","univariate","equation"],
  15.743 -      ["PolyEq","complete_square"]);
  15.744 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.745 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.746 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.747 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.748 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.749 - (*Apply_Method ("PolyEq","complete_square")*)
  15.750 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.751 - (*"-8 - 2 * x + x ^^^ 2 = 0", nxt = Rewrite_Set_Inst ... "complete_square*)
  15.752 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.753 - (*"-8 + (2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2", nxt = Rewrite("square_explicit1"*)
  15.754 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.755 - (*"(2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2 - -8" nxt = Rewrite("root_plus_minus*)
  15.756 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.757 - (*"2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |
  15.758 -    2 / 2 - x = - sqrt ((2 / 2) ^^^ 2 - -8)" nxt = Rewr_Inst("bdv_explicit2"*)
  15.759 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.760 - (*"2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |
  15.761 -    -1*x = - (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8)"nxt = R_Inst("bdv_explt2"*)
  15.762 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.763 - (*"-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |
  15.764 -    -1 * x = (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))"nxt = bdv_explicit3*)
  15.765 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.766 - (*"-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |
  15.767 -   x = -1 * (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))" nxt = bdv_explicit3*)
  15.768 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.769 - (*"x = -1 * (- (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8)) |
  15.770 -    x = -1 * (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))"nxt = calculate_Rational
  15.771 -    NOT IMPLEMENTED SINCE 2002 ------------------------------^^^^^^^^^^^^^^^^^^*)
  15.772 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.773 - (*"x = -2 | x = 4" nxt = Or_to_List*)
  15.774 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.775 - (*"[x = -2, x = 4]" nxt = Check_Postcond*)
  15.776 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
  15.777 -(* FIXXXME 
  15.778 - case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -2, x = 4]")) => () TODO
  15.779 -	 | _ => error "polyeq.sml: diff.behav. in [x = -2, x = 4]";
  15.780 -*)
  15.781 -if f2str f =
  15.782 -"[x = -1 * -1 + -1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8),\n x = -1 * -1 + -1 * (-1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8))]"
  15.783 -(*"[x = -1 * -1 + -1 * sqrt (1 ^^^ 2 - -8),\n x = -1 * -1 + -1 * (-1 * sqrt (1 ^^^ 2 - -8))]"*)
  15.784 -then () else error "polyeq.sml corrected?behav. in [x = -2, x = 4]";
  15.785 -
  15.786 -"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
  15.787 -"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
  15.788 -"----------- (-8 - 2*x + x^^^2 = 0),  by rewriting ---------------";
  15.789 -(*stopped du to TODO.txt WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat
  15.790 -see --- val rls = calculate_RootRat > calculate_Rational ---*)
  15.791 -val thy = @{theory PolyEq};
  15.792 -val ctxt = Proof_Context.init_global thy;
  15.793 -val inst = [((the o (parseNEW  ctxt)) "bdv::real", (the o (parseNEW  ctxt)) "x::real")];
  15.794 -val t = (the o (parseNEW  ctxt)) "-8 - 2*x + x^^^2 = (0::real)";
  15.795 -
  15.796 -val rls = complete_square;
  15.797 -val SOME (t,asm) = rewrite_set_inst_ thy true inst rls t;
  15.798 -term2str t = "-8 + (2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2";
  15.799 -
  15.800 -val thm = num_str @{thm square_explicit1};
  15.801 -val SOME (t,asm) = rewrite_ thy dummy_ord Erls true thm t;
  15.802 -term2str t = "(2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2 - -8";
  15.803 -
  15.804 -val thm = num_str @{thm root_plus_minus};
  15.805 -val SOME (t,asm) = rewrite_ thy dummy_ord PolyEq_erls true thm t;
  15.806 -term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
  15.807 -           "\n2 / 2 - x = -1 * sqrt ((2 / 2) ^^^ 2 - -8)";
  15.808 -
  15.809 -(*the thm bdv_explicit2* here required to be constrained to ::real*)
  15.810 -val thm = num_str @{thm bdv_explicit2};
  15.811 -val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
  15.812 -term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
  15.813 -              "\n-1 * x = - (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8)";
  15.814 -
  15.815 -val thm = num_str @{thm bdv_explicit3};
  15.816 -val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
  15.817 -term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
  15.818 -                   "\nx = -1 * (- (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8))";
  15.819 -
  15.820 -val thm = num_str @{thm bdv_explicit2};
  15.821 -val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
  15.822 -term2str t = "-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |"^
  15.823 -                "\nx = -1 * (- (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8))";
  15.824 -
  15.825 -val rls = calculate_RootRat;
  15.826 -val SOME (t,asm) = rewrite_set_ thy true rls t;
  15.827 -if term2str t =
  15.828 -  "-1 * x = -1 + sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8) \<or>\nx = -1 * -1 + -1 * (-1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8))"
  15.829 -(*"-1 * x = -1 + sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8) |\nx = -1 * -1 + -1 * (-1 * sqrt (2 ^^^ 2 / 2 ^^^ 2 - -8))"..isabisac15*)
  15.830 -then () else error "(-8 - 2*x + x^^^2 = 0),  by rewriting -- ERROR INDICATES IMPROVEMENT";
  15.831 -(*SHOULD BE: term2str = "x = -2 | x = 4;*)
  15.832 -
  15.833 -
  15.834 -
  15.835 -"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
  15.836 -"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
  15.837 -"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
  15.838 -"---- test the erls ----";
  15.839 - val t1 = (Thm.term_of o the o (parse thy)) "0 <= (10/3/2)^^^2 - 1";
  15.840 - val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_erls t1;
  15.841 - val t' = term2str t;
  15.842 - (*if t'= "HOL.True" then ()
  15.843 - else error "polyeq.sml: diff.behav. in 'rewrite_set_.. PolyEq_erls";*)
  15.844 -(* *)
  15.845 - val fmz = ["equality (3 - 10*x + 3*x^^^2 = 0)",
  15.846 - 	    "solveFor x","solutions L"];
  15.847 - val (dI',pI',mI') =
  15.848 -     ("PolyEq",["degree_2","expanded","univariate","equation"],
  15.849 -      ["PolyEq","complete_square"]);
  15.850 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.851 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.852 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.853 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.854 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.855 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.856 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.857 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.858 - (*Apply_Method ("PolyEq","complete_square")*)
  15.859 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
  15.860 -
  15.861 -"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
  15.862 -"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
  15.863 -"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
  15.864 - val fmz = ["equality (-16 + 4*x + 2*x^^^2 = 0)",
  15.865 - 	    "solveFor x","solutions L"];
  15.866 - val (dI',pI',mI') =
  15.867 -     ("PolyEq",["degree_2","expanded","univariate","equation"],
  15.868 -      ["PolyEq","complete_square"]);
  15.869 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.870 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.871 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.872 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.873 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.874 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.875 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.876 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.877 - (*Apply_Method ("PolyEq","complete_square")*)
  15.878 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.879 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.880 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.881 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.882 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.883 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.884 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.885 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.886 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.887 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.888 -(* FIXXXXME n1.,
  15.889 - case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -4]")) => () TODO
  15.890 -	 | _ => error "polyeq.sml: diff.behav. in [x = 2, x = -4]";
  15.891 -*)
  15.892 -
  15.893 -"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
  15.894 -"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
  15.895 -"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
  15.896 - val fmz = ["equality (a*b - (a+b)*x + x^^^2 = 0)",
  15.897 - 	    "solveFor x","solutions L"];
  15.898 - val (dI',pI',mI') =
  15.899 -     ("PolyEq",["degree_2","expanded","univariate","equation"],
  15.900 -      ["PolyEq","complete_square"]);
  15.901 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.902 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.903 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.904 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.905 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.906 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.907 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.908 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.909 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.910 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.911 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.912 -
  15.913 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.914 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.915 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.916 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.917 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.918 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.919 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.920 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
  15.921 -(*WN.2.5.03 TODO FIXME Matthias ?
  15.922 - case f of 
  15.923 -     Form' 
  15.924 -	 (FormKF 
  15.925 -	      (~1,EdUndef,0,Nundef,
  15.926 -	       "[x = (a + b) / 2 + -1 * sqrt ((a + b) ^^^ 2 / 2 ^^^ 2 - a * b),\n x = (a + b) / 2 + sqrt ((a + b) ^^^ 2 / 2 ^^^ 2 - a * b)]")) 
  15.927 -	 => ()
  15.928 -   | _ => error "polyeq.sml: diff.behav. in a*b - (a+b)*x + x^^^2 = 0";
  15.929 - this will be simplified [x = a, x = b] to by Factor.ML*)
  15.930 -
  15.931 -
  15.932 -"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
  15.933 -"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
  15.934 -"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
  15.935 - val fmz = ["equality (-64 + x^^^2 = 0)",(*Schalk 2, S.66 Nr.1.a~*)
  15.936 - 	    "solveFor x","solutions L"];
  15.937 - val (dI',pI',mI') =
  15.938 -     ("PolyEq",["degree_2","expanded","univariate","equation"],
  15.939 -      ["PolyEq","complete_square"]);
  15.940 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.941 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.942 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.943 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.944 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.945 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.946 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.947 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.948 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.949 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.950 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.951 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.952 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.953 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
  15.954 -(*WN.2.5.03 TODO "[x = sqrt (0 - -64), x = -1 * sqrt (0 - -64)]"
  15.955 - case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 8, x = -8]")) => ()
  15.956 -	 | _ => error "polyeq.sml: diff.behav. in [x = 8, x = -8]";
  15.957 -*)
  15.958 -
  15.959 -"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
  15.960 -"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
  15.961 -"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
  15.962 - val fmz = ["equality (-147 + 3*x^^^2 = 0)",(*Schalk 2, S.66 Nr.1.b*)
  15.963 - 	    "solveFor x","solutions L"];
  15.964 - val (dI',pI',mI') =
  15.965 -     ("PolyEq",["degree_2","expanded","univariate","equation"],
  15.966 -      ["PolyEq","complete_square"]);
  15.967 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.968 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.969 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.970 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.971 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.972 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.973 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.974 - val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.975 - val (p,_,f,nxt,_,pt) = me nxt p [] pt;
  15.976 -(*WN.2.5.03 TODO "[x = sqrt (0 - -49), x = -1 * sqrt (0 - -49)]"
  15.977 - case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 7, x = -7]")) => ()
  15.978 -	 | _ => error "polyeq.sml: diff.behav. in [x = 7, x = -7]";
  15.979 -*)
  15.980 -if f2str f = "[x = sqrt (0 - -49), x = -1 * sqrt (0 - -49)]" then ()
  15.981 -else error "polyeq.sml CORRECTED?behav. in [x = 7, x = -7]";
  15.982 -
  15.983 -
  15.984 -"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
  15.985 -"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
  15.986 -"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
  15.987 -(*EP-17 Schalk_I_p86_n5*)
  15.988 -val fmz = ["equality ((3::real)*x - 1 - (5*x - (2 - 4*x)) = -11)","solveFor x","solutions L"];
  15.989 -(* refine fmz ["univariate","equation"];
  15.990 -*)
  15.991 -val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
  15.992 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
  15.993 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  15.994 -(* val nxt =
  15.995 -  ("Model_Problem",
  15.996 -   Model_Problem ["normalise","polynomial","univariate","equation"])
  15.997 -  : string * tac*)
  15.998 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
  15.999 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1000 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1001 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1002 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1003 -(* val nxt =
 15.1004 -  ("Subproblem",
 15.1005 -   Subproblem ("PolyEq",["polynomial","univariate","equation"]))
 15.1006 -  : string * tac *)
 15.1007 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1008 -(*val nxt =
 15.1009 -  ("Model_Problem",
 15.1010 -   Model_Problem ["degree_1","polynomial","univariate","equation"])
 15.1011 -  : string * tac *)
 15.1012 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1013 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1014 -
 15.1015 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1016 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1017 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1018 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1019 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1020 -case f of FormKF "[x = 2]" => ()
 15.1021 -	 | _ => error "polyeq.sml: diff.behav. in [x = 2]";
 15.1022 -
 15.1023 -
 15.1024 -"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
 15.1025 -"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
 15.1026 -"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
 15.1027 -(*is in rlang.sml, too*)
 15.1028 -val fmz = ["equality ((x+1)*(x+2) - (3*x - 2)^^^2=(2*x - 1)^^^2+(3*x - 1)*(x+1))",
 15.1029 -	   "solveFor x","solutions L"];
 15.1030 -val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
 15.1031 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
 15.1032 -(*val nxt = ("Refine_Tacitly",Refine_Tacitly ["univariate","equation"])*)
 15.1033 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1034 -(* val nxt =
 15.1035 -  ("Model_Problem",
 15.1036 -   Model_Problem ["normalise","polynomial","univariate","equation"])
 15.1037 -  : string * tac *)
 15.1038 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1039 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1040 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1041 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1042 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1043 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1044 -(* val nxt =
 15.1045 -  ("Subproblem",
 15.1046 -   Subproblem ("PolyEq",["polynomial","univariate","equation"]))
 15.1047 -  : string * tac*)
 15.1048 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1049 -(*val nxt =
 15.1050 -  ("Model_Problem",
 15.1051 -   Model_Problem ["abcFormula","degree_2","polynomial","univariate","equation"])
 15.1052 -  : string * tac*)
 15.1053 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1054 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1055 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1056 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1057 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1058 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1059 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1060 -case f of FormKF "[x = 2 / 15, x = 1]" => ()
 15.1061 -	 | _ => error "polyeq.sml: diff.behav. in [x = 2 / 15, x = 1]";
 15.1062 -
 15.1063 -
 15.1064 -"    -4 + x^^^2 =0     ";
 15.1065 -"    -4 + x^^^2 =0     ";
 15.1066 -"    -4 + x^^^2 =0     ";
 15.1067 -val fmz = ["equality ( -4 + x^^^2 =0)", "solveFor x","solutions L"];
 15.1068 -(* val fmz = ["equality (1 + x^^^2 =0)", "solveFor x","solutions L"];*)
 15.1069 -(*val fmz = ["equality (0 =0)", "solveFor x","solutions L"];*)
 15.1070 -val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
 15.1071 -(*val p = e_pos'; 
 15.1072 -val c = []; 
 15.1073 -val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
 15.1074 -val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
 15.1075 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
 15.1076 -
 15.1077 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1078 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1079 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1080 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1081 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1082 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1083 -val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
 15.1084 -case f of FormKF "[x = 2, x = -2]" => ()
 15.1085 -	 | _ => error "polyeq.sml: diff.behav. in [x = 2, x = -2]";
 15.1086 -
 15.1087 -"----------------- polyeq.sml end ------------------";
 15.1088 -
 15.1089 -(*Punkte aus dem TestBericht, die ich in rlang.sml nicht zuordnen konnte:*)
 15.1090 -(*WN.19.3.03 ---v-*)
 15.1091 -(*3(b)*)val (bdv,v) = (str2term "''bdv''", str2term "R1");
 15.1092 -val t = str2term "-1 * (R * R2) + R2 * R1 + -1 * (R * R1) = 0";
 15.1093 -val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
 15.1094 -term2str t';
 15.1095 -"-1 * R * R2 + (R2 + -1 * R) * R1 = 0";
 15.1096 -(*WN.19.3.03 ---^-*)
 15.1097 -
 15.1098 -(*3(c)*)val (bdv,v) = (str2term "bdv", str2term "p");
 15.1099 -val t = str2term "y ^^^ 2 + -2 * (x * p) = 0";
 15.1100 -val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
 15.1101 -term2str t';
 15.1102 -"y ^^^ 2 + -2 * x * p = 0";
 15.1103 -
 15.1104 -(*3(d)*)val (bdv,v) = (str2term "''bdv''", str2term "x2");
 15.1105 -val t = str2term 
 15.1106 -"A + x1 * (y3 * (1 / 2)) + x3 * (y2 * (1 / 2)) + -1 * (x1 * (y2 * (1 / 2))) + -1 * (x3 * (y1 * (1 / 2 ))) + y1 * (1 / 2 * x2) + -1 * (y3 * (1 / 2 * x2)) = 0";
 15.1107 -val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
 15.1108 -term2str t';
 15.1109 -"A + x1 * y3 * (1 / 2) + x3 * y2 * (1 / 2) + - x1 * y2 * (1 / 2) + - x3 * y1 * (1 / 2) + (y1 * (1 / 2) + - y3 * (1 / 2)) * x2 = 0";
 15.1110 -val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_ratpoly_in t;
 15.1111 -term2str t';
 15.1112 -"A + x1 * y3 * (1 / 2) + x3 * y2 * (1 / 2) + -1 * x1 * y2 * (1 / 2) + -1 * x3 * y1 * (1 / 2) + (y1 * (1 / 2) + -1 * y3 * (1 / 2)) * x2 = 0";
 15.1113 -
 15.1114 -(*3(e)*)val (bdv,v) = (str2term "bdv", str2term "a");
 15.1115 -val t = str2term 
 15.1116 -"A ^^^ 2 + c ^^^ 2 * (c / d) ^^^ 2 + (-4 * (c / d) ^^^ 2) * a ^^^ 2 = 0";
 15.1117 -val NONE = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
 15.1118 -(*die _unsichtbare_ Klammern sind genau wie gew"unscht*)
 15.1119 -
 15.1120 -
 15.1121 -val t = str2term "(x + 1) * (x + 2) - (3 * x - 2) ^^^ 2 - ((2 * x - 1) ^^^ 2 + (3 * x - 1) * (x + 1)) = 0";
 15.1122 -trace_rewrite:=true;
 15.1123 -rewrite_set_ thy false expand_binoms t;
 15.1124 -trace_rewrite:=false;
 15.1125 -
 15.1126 -
 15.1127 -"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
 15.1128 -"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
 15.1129 -"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
 15.1130 -reset_states ();
 15.1131 -CalcTree
 15.1132 -[(["equality ((3::real)*x - 1 - (5*x - (2 - 4*x)) = -11)","solveFor x","solutions L"], 
 15.1133 -  ("PolyEq",["univariate","equation"],["no_met"]))];
 15.1134 -Iterator 1;
 15.1135 -moveActiveRoot 1;
 15.1136 -autoCalculate 1 CompleteCalc;
 15.1137 -val ((pt,p),_) = get_calc 1; show_pt pt;
 15.1138 -interSteps 1 ([1],Res)
 15.1139 -(*BEFORE Isabelle2002 --> 2011: <ERROR> no Rewrite_Set... </ERROR> ?see fun prep_rls?*);
 15.1140 -
 15.1141 -"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
 15.1142 -"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
 15.1143 -"----------- rls d2_polyeq_bdv_only_simplify ---------------------";
 15.1144 -val t = str2term "-6 * x + 5 * x ^^^ 2 = (0::real)";
 15.1145 -val subst = [(str2term "(bdv::real)", str2term "(x::real)")];
 15.1146 -val SOME (t''''', _) = rewrite_set_inst_ thy true subst d2_polyeq_bdv_only_simplify t;
 15.1147 -(* steps in rls d2_polyeq_bdv_only_simplify:*)
 15.1148 -
 15.1149 -(*-6 * x + 5 * x ^ 2 = 0 : Rewrite_Inst (["(''bdv'',x)"],("d2_prescind1","")) --> x * (-6 + 5 * x) = 0*)
 15.1150 -t |> term2str; t |> atomty;
 15.1151 -val thm = num_str @{thm d2_prescind1};
 15.1152 -thm |> Thm.prop_of |> term2str; thm |> Thm.prop_of |> atomty;
 15.1153 -val SOME (t', _) = rewrite_inst_ thy e_rew_ord e_rls true subst thm t; term2str t';
 15.1154 -
 15.1155 -(*x * (-6 + 5 * x) = 0   : Rewrite_Inst (["(''bdv'',x)"],("d2_reduce_equation1","")) 
 15.1156 -                                                                        --> x = 0 | -6 + 5 * x = 0*)
 15.1157 -t' |> term2str; t' |> atomty;
 15.1158 -val thm = num_str @{thm d2_reduce_equation1};
 15.1159 -thm |> Thm.prop_of |> term2str; thm |> Thm.prop_of |> atomty;
 15.1160 -val SOME (t'', _) = rewrite_inst_ thy e_rew_ord e_rls true subst thm t'; term2str t'';
 15.1161 -(* NONE with d2_reduce_equation1:   "(bdv*(a +b*bdv)=0) = ((bdv=0)|(a+b*bdv=0))"
 15.1162 -   instead   d2_reduce_equation1:   "(bdv*(a +b*bdv)=0) = ((bdv=0)|(a+b*bdv=(0::real)))"
 15.1163 -*)
 15.1164 -if term2str t'' = "x = 0 \<or> -6 + 5 * x = 0" then ()
 15.1165 -else error "rls d2_polyeq_bdv_only_simplify broken";
    16.1 --- a/test/Tools/isac/Knowledge/rateq.sml	Tue Sep 17 10:25:24 2019 +0200
    16.2 +++ b/test/Tools/isac/Knowledge/rateq.sml	Wed Sep 18 12:15:59 2019 +0200
    16.3 @@ -8,8 +8,10 @@
    16.4  "-----------------------------------------------------------------";
    16.5  "------------ pbl: rational, univariate, equation ----------------";
    16.6  "------------ solve (1/x = 5, x) by me ---------------------------";
    16.7 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
    16.8  "------------ S.68, Bsp.: 40, ((x)/(x - 8) + (x - 8)/(x) = 26/5)--";
    16.9  "------------ x / (x ^ 2 - 6 * x + 9) - 1 / (x ^ 2 - 3 * x) = 1 /x";
   16.10 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   16.11  "-----------------------------------------------------------------";
   16.12  "-----------------------------------------------------------------";
   16.13  
   16.14 @@ -77,7 +79,6 @@
   16.15  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.16  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.17  (*val nxt = Apply_Method ["PolyEq", "normalise_poly"])*)
   16.18 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   16.19  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.20  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.21  (* val nxt = (_,Subproblem ("PolyEq",["polynomial","univariate","equation"]=======*)
   16.22 @@ -170,7 +171,6 @@
   16.23  then case nxt of ("End_Proof'", End_Proof') => ()
   16.24    | _ => error "rateq.sml: new behaviour: [x = 1 / 5] 1"
   16.25  else error "rateq.sml: new behaviour: [x = 1 / 5] 2";
   16.26 -(*-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   16.27  
   16.28  "------------ S.68, Bsp.: 40, ((x)/(x - 8) + (x - 8)/(x) = 26/5)--";
   16.29  "------------ S.68, Bsp.: 40, ((x)/(x - 8) + (x - 8)/(x) = 26/5)--";
   16.30 @@ -195,6 +195,17 @@
   16.31  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.32  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.33  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.34 +
   16.35 +if p = ([4, 3], Pbl) then ()
   16.36 +else
   16.37 +  (case nxt of
   16.38 +    ("Add_Given", Add_Given "solveFor x") =>
   16.39 +      (case f of
   16.40 +        PpcKF (Problem [], {Given = [Incompl "solveFor", Correct "equality (320 + 128 * x + -16 * x ^^^ 2 = 0)"], ...}) => ()
   16.41 +      | _ => error ("S.68, Bsp.: 40 PblObj changed"))
   16.42 +  | _ => error ("S.68, Bsp.: 40 changed nxt =" ^ tac2str (snd nxt)));
   16.43 +
   16.44 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   16.45  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.46  (* ("Subproblem", Subproblem ("PolyEq",["polynomial","univariate","equation"])) *)
   16.47  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.48 @@ -207,13 +218,9 @@
   16.49  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.50  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.51  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.52 -(*============ inhibit exn WN120316 ==============================================
   16.53 -if mout2str(f) = "Form' FormKF (~1,EdUndef,0,Nundef,([x = -2, x = 10])" then() 
   16.54 -else  error "rateq.sml: new behaviour: [x = -2, x = 10]";
   16.55 -(*WN120317.TODO dropped rateq*)
   16.56 -============ inhibit exn WN120316 ==============================================*)
   16.57 -if f2str f = "[]" then () 
   16.58 +if p = ([], Res) andalso f2str f = "[]" then () 
   16.59  else error "rateq.sml: new behaviour: [x = -2, x = 10]";
   16.60 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   16.61  
   16.62  "------------ x / (x ^ 2 - 6 * x + 9) - 1 / (x ^ 2 - 3 * x) = 1 /x";
   16.63  "------------ x / (x ^ 2 - 6 * x + 9) - 1 / (x ^ 2 - 3 * x) = 1 /x";
   16.64 @@ -241,15 +248,19 @@
   16.65  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.66  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.67  val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.68 -case  f of FormKF "-6 * x + 5 * x ^^^ 2 = 0" => ()
   16.69 -| _ => error "rlang.sml: diff.behav. in Schalk I s.87 Bsp 55b";
   16.70 +if p = ([4, 3], Res) andalso f2str f = "-6 * x + 5 * x ^^^ 2 = 0"
   16.71 +then
   16.72 +  ((case nxt of
   16.73 +    ("Subproblem", Subproblem ("PolyEq", ["bdv_only", "degree_2", "polynomial", "univariate", "equation"])) => ()
   16.74 +  | _ => error ("S.68, Bsp.: 40 nxt =" ^ tac2str (snd nxt))))
   16.75 +else error ""
   16.76 +(*------vvv---- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------* )
   16.77  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.78  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.79  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.80  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.81  case nxt of ("Apply_Method", Apply_Method ["PolyEq", "solve_d2_polyeq_bdvonly_equation"]) => ()
   16.82  | _ => error "55b normalise_poly specification broken 2";
   16.83 -(*------vvv---- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   16.84  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.85  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.86  val (p,_,f,nxt,_,pt) = me nxt p [1] pt; val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
   16.87 @@ -320,5 +331,5 @@
   16.88    then case nxt of ("End_Proof'", End_Proof') => ()
   16.89      | _ => error "rlang.sml: diff.behav. in  Schalk I s.87 Bsp 55b [x = 6 / 5] 1"
   16.90    else error "rlang.sml: diff.behav. in  Schalk I s.87 Bsp 55b [x = 6 / 5] 2";
   16.91 -(*-----^^^----- exception Size raised (line 169 of "./basis/LibrarySupport.sml")-------------*)
   16.92 +( *-----^^^----- exception Size raised !!!!! WITH !!!!! ML_system_64 = "true" ----------------*)
   16.93  
    17.1 --- a/test/Tools/isac/Knowledge/rational.sml	Tue Sep 17 10:25:24 2019 +0200
    17.2 +++ b/test/Tools/isac/Knowledge/rational.sml	Wed Sep 18 12:15:59 2019 +0200
    17.3 @@ -438,7 +438,7 @@
    17.4                                  (* required for applying thms in rewriting ^^^^*)
    17.5  (* we get details from here..*)
    17.6  
    17.7 -Celem.trace_rewrite := true;
    17.8 +trace_rewrite := false;
    17.9  val SOME (t', _) = Rewrite.rewrite_set_ thy true add_fractions_p t;
   17.10  Celem.trace_rewrite := false;
   17.11  (* trace_rewrite:
   17.12 @@ -481,7 +481,7 @@
   17.13                                      (*AA :: real*)
   17.14  (* we get details from here..*)
   17.15  
   17.16 -Celem.trace_rewrite := true;
   17.17 +Celem.trace_rewrite := false;
   17.18  val SOME (t', _) = Rewrite.rewrite_set_ thy true add_fractions_p t;
   17.19  Celem.trace_rewrite := false;
   17.20  (* trace_rewrite:
   17.21 @@ -1807,8 +1807,7 @@
   17.22  val t = str2term 
   17.23    ("((a^^^2 - b^^^2)/(2*a*b) + 2*a*b/(a^^^2 - b^^^2))  /  ((a^^^2 + b^^^2)/(2*a*b) + 1)    / " ^
   17.24     "((a^^^2 + b^^^2)^^^2  /  (a + b)^^^2)");
   17.25 -(*
   17.26 -trace_rewrite := true;
   17.27 +(* trace_rewrite := true;
   17.28  rewrite_set_ thy false norm_Rational t;
   17.29  :
   17.30  ####  rls: cancel_p on: (2 * (a ^^^ 7 * b) + 4 * (a ^^^ 6 * b ^^^ 2) + 6 * (a ^^^ 5 * b ^^^ 3) +
   17.31 @@ -1831,8 +1830,7 @@
   17.32  "-------- Schalk I, p.70 Nr. 480a: terms are exploding ?!?";
   17.33  val t = str2term ("(1/x + 1/y + 1/z)  /  (1/x - 1/y - 1/z)  /  " ^
   17.34    "(2*x^^^2 / (x^^^2 - z^^^2) / (x / (x + z)  +  x / (x - z)))");
   17.35 -(*
   17.36 -trace_rewrite := true;
   17.37 +(* trace_rewrite := true;
   17.38  rewrite_set_ thy false norm_Rational t;
   17.39  :
   17.40  ####  rls: cancel_p on: (2 * (x ^^^ 6 * (y ^^^ 2 * z)) + 2 * (x ^^^ 6 * (y * z ^^^ 2)) +
    18.1 --- a/test/Tools/isac/Knowledge/rlang.sml	Tue Sep 17 10:25:24 2019 +0200
    18.2 +++ b/test/Tools/isac/Knowledge/rlang.sml	Wed Sep 18 12:15:59 2019 +0200
    18.3 @@ -50,8 +50,7 @@
    18.4  }
    18.5  *)
    18.6  
    18.7 -(* Compiler.Control.Print.printDepth:=5; (*4 default*) 
    18.8 -trace_rewrite:=true;
    18.9 +(* trace_rewrite:=true;
   18.10   trace_rewrite:=false;
   18.11   refine fmz ["univariate","equation"];
   18.12  *)
    19.1 --- a/test/Tools/isac/Knowledge/rooteq.sml	Tue Sep 17 10:25:24 2019 +0200
    19.2 +++ b/test/Tools/isac/Knowledge/rooteq.sml	Wed Sep 18 12:15:59 2019 +0200
    19.3 @@ -5,7 +5,6 @@
    19.4  
    19.5   Compiler.Control.Print.printDepth:=10; (*4 default*)
    19.6   Compiler.Control.Print.printDepth:=5; (*4 default*)
    19.7 -trace_rewrite := false;
    19.8  *)
    19.9  "----------- rooteq.sml begin--------";
   19.10  "--------------(1/sqrt(x)=5)---------------------------------------";
    20.1 --- a/test/Tools/isac/MathEngine/solve.sml	Tue Sep 17 10:25:24 2019 +0200
    20.2 +++ b/test/Tools/isac/MathEngine/solve.sml	Wed Sep 18 12:15:59 2019 +0200
    20.3 @@ -9,9 +9,6 @@
    20.4  uses from Poly.ML: Rls make_polynomial, Rls expand_binom 
    20.5  *)
    20.6  
    20.7 -(*default_print_depth 5;*)
    20.8 -trace_rewrite := false;
    20.9 -trace_script := false;
   20.10  "-----------------------------------------------------------------";
   20.11  "table of contents -----------------------------------------------";
   20.12  "-----------------------------------------------------------------";
    21.1 --- a/test/Tools/isac/OLDTESTS/root-equ.sml	Tue Sep 17 10:25:24 2019 +0200
    21.2 +++ b/test/Tools/isac/OLDTESTS/root-equ.sml	Wed Sep 18 12:15:59 2019 +0200
    21.3 @@ -1,7 +1,4 @@
    21.4 -(* use"../systest/root-equ.sml";
    21.5 -   use"systest/root-equ.sml";
    21.6 -   use"root-equ.sml";
    21.7 -   trace_rewrite:= true;
    21.8 +(* trace_rewrite:= true;
    21.9     trace_rewrite:= false;
   21.10  
   21.11     method "sqrt-equ-test", _NOT_ "square-equation" 
   21.12 @@ -549,7 +546,7 @@
   21.13   val t = str2term "sqrt (9 + 4 * x) = sqrt x + sqrt (5 + x)";
   21.14   val SOME (t',asm) = rewrite_set_ thy false rls t;
   21.15   term2str t';
   21.16 - trace_rewrite:=true; 
   21.17 +> trace_rewrite:=true; 
   21.18   trace_rewrite:=false; 
   21.19  *)
   21.20  
    22.1 --- a/test/Tools/isac/OLDTESTS/scriptnew.sml	Tue Sep 17 10:25:24 2019 +0200
    22.2 +++ b/test/Tools/isac/OLDTESTS/scriptnew.sml	Wed Sep 18 12:15:59 2019 +0200
    22.3 @@ -402,9 +402,9 @@
    22.4        "[| 0 <= ?a; 0 <= ?b |] ==> (sqrt ?a = ?b) = (?a = ?b ^^^ 2)"))*)
    22.5  get_assumptions_ pt p;
    22.6  (*it = [] : string list;*)
    22.7 -trace_rewrite:=true;
    22.8 +trace_rewrite := false;
    22.9  val (p,_,f,nxt,_,pt) = me nxt p c pt;
   22.10 -trace_rewrite:=false;
   22.11 +trace_rewrite := false;
   22.12  val asms = get_assumptions_ pt p;
   22.13  if asms = [(str2term "0 <= 9 + 4 * x",[1]),
   22.14  	   (str2term "0 <= x",[1]),
    23.1 --- a/test/Tools/isac/ProgLang/rewrite.sml	Tue Sep 17 10:25:24 2019 +0200
    23.2 +++ b/test/Tools/isac/ProgLang/rewrite.sml	Wed Sep 18 12:15:59 2019 +0200
    23.3 @@ -251,7 +251,7 @@
    23.4  (writeln o term2str) t;
    23.5  if term2str t = "L * c_3 + c_4 = 0 + -1 * (-1 * (q_0 * L ^^^ 2) / 2)"
    23.6  then () else error "rewrite.sml rewrite_inst_ bdvs";
    23.7 -trace_rewrite:=true;
    23.8 +> trace_rewrite:=true;
    23.9  trace_rewrite:=false;--------------------------------------------*)
   23.10  
   23.11  
   23.12 @@ -427,7 +427,7 @@
   23.13                            Const ("HOL.True", _))) => ()
   23.14    | _ => error "rewrite.sml diff. eval_is_multUnordered 2b";
   23.15  
   23.16 -tracing "----- begin rewrite x^^^2 * x ---"; trace_rewrite := true;
   23.17 +tracing "----- begin rewrite x^^^2 * x ---"; trace_rewrite := false;
   23.18  val SOME (t', _) = rewrite_set_ thy true order_mult_ t;
   23.19  tracing "----- end rewrite x^^^2 * x ---"; trace_rewrite := false;
   23.20  if term2str t' = "x * x ^^^ 2" then ()
   23.21 @@ -518,7 +518,7 @@
   23.22  "----------- repair NO asms from rls RatEq_eliminate ----";
   23.23  "----------- repair NO asms from rls RatEq_eliminate ----";
   23.24  val t = str2term "1 / x = 5";
   23.25 -trace_rewrite := true;
   23.26 +trace_rewrite := false;
   23.27  val SOME (t', asm) = rewrite_ thy e_rew_ord e_rls true @{thm rat_mult_denominator_right} t;
   23.28  term2str t' = "1 = 5 * x";
   23.29  terms2str asm = "[\"x ~= 0\"]";
    24.1 --- a/test/Tools/isac/Test_Isac.thy	Tue Sep 17 10:25:24 2019 +0200
    24.2 +++ b/test/Tools/isac/Test_Isac.thy	Wed Sep 18 12:15:59 2019 +0200
    24.3 @@ -225,11 +225,12 @@
    24.4    ML_file "Knowledge/root.sml"
    24.5    ML_file "Knowledge/lineq.sml"
    24.6  (*ML_file "Knowledge/rooteq.sml"    some complicated equations not recovered from 2002 *)
    24.7 -  ML_file "Knowledge/rateq.sml"   (*some complicated.eq...     exception Size---Test_Isac_Short*)
    24.8 +  ML_file "Knowledge/rateq.sml"   (*some co.eq... exception Size WITH ML..64----Test_Isac_Short*)
    24.9    ML_file "Knowledge/rootrat.sml"
   24.10    ML_file "Knowledge/rootrateq.sml"(*ome complicated equations not recovered from 2002 *)
   24.11 -  ML_file "Knowledge/partial_fractions.sml"                  (*exception Size---Test_Isac_Short*)
   24.12 -(*ML_file "Knowledge/polyeq.sml"             exception Size raised "./basis/LibrarySupport.sml")*)
   24.13 +  ML_file "Knowledge/partial_fractions.sml"    (* exception Size WITH ML..64----Test_Isac_Short*)
   24.14 +  ML_file "Knowledge/polyeq-1.sml"
   24.15 +  ML_file "Knowledge/polyeq-2.sml"                           (*exception Size---Test_Isac_Short*)
   24.16  (*ML_file "Knowledge/rlang.sml"     much to clean up, similar tests in other files     *)
   24.17    ML_file "Knowledge/calculus.sml"
   24.18    ML_file "Knowledge/trig.sml"
   24.19 @@ -241,12 +242,13 @@
   24.20    ML_file "Knowledge/polyminus.sml"
   24.21    ML_file "Knowledge/vect.sml"
   24.22    ML_file "Knowledge/diffapp.sml"        (* postponed to dev. specification | TP-prog. *)
   24.23 -  ML_file "Knowledge/biegelinie-1.sml"     (* exception Size raised "./basis/LibrarySupport.sml"*)
   24.24 -(*ML_file "Knowledge/biegelinie-2.sml" since Isabelle2017: "exception Size raised" *)
   24.25 -  ML_file "Knowledge/biegelinie-3.sml"     (* exception Size raised "./basis/LibrarySupport.sml"*)
   24.26 +  ML_file "Knowledge/biegelinie-1.sml"
   24.27 +  ML_file "Knowledge/biegelinie-2.sml"         (* exception Size WITH ML..64----Test_Isac_Short*)
   24.28 +  ML_file "Knowledge/biegelinie-3.sml"         (* exception Size WITH ML..64----Test_Isac_Short*)
   24.29 +  ML_file "Knowledge/biegelinie-4.sml"         (* exception Size WITH ML..64----Test_Isac_Short*)
   24.30    ML_file "Knowledge/algein.sml"
   24.31    ML_file "Knowledge/diophanteq.sml"
   24.32 -  ML_file "Knowledge/inverse_z_transform.sml"                (*exception Size---Test_Isac_Short *)
   24.33 +  ML_file "Knowledge/inverse_z_transform.sml"  (* exception Size WITH ML..64----Test_Isac_Short*)
   24.34    ML_file "Knowledge/inssort.sml"
   24.35    ML_file "Knowledge/isac.sml"
   24.36    ML_file "Knowledge/build_thydata.sml"