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"