neuper@37906
|
1 |
(* testexamples for PolyEq, poynomial equations and equational systems
|
neuper@42248
|
2 |
author: Richard Lang 2003
|
neuper@37906
|
3 |
(c) due to copyright terms
|
neuper@37906
|
4 |
WN030609: some expls dont work due to unfinished handling of 'expanded terms';
|
neuper@37906
|
5 |
others marked with TODO have to be checked, too.
|
neuper@37906
|
6 |
*)
|
neuper@37906
|
7 |
|
neuper@37906
|
8 |
"-----------------------------------------------------------------";
|
neuper@37906
|
9 |
"table of contents -----------------------------------------------";
|
neuper@42319
|
10 |
(*WN060608 some ----- are not in this table.
|
neuper@42319
|
11 |
WN111014.TODO missing checks*)
|
neuper@37906
|
12 |
"-----------------------------------------------------------------";
|
neuper@37906
|
13 |
"----------- tests on predicates in problems ---------------------";
|
neuper@37906
|
14 |
"----------- test matching problems --------------------------0---";
|
neuper@42248
|
15 |
"----------- lin.eq degree_0 -------------------------------------";
|
neuper@42248
|
16 |
"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
|
neuper@37906
|
17 |
"----------- (-8 - 2*x + x^^^2 = 0), (*Schalk 2, S.67 Nr.31.b----";
|
neuper@42318
|
18 |
"----------- (-8 - 2*x + x^^^2 = 0), by rewriting ---------------";
|
neuper@37906
|
19 |
"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
|
neuper@37906
|
20 |
"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
|
neuper@37906
|
21 |
"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
|
neuper@37906
|
22 |
"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
|
neuper@37906
|
23 |
"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
|
neuper@37906
|
24 |
"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
|
neuper@37906
|
25 |
"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
|
neuper@37906
|
26 |
"-----------------------------------------------------------------";
|
neuper@37906
|
27 |
"-----------------------------------------------------------------";
|
neuper@37906
|
28 |
"-----------------------------------------------------------------";
|
neuper@37906
|
29 |
|
neuper@37906
|
30 |
"----------- tests on predicates in problems ---------------------";
|
neuper@37906
|
31 |
"----------- tests on predicates in problems ---------------------";
|
neuper@37906
|
32 |
"----------- tests on predicates in problems ---------------------";
|
neuper@37906
|
33 |
(*
|
neuper@37906
|
34 |
trace_rewrite:=true;
|
neuper@37906
|
35 |
trace_rewrite:=false;
|
neuper@37906
|
36 |
*)
|
neuper@37906
|
37 |
val t1 = (term_of o the o (parse thy)) "lhs (-8 - 2*x + x^^^2 = 0)";
|
neuper@42248
|
38 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t1;
|
neuper@37906
|
39 |
if ((term2str t) = "-8 - 2 * x + x ^^^ 2") then ()
|
neuper@38031
|
40 |
else error "polyeq.sml: diff.behav. in lhs";
|
neuper@37906
|
41 |
|
neuper@37906
|
42 |
val t2 = (term_of o the o (parse thy)) "(-8 - 2*x + x^^^2) is_expanded_in x";
|
neuper@42248
|
43 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t2;
|
neuper@42248
|
44 |
if (term2str t) = "True" then ()
|
neuper@38031
|
45 |
else error "polyeq.sml: diff.behav. 1 in is_expended_in";
|
neuper@37906
|
46 |
|
neuper@37906
|
47 |
val t0 = (term_of o the o (parse thy)) "(sqrt(x)) is_poly_in x";
|
neuper@42248
|
48 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t0;
|
neuper@42248
|
49 |
if (term2str t) = "False" then ()
|
neuper@38031
|
50 |
else error "polyeq.sml: diff.behav. 2 in is_poly_in";
|
neuper@37906
|
51 |
|
neuper@37906
|
52 |
val t3 = (term_of o the o (parse thy)) "(-8 + (-1)*2*x + x^^^2) is_poly_in x";
|
neuper@42248
|
53 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
|
neuper@42248
|
54 |
if (term2str t) = "True" then ()
|
neuper@38031
|
55 |
else error "polyeq.sml: diff.behav. 3 in is_poly_in";
|
neuper@37906
|
56 |
|
neuper@37906
|
57 |
val t4 = (term_of o the o (parse thy)) "(lhs (-8 + (-1)*2*x + x^^^2 = 0)) is_expanded_in x";
|
neuper@42248
|
58 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
|
neuper@42248
|
59 |
if (term2str t) = "True" then ()
|
neuper@38031
|
60 |
else error "polyeq.sml: diff.behav. 4 in is_expended_in";
|
neuper@37906
|
61 |
|
neuper@37906
|
62 |
|
neuper@37906
|
63 |
val t6 = (term_of o the o (parse thy)) "(lhs (-8 - 2*x + x^^^2 = 0)) is_expanded_in x";
|
neuper@42248
|
64 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t6;
|
neuper@42248
|
65 |
if (term2str t) = "True" then ()
|
neuper@38031
|
66 |
else error "polyeq.sml: diff.behav. 5 in is_expended_in";
|
neuper@37906
|
67 |
|
neuper@37906
|
68 |
val t3 = (term_of o the o (parse thy))"((-8 - 2*x + x^^^2) has_degree_in x) = 2";
|
neuper@42248
|
69 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
|
neuper@42248
|
70 |
if (term2str t) = "True" then ()
|
neuper@38031
|
71 |
else error "polyeq.sml: diff.behav. in has_degree_in_in";
|
neuper@37906
|
72 |
|
neuper@37906
|
73 |
val t3 = (term_of o the o (parse thy)) "((sqrt(x)) has_degree_in x) = 2";
|
neuper@42248
|
74 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t3;
|
neuper@42248
|
75 |
if (term2str t) = "False" then ()
|
neuper@38031
|
76 |
else error "polyeq.sml: diff.behav. 6 in has_degree_in_in";
|
neuper@37906
|
77 |
|
neuper@37906
|
78 |
val t4 = (term_of o the o (parse thy))
|
neuper@37906
|
79 |
"((-8 - 2*x + x^^^2) has_degree_in x) = 1";
|
neuper@42248
|
80 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t4;
|
neuper@42248
|
81 |
if (term2str t) = "False" then ()
|
neuper@38031
|
82 |
else error "polyeq.sml: diff.behav. 7 in has_degree_in_in";
|
neuper@37906
|
83 |
|
neuper@37906
|
84 |
val t5 = (term_of o the o (parse thy))
|
neuper@37906
|
85 |
"((-8 - 2*x + x^^^2) has_degree_in x) = 2";
|
neuper@42248
|
86 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_prls t5;
|
neuper@42248
|
87 |
if (term2str t) = "True" then ()
|
neuper@38031
|
88 |
else error "polyeq.sml: diff.behav. 8 in has_degree_in_in";
|
neuper@37906
|
89 |
|
neuper@42248
|
90 |
"----------- test matching problems --------------------------0---";
|
neuper@42248
|
91 |
"----------- test matching problems --------------------------0---";
|
neuper@42248
|
92 |
"----------- test matching problems --------------------------0---";
|
neuper@42248
|
93 |
val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@42248
|
94 |
if match_pbl fmz (get_pbt ["expanded","univariate","equation"]) =
|
neuper@42248
|
95 |
Matches' {Find = [Correct "solutions L"],
|
neuper@42248
|
96 |
With = [],
|
neuper@42248
|
97 |
Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"],
|
neuper@42248
|
98 |
Where = [Correct "matches (?a = 0) (-8 - 2 * x + x ^^^ 2 = 0)",
|
neuper@42248
|
99 |
Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) is_expanded_in x"],
|
neuper@42248
|
100 |
Relate = []}
|
neuper@42248
|
101 |
then () else error "match_pbl [expanded,univariate,equation]";
|
neuper@37906
|
102 |
|
neuper@42248
|
103 |
if match_pbl fmz (get_pbt ["degree_2","expanded","univariate","equation"]) =
|
neuper@42248
|
104 |
Matches' {Find = [Correct "solutions L"],
|
neuper@42248
|
105 |
With = [],
|
neuper@42248
|
106 |
Given = [Correct "equality (-8 - 2 * x + x ^^^ 2 = 0)", Correct "solveFor x"],
|
neuper@42248
|
107 |
Where = [Correct "lhs (-8 - 2 * x + x ^^^ 2 = 0) has_degree_in x = 2"],
|
neuper@42248
|
108 |
Relate = []} (*before WN110906 was: has_degree_in x =!= 2"]*)
|
neuper@42248
|
109 |
then () else error "match_pbl [degree_2,expanded,univariate,equation]";
|
neuper@37906
|
110 |
|
neuper@42248
|
111 |
"----------- lin.eq degree_0 -------------------------------------";
|
neuper@42248
|
112 |
"----------- lin.eq degree_0 -------------------------------------";
|
neuper@42248
|
113 |
"----------- lin.eq degree_0 -------------------------------------";
|
neuper@37906
|
114 |
"----- d0_false ------";
|
neuper@42248
|
115 |
val fmz = ["equality (1 = (0::real))", "solveFor x", "solutions L"];
|
neuper@37991
|
116 |
val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
|
neuper@37906
|
117 |
["PolyEq","solve_d0_polyeq_equation"]);
|
neuper@42283
|
118 |
(*=== inhibit exn WN110914: declare_constraints doesnt work with num_str ========
|
neuper@42283
|
119 |
TODO: change to "equality (x + -1*x = (0::real))"
|
neuper@42283
|
120 |
and search for an appropriate problem and method.
|
neuper@42283
|
121 |
|
neuper@37906
|
122 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
123 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
124 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
125 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
126 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
127 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
128 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
129 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[]")) => ()
|
neuper@38031
|
130 |
| _ => error "polyeq.sml: diff.behav. in 1 = 0 -> []";
|
neuper@37906
|
131 |
|
neuper@37906
|
132 |
"----- d0_true ------";
|
neuper@42248
|
133 |
val fmz = ["equality (0 = (0::real))", "solveFor x","solutions L"];
|
neuper@37991
|
134 |
val (dI',pI',mI') = ("PolyEq",["degree_0","polynomial","univariate","equation"],
|
neuper@37906
|
135 |
["PolyEq","solve_d0_polyeq_equation"]);
|
neuper@37906
|
136 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
137 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
138 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
139 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
140 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
141 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
142 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
143 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"UniversalList")) => ()
|
neuper@38031
|
144 |
| _ => error "polyeq.sml: diff.behav. in 0 = 0 -> UniversalList";
|
neuper@42272
|
145 |
============ inhibit exn WN110914 ============================================*)
|
neuper@37906
|
146 |
|
neuper@42248
|
147 |
"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
|
neuper@42248
|
148 |
"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
|
neuper@42248
|
149 |
"----------- test thm's d2_pq_formulsxx[_neg]---------------------";
|
neuper@37906
|
150 |
"----- d2_pqformula1 ------!!!!";
|
neuper@42255
|
151 |
val fmz = ["equality (-1/8 + (-1/4)*z + z^^^2 = (0::real))", "solveFor z","solutions L"];
|
neuper@42255
|
152 |
val (dI',pI',mI') =
|
neuper@42255
|
153 |
("Isac", ["pqFormula","degree_2","polynomial","univariate","equation"], ["no_met"]);
|
neuper@37906
|
154 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42255
|
155 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
156 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
157 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
158 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
159 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
160 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
161 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*Apply_Method ["PolyEq", "solve_d2_polyeq_pq_equation"]*)
|
neuper@42255
|
162 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
163 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
164 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
165 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42255
|
166 |
(*[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2] TODO sqrt*)
|
neuper@42255
|
167 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt =..,Check_elementwise "Assumptions")*)
|
neuper@42255
|
168 |
"~~~~~ fun me, args:"; val ((_,tac), (p:pos'), _, (pt:ptree)) = (nxt, p, [], pt);
|
neuper@42255
|
169 |
"~~~~~ fun locatetac, args:"; val (tac, (ptp as (pt, p))) = (tac, (pt, p));
|
neuper@42255
|
170 |
val (mI,m) = mk_tac'_ tac;
|
neuper@42255
|
171 |
val Appl m = applicable_in p pt m;
|
neuper@42255
|
172 |
val Check_elementwise' (trm1, str, (trm2, trms)) = m;
|
neuper@42255
|
173 |
term2str trm1 = "[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2]";
|
neuper@42255
|
174 |
str = "Assumptions";
|
neuper@42255
|
175 |
term2str trm2 = "[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2]";
|
neuper@42255
|
176 |
terms2str trms = "[\"lhs (-1 / 8 + -1 * (1 / 8 + sqrt (9 / 16) / 2) / 4 +\n "^
|
neuper@42255
|
177 |
" (1 / 8 + sqrt (9 / 16) / 2) ^^^ 2 =\n 0) is_poly_in 1 / 8 + sqrt (9 / 16) / 2\","^
|
neuper@42255
|
178 |
"\"lhs (-1 / 8 + -1 * (1 / 8 + sqrt (9 / 16) / 2) / 4 +\n (1 / 8 + sqrt (9 / 16) / 2) ^^^ 2 =\n 0) "^
|
neuper@42255
|
179 |
"has_degree_in 1 / 8 + sqrt (9 / 16) / 2 =\n2\","^
|
neuper@42255
|
180 |
"\"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\","^
|
neuper@42255
|
181 |
"\"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\"]";
|
neuper@42255
|
182 |
(*TODO simplify assumptions (sqrt!) and check ERROR in has_degree_in*);
|
neuper@42255
|
183 |
member op = specsteps mI (*false*);
|
neuper@42255
|
184 |
(*loc_solve_ (mI,m) ptp;
|
neuper@42255
|
185 |
WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
|
neuper@42255
|
186 |
"~~~~~ fun loc_solve_, args:"; val (m, (pt,pos)) = ((mI,m), ptp);
|
neuper@42255
|
187 |
(*solve m (pt, pos);
|
neuper@42255
|
188 |
WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
|
neuper@42255
|
189 |
"~~~~~ fun solve, args:"; val ((mI,m), (pt, po as (p,p_))) = (m, (pt, pos));
|
neuper@42255
|
190 |
e_metID = get_obj g_metID pt (par_pblobj pt p) (*false*);
|
neuper@42255
|
191 |
val thy' = get_obj g_domID pt (par_pblobj pt p);
|
neuper@42255
|
192 |
val (srls, is, sc) = from_pblobj_or_detail' thy' (p,p_) pt;
|
neuper@42255
|
193 |
val d = e_rls;
|
neuper@42255
|
194 |
(*locate_gen (thy',srls) m (pt,(p,p_)) (sc,d) is;
|
neuper@42255
|
195 |
WAS: not-found-in-script: NotLocatable from NasNap (Const ("List...*)
|
neuper@42255
|
196 |
"~~~~~ fun locate_gen, args:"; val ((ts as (thy',srls)), (m:tac_), ((pt,p):ptree * pos'),
|
neuper@42255
|
197 |
(scr as Script (h $ body),d), (ScrState (E,l,a,v,S,b), ctxt)) =
|
neuper@42255
|
198 |
((thy',srls), m ,(pt,(p,p_)) ,(sc,d) ,is); (* locate_gen 2nd pattern *)
|
neuper@42255
|
199 |
val thy = assoc_thy thy';
|
neuper@42255
|
200 |
l = [] orelse ((last_elem o fst) p = 0 andalso snd p = Res) (*false*);
|
neuper@42255
|
201 |
(*WAS val NasApp _ =(astep_up (thy',srls,scr,d) ((E,l,a,v,S,b), [(m,EmptyMout,pt,p,[])]) )
|
neuper@42255
|
202 |
... Assoc ... is correct*)
|
neuper@42387
|
203 |
"~~~~~ and astep_up, args:"; val ((ys as (_,_,_,Script sc,_)), ((E,l,a,v,S,b),ss)) =
|
neuper@42387
|
204 |
((thy',ctxt,srls,scr,d), ((E,l,a,v,S,b), [(m,EmptyMout,pt,p,[])]));
|
neuper@42255
|
205 |
1 < length l (*true*);
|
neuper@42255
|
206 |
val up = drop_last l;
|
neuper@42255
|
207 |
term2str (go up sc);
|
neuper@42255
|
208 |
(go up sc);
|
neuper@42255
|
209 |
(*WAS val NasNap _ = ass_up ys ((E,up,a,v,S,b),ss) (go up sc)
|
neuper@42255
|
210 |
... ???? ... is correct*)
|
neuper@42387
|
211 |
"~~~~~ fun ass_up, args:"; val ((ys as (y,ctxt,s,Script sc,d)), (is as (E,l,a,v,S,b),ss),
|
neuper@42255
|
212 |
(Const ("HOL.Let",_) $ _)) = (ys, ((E,up,a,v,S,b),ss), (go up sc));
|
neuper@42255
|
213 |
val l = drop_last l; (*comes from e, goes to Abs*)
|
neuper@42255
|
214 |
val (Const ("HOL.Let",_) $ e $ (Abs (i,T,body))) = go l sc;
|
neuper@42255
|
215 |
val i = mk_Free (i, T);
|
neuper@42255
|
216 |
val E = upd_env E (i, v);
|
neuper@42255
|
217 |
(*Type error ...: Can't unify _a to pos * pos_ (Incompatible types)*)
|
neuper@42255
|
218 |
val [(tac_, mout, ptree, pos', xxx)] = ss;
|
neuper@42255
|
219 |
val ss = [(tac_, mout, ptree, pos', []:(pos * pos_) list)];
|
neuper@42255
|
220 |
(*WAS val NasApp iss = assy (((y,s),d),Aundef) ((E, l@[R,D], a,v,S,b),ss) body
|
neuper@42255
|
221 |
... Assoc ... is correct*)
|
neuper@42255
|
222 |
"~~~~~ fun assy, args:"; val ((((thy',sr),d),ap), (is as (E,l,a,v,S,b), (m,_,pt,(p,p_),c)::ss), t) =
|
neuper@42255
|
223 |
((((y,s),d),Aundef), ((E, l@[R,D], a,v,S,b),ss), body);
|
neuper@42255
|
224 |
val (a', STac stac) = handle_leaf "locate" thy' sr E a v t
|
neuper@42255
|
225 |
val ctxt = get_ctxt pt (p,p_)
|
neuper@42255
|
226 |
val p' = lev_on p : pos;
|
neuper@42255
|
227 |
(* WAS val NotAss = assod pt d m stac
|
neuper@42255
|
228 |
... Ass ... is correct*)
|
neuper@42255
|
229 |
"~~~~~ fun assod, args:"; val (pt, _, (m as Check_elementwise' (consts,_,(consts_chkd,_))),
|
neuper@42255
|
230 |
(Const ("Script.Check'_elementwise",_) $ consts' $ _)) = (pt, d, m, stac);
|
neuper@42255
|
231 |
term2str consts;
|
neuper@42255
|
232 |
term2str consts';
|
neuper@42255
|
233 |
if consts = consts' (*WAS false*) then () else error "Check_elementwise changed";
|
neuper@42260
|
234 |
(*[z = 1 / 8 + sqrt (9 / 16) / 2, z = 1 / 8 + -1 * sqrt (9 / 16) / 2] TODO sqrt*)
|
neuper@37906
|
235 |
|
neuper@37906
|
236 |
"----- d2_pqformula1_neg ------";
|
neuper@42272
|
237 |
val fmz = ["equality (2 +(-1)*x + x^^^2 = (0::real))", "solveFor x","solutions L"];
|
neuper@37991
|
238 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
239 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
240 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
241 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
242 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
243 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
244 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
245 |
(*### or2list False
|
neuper@37906
|
246 |
([1],Res) False Or_to_List)*)
|
neuper@42272
|
247 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
248 |
(*### or2list False
|
neuper@37906
|
249 |
([2],Res) [] Check_elementwise "Assumptions"*)
|
neuper@42272
|
250 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
251 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
252 |
val asm = get_assumptions_ pt p;
|
neuper@42318
|
253 |
if f = Form' (FormKF (~1,EdUndef,0,Nundef,"[]")) andalso
|
neuper@42318
|
254 |
terms2str asm = "[\"lhs (2 + -1 * x + x ^^^ 2 = 0) is_poly_in x\"," ^
|
neuper@42318
|
255 |
"\"lhs (2 + -1 * x + x ^^^ 2 = 0) has_degree_in x = 2\"]" then ()
|
neuper@38031
|
256 |
else error "polyeq.sml: diff.behav. in 2 +(-1)*x + x^^^2 = 0";
|
neuper@37906
|
257 |
|
neuper@37906
|
258 |
"----- d2_pqformula2 ------";
|
neuper@37906
|
259 |
val fmz = ["equality (-2 +(-1)*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
260 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
261 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@42272
|
262 |
(*val p = e_pos';
|
neuper@37906
|
263 |
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
|
neuper@42272
|
264 |
val (p,_,f,nxt,_,pt) = me (mI,m) p [] EmptyPtree;*)
|
neuper@37906
|
265 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
266 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
267 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
268 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
269 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
270 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
271 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
272 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
273 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
274 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -1]")) => ()
|
neuper@38031
|
275 |
| _ => error "polyeq.sml: diff.behav. in -2 + (-1)*x + x^2 = 0 -> [x = 2, x = -1]";
|
neuper@37906
|
276 |
|
neuper@37906
|
277 |
|
neuper@37906
|
278 |
"----- d2_pqformula2_neg ------";
|
neuper@37906
|
279 |
val fmz = ["equality ( 2 +(-1)*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
280 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
281 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
282 |
(*val p = e_pos'; val c = [];
|
neuper@37906
|
283 |
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
|
neuper@37906
|
284 |
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
|
neuper@37906
|
285 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
286 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
287 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
288 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
289 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
290 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
291 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
292 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
293 |
"TODO 2 +(-1)*x + 1*x^^^2 = 0";
|
neuper@37906
|
294 |
"TODO 2 +(-1)*x + 1*x^^^2 = 0";
|
neuper@37906
|
295 |
"TODO 2 +(-1)*x + 1*x^^^2 = 0";
|
neuper@37906
|
296 |
|
neuper@37906
|
297 |
|
neuper@37906
|
298 |
"----- d2_pqformula3 ------";
|
neuper@37906
|
299 |
(*EP-9*)
|
neuper@37906
|
300 |
val fmz = ["equality (-2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
301 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
302 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
303 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
304 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
305 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
306 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
307 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
308 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
309 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
310 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
311 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
312 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1, x = -2]")) => ()
|
neuper@38031
|
313 |
| _ => error "polyeq.sml: diff.behav. in -2 + x + x^2 = 0-> [x = 1, x = -2]";
|
neuper@37906
|
314 |
|
neuper@37906
|
315 |
"----- d2_pqformula3_neg ------";
|
neuper@37906
|
316 |
val fmz = ["equality ( 2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
317 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
318 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
319 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
320 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
321 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
322 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
323 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
324 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
325 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
326 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
327 |
"TODO 2 + x + x^^^2 = 0";
|
neuper@37906
|
328 |
"TODO 2 + x + x^^^2 = 0";
|
neuper@37906
|
329 |
"TODO 2 + x + x^^^2 = 0";
|
neuper@37906
|
330 |
|
neuper@37906
|
331 |
|
neuper@37906
|
332 |
"----- d2_pqformula4 ------";
|
neuper@37906
|
333 |
val fmz = ["equality (-2 + x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
334 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
335 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
336 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
337 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
338 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
339 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
340 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
341 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
342 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
343 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
344 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
345 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1, x = -2]")) => ()
|
neuper@38031
|
346 |
| _ => error "polyeq.sml: diff.behav. in -2 + x + 1*x^^^2 = 0 -> [x = 1, x = -2]";
|
neuper@37906
|
347 |
|
neuper@37906
|
348 |
"----- d2_pqformula4_neg ------";
|
neuper@37906
|
349 |
val fmz = ["equality ( 2 + x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
350 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
351 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
352 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
353 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
354 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
355 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
356 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
357 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
358 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
359 |
"TODO 2 + x + 1*x^^^2 = 0";
|
neuper@37906
|
360 |
"TODO 2 + x + 1*x^^^2 = 0";
|
neuper@37906
|
361 |
"TODO 2 + x + 1*x^^^2 = 0";
|
neuper@37906
|
362 |
|
neuper@37906
|
363 |
"----- d2_pqformula5 ------";
|
neuper@37906
|
364 |
val fmz = ["equality (1*x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
365 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
366 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
367 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
368 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
369 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
370 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
371 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
372 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
373 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
374 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
375 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
376 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
377 |
| _ => error "polyeq.sml: diff.behav. in 1*x + x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
378 |
|
neuper@37906
|
379 |
"----- d2_pqformula6 ------";
|
neuper@37906
|
380 |
val fmz = ["equality (1*x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
381 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
382 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
383 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
384 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
385 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
386 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
387 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
388 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
389 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
390 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
391 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
392 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
393 |
| _ => error "polyeq.sml: diff.behav. in 1*x + 1*x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
394 |
|
neuper@37906
|
395 |
"----- d2_pqformula7 ------";
|
neuper@37906
|
396 |
(*EP-10*)
|
neuper@37906
|
397 |
val fmz = ["equality ( x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
398 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
399 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
400 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
401 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
402 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
403 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
404 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
405 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
406 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
407 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
408 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
409 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
410 |
| _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
411 |
|
neuper@37906
|
412 |
"----- d2_pqformula8 ------";
|
neuper@37906
|
413 |
val fmz = ["equality ( x + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
414 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
415 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
416 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
417 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
418 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
419 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
420 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
421 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
422 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
423 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
424 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
425 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
426 |
| _ => error "polyeq.sml: diff.behav. in x + 1*x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
427 |
|
neuper@37906
|
428 |
"----- d2_pqformula9 ------";
|
neuper@37906
|
429 |
val fmz = ["equality (-4 + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
430 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
431 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
432 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
433 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
434 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
435 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
436 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
437 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
438 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
439 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
440 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -2]")) => ()
|
neuper@38031
|
441 |
| _ => error "polyeq.sml: diff.behav. in -4 + x^2 = 0 -> [x = 2, x = -2]";
|
neuper@37906
|
442 |
|
neuper@37906
|
443 |
|
neuper@37906
|
444 |
"----- d2_pqformula10_neg ------";
|
neuper@37906
|
445 |
val fmz = ["equality (4 + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
446 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
447 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
448 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
449 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
450 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
451 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
452 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
453 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
454 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
455 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
456 |
"TODO 4 + x^^^2 = 0";
|
neuper@37906
|
457 |
"TODO 4 + x^^^2 = 0";
|
neuper@37906
|
458 |
"TODO 4 + x^^^2 = 0";
|
neuper@37906
|
459 |
|
neuper@37906
|
460 |
"----- d2_pqformula10 ------";
|
neuper@37906
|
461 |
val fmz = ["equality (-4 + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
462 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
463 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
464 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
465 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
466 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
467 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
468 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
469 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
470 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
471 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
472 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -2]")) => ()
|
neuper@38031
|
473 |
| _ => error "polyeq.sml: diff.behav. in -4 + 1*x^2 = 0 -> [x = 2, x = -2]";
|
neuper@37906
|
474 |
|
neuper@37906
|
475 |
"----- d2_pqformula9_neg ------";
|
neuper@37906
|
476 |
val fmz = ["equality (4 + 1*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
477 |
val (dI',pI',mI') = ("PolyEq",["pqFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
478 |
["PolyEq","solve_d2_polyeq_pq_equation"]);
|
neuper@37906
|
479 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
480 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
481 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
482 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
483 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
484 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
485 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
486 |
"TODO 4 + 1*x^^^2 = 0";
|
neuper@37906
|
487 |
"TODO 4 + 1*x^^^2 = 0";
|
neuper@37906
|
488 |
"TODO 4 + 1*x^^^2 = 0";
|
neuper@37906
|
489 |
|
neuper@37906
|
490 |
"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
|
neuper@37906
|
491 |
"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
|
neuper@37906
|
492 |
"-------------------- test thm's d2_abc_formulsxx[_neg]-----";
|
neuper@37906
|
493 |
|
neuper@37906
|
494 |
val fmz = ["equality (-1 +(-1)*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
495 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
496 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
497 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
498 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
499 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
500 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
501 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
502 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
503 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
504 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
505 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1, x = -1 / 2]")) => ()
|
neuper@38031
|
506 |
| _ => error "polyeq.sml: diff.behav. in -1 + (-1)*x + 2*x^2 = 0 -> [x = 1, x = -1/2]";
|
neuper@37906
|
507 |
|
neuper@37906
|
508 |
val fmz = ["equality ( 1 +(-1)*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
509 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
510 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
511 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
512 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
513 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
514 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
515 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
516 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
517 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
518 |
"TODO 1 +(-1)*x + 2*x^^^2 = 0";
|
neuper@37906
|
519 |
"TODO 1 +(-1)*x + 2*x^^^2 = 0";
|
neuper@37906
|
520 |
"TODO 1 +(-1)*x + 2*x^^^2 = 0";
|
neuper@37906
|
521 |
|
neuper@37906
|
522 |
(*EP-11*)
|
neuper@37906
|
523 |
val fmz = ["equality (-1 + x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
524 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
525 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
526 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
527 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
528 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
529 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
530 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
531 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
532 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
533 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
534 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1 / 2, x = -1]")) => ()
|
neuper@38031
|
535 |
| _ => error "polyeq.sml: diff.behav. in -1 + x + 2*x^2 = 0 -> [x = 1/2, x = -1]";
|
neuper@37906
|
536 |
|
neuper@37906
|
537 |
val fmz = ["equality ( 1 + x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
538 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
539 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
540 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
541 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
542 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
543 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
544 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
545 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
546 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
547 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
548 |
"TODO 1 + x + 2*x^^^2 = 0";
|
neuper@37906
|
549 |
"TODO 1 + x + 2*x^^^2 = 0";
|
neuper@37906
|
550 |
"TODO 1 + x + 2*x^^^2 = 0";
|
neuper@37906
|
551 |
|
neuper@37906
|
552 |
val fmz = ["equality (-2 + 1*x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
553 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
554 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
555 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
556 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
557 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
558 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
559 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
560 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
561 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
562 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
563 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1, x = -2]")) => ()
|
neuper@38031
|
564 |
| _ => error "polyeq.sml: diff.behav. in -2 + 1*x + x^2 = 0 -> [x = 1, x = -2]";
|
neuper@37906
|
565 |
|
neuper@37906
|
566 |
val fmz = ["equality ( 2 + 1*x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
567 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
568 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
569 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
570 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
571 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
572 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
573 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
574 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
575 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
576 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
577 |
"TODO 2 + 1*x + x^^^2 = 0";
|
neuper@37906
|
578 |
"TODO 2 + 1*x + x^^^2 = 0";
|
neuper@37906
|
579 |
"TODO 2 + 1*x + x^^^2 = 0";
|
neuper@37906
|
580 |
|
neuper@37906
|
581 |
(*EP-12*)
|
neuper@37906
|
582 |
val fmz = ["equality (-2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
583 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
584 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
585 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
586 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
587 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
588 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
589 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
590 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
591 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
592 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
593 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 1, x = -2]")) => ()
|
neuper@38031
|
594 |
| _ => error "polyeq.sml: diff.behav. in -2 + x + x^2 = 0 -> [x = 1, x = -2]";
|
neuper@37906
|
595 |
|
neuper@37906
|
596 |
val fmz = ["equality ( 2 + x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
597 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
598 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
599 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
600 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
601 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
602 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
603 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
604 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
605 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
606 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
607 |
"TODO 2 + x + x^^^2 = 0";
|
neuper@37906
|
608 |
"TODO 2 + x + x^^^2 = 0";
|
neuper@37906
|
609 |
"TODO 2 + x + x^^^2 = 0";
|
neuper@37906
|
610 |
|
neuper@37906
|
611 |
(*EP-13*)
|
neuper@37906
|
612 |
val fmz = ["equality (-8 + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
613 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
614 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
615 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
616 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
617 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
618 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
619 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
620 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
621 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
622 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
623 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -2]")) => ()
|
neuper@38031
|
624 |
| _ => error "polyeq.sml: diff.behav. in -8 + 2*x^2 = 0 -> [x = 2, x = -2]";
|
neuper@37906
|
625 |
|
neuper@37906
|
626 |
val fmz = ["equality ( 8+ 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
627 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
628 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
629 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
630 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
631 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
632 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
633 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
634 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
635 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
636 |
"TODO 8+ 2*x^^^2 = 0";
|
neuper@37906
|
637 |
"TODO 8+ 2*x^^^2 = 0";
|
neuper@37906
|
638 |
"TODO 8+ 2*x^^^2 = 0";
|
neuper@37906
|
639 |
|
neuper@37906
|
640 |
(*EP-14*)
|
neuper@37906
|
641 |
val fmz = ["equality (-4 + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
642 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
643 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
644 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
645 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
646 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
647 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
648 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
649 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
650 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
651 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -2]")) => ()
|
neuper@38031
|
652 |
| _ => error "polyeq.sml: diff.behav. in -4 + x^2 = 0 -> [x = 2, x = -2]";
|
neuper@37906
|
653 |
|
neuper@37906
|
654 |
|
neuper@37906
|
655 |
val fmz = ["equality ( 4+ x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
656 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"], ["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
657 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
658 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
659 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
660 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
661 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
662 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
663 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
664 |
"TODO 4+ x^^^2 = 0";
|
neuper@37906
|
665 |
"TODO 4+ x^^^2 = 0";
|
neuper@37906
|
666 |
"TODO 4+ x^^^2 = 0";
|
neuper@37906
|
667 |
|
neuper@37906
|
668 |
(*EP-15*)
|
neuper@37906
|
669 |
val fmz = ["equality (2*x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
670 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
671 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
672 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
673 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
674 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
675 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
676 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
677 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
678 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
679 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
680 |
case f of Form' (FormKF (~1,EdUndef,_,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
681 |
| _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
682 |
|
neuper@37906
|
683 |
val fmz = ["equality (1*x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
684 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
685 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
686 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
687 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
688 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
689 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
690 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
691 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
692 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
693 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
694 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
695 |
| _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
696 |
|
neuper@37906
|
697 |
(*EP-16*)
|
neuper@37906
|
698 |
val fmz = ["equality (x + 2*x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
699 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
700 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
701 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
702 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
703 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
704 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
705 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
706 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
707 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
708 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
709 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1 / 2]")) => ()
|
neuper@38031
|
710 |
| _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1 / 2]";
|
neuper@37906
|
711 |
|
neuper@37906
|
712 |
(*EP-//*)
|
neuper@37906
|
713 |
val fmz = ["equality (x + x^^^2 = 0)", "solveFor x","solutions L"];
|
neuper@37991
|
714 |
val (dI',pI',mI') = ("PolyEq",["abcFormula","degree_2","polynomial","univariate","equation"],
|
neuper@37906
|
715 |
["PolyEq","solve_d2_polyeq_abc_equation"]);
|
neuper@37906
|
716 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
717 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
718 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
719 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
720 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
721 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
722 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
723 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
724 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 0, x = -1]")) => ()
|
neuper@38031
|
725 |
| _ => error "polyeq.sml: diff.behav. in x + x^2 = 0 -> [x = 0, x = -1]";
|
neuper@37906
|
726 |
|
neuper@37906
|
727 |
"----------- (-8 - 2*x + x^^^2 = 0), (*Schalk 2, S.67 Nr.31.b----";
|
neuper@37906
|
728 |
"----------- (-8 - 2*x + x^^^2 = 0), (*Schalk 2, S.67 Nr.31.b----";
|
neuper@37906
|
729 |
"----------- (-8 - 2*x + x^^^2 = 0), (*Schalk 2, S.67 Nr.31.b----";
|
neuper@42319
|
730 |
(*stopped du to TODO.txt WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat
|
neuper@42319
|
731 |
see --- val rls = calculate_RootRat > calculate_Rational ---
|
neuper@42319
|
732 |
calculate_RootRat was a TODO with 2002, requires re-design.
|
neuper@42319
|
733 |
see also --- (-8 - 2*x + x^^^2 = 0), by rewriting --- below
|
neuper@42319
|
734 |
*)
|
neuper@37906
|
735 |
val fmz = ["equality (-8 - 2*x + x^^^2 = 0)", (*Schalk 2, S.67 Nr.31.b*)
|
neuper@37906
|
736 |
"solveFor x","solutions L"];
|
neuper@37906
|
737 |
val (dI',pI',mI') =
|
neuper@37991
|
738 |
("PolyEq",["degree_2","expanded","univariate","equation"],
|
neuper@37906
|
739 |
["PolyEq","complete_square"]);
|
neuper@37906
|
740 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
741 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
742 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
743 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
744 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37991
|
745 |
(*Apply_Method ("PolyEq","complete_square")*)
|
neuper@42272
|
746 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
747 |
(*"-8 - 2 * x + x ^^^ 2 = 0", nxt = Rewrite_Set_Inst ... "complete_square*)
|
neuper@42272
|
748 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
749 |
(*"-8 + (2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2", nxt = Rewrite("square_explicit1"*)
|
neuper@42272
|
750 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
751 |
(*"(2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2 - -8" nxt = Rewrite("root_plus_minus*)
|
neuper@42272
|
752 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
753 |
(*"2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |
|
neuper@37906
|
754 |
2 / 2 - x = - sqrt ((2 / 2) ^^^ 2 - -8)" nxt = Rewr_Inst("bdv_explicit2"*)
|
neuper@42272
|
755 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
756 |
(*"2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |
|
neuper@37906
|
757 |
-1*x = - (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8)"nxt = R_Inst("bdv_explt2"*)
|
neuper@42272
|
758 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
759 |
(*"-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |
|
neuper@37906
|
760 |
-1 * x = (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))"nxt = bdv_explicit3*)
|
neuper@42272
|
761 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
762 |
(*"-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |
|
neuper@37906
|
763 |
x = -1 * (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))" nxt = bdv_explicit3*)
|
neuper@42272
|
764 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
765 |
(*"x = -1 * (- (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8)) |
|
neuper@42319
|
766 |
x = -1 * (- (2 / 2) + - sqrt ((2 / 2) ^^^ 2 - -8))"nxt = calculate_Rational
|
neuper@42319
|
767 |
NOT IMPLEMENTED SINCE 2002 ------------------------------^^^^^^^^^^^^^^^^^^*)
|
neuper@42272
|
768 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
769 |
(*"x = -2 | x = 4" nxt = Or_to_List*)
|
neuper@42272
|
770 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
771 |
(*"[x = -2, x = 4]" nxt = Check_Postcond*)
|
neuper@42272
|
772 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
|
neuper@37906
|
773 |
(* FIXXXME
|
neuper@37906
|
774 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = -2, x = 4]")) => () TODO
|
neuper@38031
|
775 |
| _ => error "polyeq.sml: diff.behav. in [x = -2, x = 4]";
|
neuper@37906
|
776 |
*)
|
neuper@37906
|
777 |
if f2str f = "[x = -1 * -1 + -1 * sqrt (1 ^^^ 2 - -8),\n x = -1 * -1 + -1 * (-1 * sqrt (1 ^^^ 2 - -8))]" then ()
|
neuper@38031
|
778 |
else error "polyeq.sml corrected?behav. in [x = -2, x = 4]";
|
neuper@37906
|
779 |
|
neuper@42318
|
780 |
"----------- (-8 - 2*x + x^^^2 = 0), by rewriting ---------------";
|
neuper@42318
|
781 |
"----------- (-8 - 2*x + x^^^2 = 0), by rewriting ---------------";
|
neuper@42318
|
782 |
"----------- (-8 - 2*x + x^^^2 = 0), by rewriting ---------------";
|
neuper@42319
|
783 |
(*stopped du to TODO.txt WN111014.TODO calculate_Poly < calculate_Rational < calculate_RootRat
|
neuper@42319
|
784 |
see --- val rls = calculate_RootRat > calculate_Rational ---*)
|
neuper@42319
|
785 |
val thy = @{theory PolyEq};
|
neuper@42319
|
786 |
val ctxt = ProofContext.init_global thy;
|
neuper@42319
|
787 |
val inst = [((the o (parseNEW ctxt)) "bdv::real", (the o (parseNEW ctxt)) "x::real")];
|
neuper@42319
|
788 |
val t = (the o (parseNEW ctxt)) "-8 - 2*x + x^^^2 = (0::real)";
|
neuper@42319
|
789 |
|
neuper@42319
|
790 |
val rls = complete_square;
|
neuper@42319
|
791 |
val SOME (t,asm) = rewrite_set_inst_ thy true inst rls t;
|
neuper@42319
|
792 |
term2str t = "-8 + (2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2";
|
neuper@42319
|
793 |
|
neuper@42319
|
794 |
val thm = num_str @{thm square_explicit1};
|
neuper@42319
|
795 |
val SOME (t,asm) = rewrite_ thy dummy_ord Erls true thm t;
|
neuper@42319
|
796 |
term2str t = "(2 / 2 - x) ^^^ 2 = (2 / 2) ^^^ 2 - -8";
|
neuper@42319
|
797 |
|
neuper@42319
|
798 |
val thm = num_str @{thm root_plus_minus};
|
neuper@42319
|
799 |
val SOME (t,asm) = rewrite_ thy dummy_ord PolyEq_erls true thm t;
|
neuper@42319
|
800 |
term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
|
neuper@42319
|
801 |
"\n2 / 2 - x = -1 * sqrt ((2 / 2) ^^^ 2 - -8)";
|
neuper@42319
|
802 |
|
neuper@42319
|
803 |
(*the thm bdv_explicit2* here required to be constrained to ::real*)
|
neuper@42319
|
804 |
val thm = num_str @{thm bdv_explicit2};
|
neuper@42319
|
805 |
val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
|
neuper@42319
|
806 |
term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
|
neuper@42319
|
807 |
"\n-1 * x = - (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8)";
|
neuper@42319
|
808 |
|
neuper@42319
|
809 |
val thm = num_str @{thm bdv_explicit3};
|
neuper@42319
|
810 |
val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
|
neuper@42319
|
811 |
term2str t = "2 / 2 - x = sqrt ((2 / 2) ^^^ 2 - -8) |"^
|
neuper@42319
|
812 |
"\nx = -1 * (- (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8))";
|
neuper@42319
|
813 |
|
neuper@42319
|
814 |
val thm = num_str @{thm bdv_explicit2};
|
neuper@42319
|
815 |
val SOME (t,asm) = rewrite_inst_ thy dummy_ord Erls true inst thm t;
|
neuper@42319
|
816 |
term2str t = "-1 * x = - (2 / 2) + sqrt ((2 / 2) ^^^ 2 - -8) |"^
|
neuper@42319
|
817 |
"\nx = -1 * (- (2 / 2) + -1 * sqrt ((2 / 2) ^^^ 2 - -8))";
|
neuper@42319
|
818 |
|
neuper@42319
|
819 |
val rls = calculate_RootRat;
|
neuper@42319
|
820 |
val SOME (t,asm) = rewrite_set_ thy true rls t;
|
neuper@42319
|
821 |
if term2str t = "-1 * x = -1 + sqrt (1 ^^^ 2 - -8) |\nx = -1 * -1 + -1 * (-1 * sqrt (1 ^^^ 2 - -8))"
|
neuper@42319
|
822 |
then () else error "(-8 - 2*x + x^^^2 = 0), by rewriting -- ERROR INDICATES IMPROVEMENT";
|
neuper@42319
|
823 |
(*SHOULD BE: term2str = "x = -2 | x = 4;*)
|
neuper@42318
|
824 |
|
neuper@42318
|
825 |
|
neuper@37906
|
826 |
|
neuper@37906
|
827 |
"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
|
neuper@37906
|
828 |
"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
|
neuper@37906
|
829 |
"-------------------- (3 - 10*x + 3*x^^^2 = 0), ----------------------";
|
neuper@37906
|
830 |
"---- test the erls ----";
|
neuper@37906
|
831 |
val t1 = (term_of o the o (parse thy)) "0 <= (10/3/2)^^^2 - 1";
|
neuper@42319
|
832 |
val SOME (t,_) = rewrite_set_ @{theory PolyEq} false PolyEq_erls t1;
|
neuper@37906
|
833 |
val t' = term2str t;
|
neuper@41928
|
834 |
(*if t'= "HOL.True" then ()
|
neuper@38031
|
835 |
else error "polyeq.sml: diff.behav. in 'rewrite_set_.. PolyEq_erls";*)
|
neuper@37906
|
836 |
(* *)
|
neuper@37906
|
837 |
val fmz = ["equality (3 - 10*x + 3*x^^^2 = 0)",
|
neuper@37906
|
838 |
"solveFor x","solutions L"];
|
neuper@37906
|
839 |
val (dI',pI',mI') =
|
neuper@37991
|
840 |
("PolyEq",["degree_2","expanded","univariate","equation"],
|
neuper@37906
|
841 |
["PolyEq","complete_square"]);
|
neuper@37906
|
842 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
843 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
844 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
845 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
846 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
847 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
848 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
849 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37991
|
850 |
(*Apply_Method ("PolyEq","complete_square")*)
|
neuper@42272
|
851 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
|
neuper@37906
|
852 |
|
neuper@37906
|
853 |
"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
|
neuper@37906
|
854 |
"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
|
neuper@37906
|
855 |
"----------- (-16 + 4*x + 2*x^^^2 = 0), --------------------------";
|
neuper@37906
|
856 |
val fmz = ["equality (-16 + 4*x + 2*x^^^2 = 0)",
|
neuper@37906
|
857 |
"solveFor x","solutions L"];
|
neuper@37906
|
858 |
val (dI',pI',mI') =
|
neuper@37991
|
859 |
("PolyEq",["degree_2","expanded","univariate","equation"],
|
neuper@37906
|
860 |
["PolyEq","complete_square"]);
|
neuper@37906
|
861 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
862 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
863 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
864 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
865 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
866 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
867 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
868 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37991
|
869 |
(*Apply_Method ("PolyEq","complete_square")*)
|
neuper@42272
|
870 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
871 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
872 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
873 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
874 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
875 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
876 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
877 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
878 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
879 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
880 |
(* FIXXXXME n1.,
|
neuper@37906
|
881 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -4]")) => () TODO
|
neuper@38031
|
882 |
| _ => error "polyeq.sml: diff.behav. in [x = 2, x = -4]";
|
neuper@37906
|
883 |
*)
|
neuper@37906
|
884 |
|
neuper@37906
|
885 |
"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
|
neuper@37906
|
886 |
"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
|
neuper@37906
|
887 |
"----------- (a*b - (a+b)*x + x^^^2 = 0), (*Schalk 2,S.68Nr.44.a*)";
|
neuper@37906
|
888 |
val fmz = ["equality (a*b - (a+b)*x + x^^^2 = 0)",
|
neuper@37906
|
889 |
"solveFor x","solutions L"];
|
neuper@37906
|
890 |
val (dI',pI',mI') =
|
neuper@37991
|
891 |
("PolyEq",["degree_2","expanded","univariate","equation"],
|
neuper@37906
|
892 |
["PolyEq","complete_square"]);
|
neuper@37906
|
893 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
894 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
895 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
896 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
897 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
898 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
899 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
900 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
901 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
902 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
903 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
904 |
|
neuper@42272
|
905 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
906 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
907 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
908 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
909 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
910 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
911 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
912 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
|
neuper@37906
|
913 |
(*WN.2.5.03 TODO FIXME Matthias ?
|
neuper@37906
|
914 |
case f of
|
neuper@37906
|
915 |
Form'
|
neuper@37906
|
916 |
(FormKF
|
neuper@37906
|
917 |
(~1,EdUndef,0,Nundef,
|
neuper@37906
|
918 |
"[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)]"))
|
neuper@37906
|
919 |
=> ()
|
neuper@38031
|
920 |
| _ => error "polyeq.sml: diff.behav. in a*b - (a+b)*x + x^^^2 = 0";
|
neuper@37906
|
921 |
this will be simplified [x = a, x = b] to by Factor.ML*)
|
neuper@37906
|
922 |
|
neuper@37906
|
923 |
|
neuper@37906
|
924 |
"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
|
neuper@37906
|
925 |
"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
|
neuper@37906
|
926 |
"----------- (-64 + x^^^2 = 0), (*Schalk 2, S.66 Nr.1.a~--------*)";
|
neuper@37906
|
927 |
val fmz = ["equality (-64 + x^^^2 = 0)",(*Schalk 2, S.66 Nr.1.a~*)
|
neuper@37906
|
928 |
"solveFor x","solutions L"];
|
neuper@37906
|
929 |
val (dI',pI',mI') =
|
neuper@37991
|
930 |
("PolyEq",["degree_2","expanded","univariate","equation"],
|
neuper@37906
|
931 |
["PolyEq","complete_square"]);
|
neuper@37906
|
932 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
933 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
934 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
935 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
936 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
937 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
938 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
939 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
940 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
941 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
942 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
943 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
944 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
945 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
|
neuper@37906
|
946 |
(*WN.2.5.03 TODO "[x = sqrt (0 - -64), x = -1 * sqrt (0 - -64)]"
|
neuper@37906
|
947 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 8, x = -8]")) => ()
|
neuper@38031
|
948 |
| _ => error "polyeq.sml: diff.behav. in [x = 8, x = -8]";
|
neuper@37906
|
949 |
*)
|
neuper@37906
|
950 |
|
neuper@37906
|
951 |
"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
|
neuper@37906
|
952 |
"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
|
neuper@37906
|
953 |
"----------- (-147 + 3*x^^^2 = 0), (*Schalk 2, S.66 Nr.1.b------*)";
|
neuper@37906
|
954 |
val fmz = ["equality (-147 + 3*x^^^2 = 0)",(*Schalk 2, S.66 Nr.1.b*)
|
neuper@37906
|
955 |
"solveFor x","solutions L"];
|
neuper@37906
|
956 |
val (dI',pI',mI') =
|
neuper@37991
|
957 |
("PolyEq",["degree_2","expanded","univariate","equation"],
|
neuper@37906
|
958 |
["PolyEq","complete_square"]);
|
neuper@37906
|
959 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@42272
|
960 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
961 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
962 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
963 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
964 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
965 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
966 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@42272
|
967 |
val (p,_,f,nxt,_,pt) = me nxt p [] pt;
|
neuper@37906
|
968 |
(*WN.2.5.03 TODO "[x = sqrt (0 - -49), x = -1 * sqrt (0 - -49)]"
|
neuper@37906
|
969 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 7, x = -7]")) => ()
|
neuper@38031
|
970 |
| _ => error "polyeq.sml: diff.behav. in [x = 7, x = -7]";
|
neuper@37906
|
971 |
*)
|
neuper@37906
|
972 |
if f2str f = "[x = sqrt (0 - -49), x = -1 * sqrt (0 - -49)]" then ()
|
neuper@38031
|
973 |
else error "polyeq.sml CORRECTED?behav. in [x = 7, x = -7]";
|
neuper@37906
|
974 |
|
neuper@37906
|
975 |
|
neuper@37906
|
976 |
"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
|
neuper@37906
|
977 |
"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
|
neuper@37906
|
978 |
"----------- (3*x - 1 - (5*x - (2 - 4*x)) = -11),(*Schalk Is86Bsp5";
|
neuper@37906
|
979 |
(*EP-17 Schalk_I_p86_n5*)
|
neuper@42319
|
980 |
val fmz = ["equality ((3::real)*x - 1 - (5*x - (2 - 4*x)) = -11)","solveFor x","solutions L"];
|
neuper@37906
|
981 |
(* refine fmz ["univariate","equation"];
|
neuper@37906
|
982 |
*)
|
neuper@37991
|
983 |
val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
|
neuper@37906
|
984 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@37906
|
985 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
986 |
(* val nxt =
|
neuper@37906
|
987 |
("Model_Problem",
|
neuper@37906
|
988 |
Model_Problem ["normalize","polynomial","univariate","equation"])
|
neuper@37906
|
989 |
: string * tac*)
|
neuper@37906
|
990 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
991 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
992 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
993 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
994 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
995 |
(* val nxt =
|
neuper@37906
|
996 |
("Subproblem",
|
neuper@37991
|
997 |
Subproblem ("PolyEq",["polynomial","univariate","equation"]))
|
neuper@37906
|
998 |
: string * tac *)
|
neuper@37906
|
999 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1000 |
(*val nxt =
|
neuper@37906
|
1001 |
("Model_Problem",
|
neuper@37906
|
1002 |
Model_Problem ["degree_1","polynomial","univariate","equation"])
|
neuper@37906
|
1003 |
: string * tac *)
|
neuper@37906
|
1004 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1005 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1006 |
|
neuper@37906
|
1007 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1008 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1009 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1010 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1011 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1012 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2]")) => ()
|
neuper@38031
|
1013 |
| _ => error "polyeq.sml: diff.behav. in [x = 2]";
|
neuper@37906
|
1014 |
|
neuper@37906
|
1015 |
|
neuper@37906
|
1016 |
"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
|
neuper@37906
|
1017 |
"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
|
neuper@37906
|
1018 |
"----------- ((x+1)*(x+2) - (3*x - 2)^^^2=.. Schalk II s.68 Bsp 37";
|
neuper@37906
|
1019 |
(*is in rlang.sml, too*)
|
neuper@37906
|
1020 |
val fmz = ["equality ((x+1)*(x+2) - (3*x - 2)^^^2=(2*x - 1)^^^2+(3*x - 1)*(x+1))",
|
neuper@37906
|
1021 |
"solveFor x","solutions L"];
|
neuper@37991
|
1022 |
val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
|
neuper@37906
|
1023 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@37906
|
1024 |
(*val nxt = ("Refine_Tacitly",Refine_Tacitly ["univariate","equation"])*)
|
neuper@37906
|
1025 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1026 |
(* val nxt =
|
neuper@37906
|
1027 |
("Model_Problem",
|
neuper@37906
|
1028 |
Model_Problem ["normalize","polynomial","univariate","equation"])
|
neuper@37906
|
1029 |
: string * tac *)
|
neuper@37906
|
1030 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1031 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1032 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1033 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1034 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1035 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1036 |
(* val nxt =
|
neuper@37906
|
1037 |
("Subproblem",
|
neuper@37991
|
1038 |
Subproblem ("PolyEq",["polynomial","univariate","equation"]))
|
neuper@37906
|
1039 |
: string * tac*)
|
neuper@37906
|
1040 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1041 |
(*val nxt =
|
neuper@37906
|
1042 |
("Model_Problem",
|
neuper@37906
|
1043 |
Model_Problem ["abcFormula","degree_2","polynomial","univariate","equation"])
|
neuper@37906
|
1044 |
: string * tac*)
|
neuper@37906
|
1045 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1046 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1047 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1048 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1049 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1050 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1051 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1052 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2 / 15, x = 1]")) => ()
|
neuper@38031
|
1053 |
| _ => error "polyeq.sml: diff.behav. in [x = 2 / 15, x = 1]";
|
neuper@37906
|
1054 |
|
neuper@37906
|
1055 |
|
neuper@37906
|
1056 |
" -4 + x^^^2 =0 ";
|
neuper@37906
|
1057 |
" -4 + x^^^2 =0 ";
|
neuper@37906
|
1058 |
" -4 + x^^^2 =0 ";
|
neuper@37906
|
1059 |
val fmz = ["equality ( -4 + x^^^2 =0)", "solveFor x","solutions L"];
|
neuper@37906
|
1060 |
(* val fmz = ["equality (1 + x^^^2 =0)", "solveFor x","solutions L"];*)
|
neuper@37906
|
1061 |
(*val fmz = ["equality (0 =0)", "solveFor x","solutions L"];*)
|
neuper@37991
|
1062 |
val (dI',pI',mI') = ("PolyEq",["univariate","equation"],["no_met"]);
|
neuper@37906
|
1063 |
(*val p = e_pos';
|
neuper@37906
|
1064 |
val c = [];
|
neuper@37906
|
1065 |
val (mI,m) = ("Init_Proof",Init_Proof (fmz, (dI',pI',mI')));
|
neuper@37906
|
1066 |
val (p,_,f,nxt,_,pt) = me (mI,m) p c EmptyPtree;*)
|
neuper@37906
|
1067 |
val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
|
neuper@37906
|
1068 |
|
neuper@37906
|
1069 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1070 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1071 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1072 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1073 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1074 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1075 |
val (p,_,f,nxt,_,pt) = me nxt p [1] pt;val (p,_,f,nxt,_,pt) = me nxt p [1] pt;
|
neuper@37906
|
1076 |
case f of Form' (FormKF (~1,EdUndef,0,Nundef,"[x = 2, x = -2]")) => ()
|
neuper@38031
|
1077 |
| _ => error "polyeq.sml: diff.behav. in [x = 2, x = -2]";
|
neuper@37906
|
1078 |
|
neuper@37906
|
1079 |
"----------------- polyeq.sml end ------------------";
|
neuper@37906
|
1080 |
|
neuper@37906
|
1081 |
(*Punkte aus dem TestBericht, die ich in rlang.sml nicht zuordnen konnte:*)
|
neuper@37906
|
1082 |
(*WN.19.3.03 ---v-*)
|
neuper@37906
|
1083 |
(*3(b)*)val (bdv,v) = (str2term "bdv", str2term "R1");
|
neuper@37906
|
1084 |
val t = str2term "-1 * (R * R2) + R2 * R1 + -1 * (R * R1) = 0";
|
neuper@37926
|
1085 |
val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
|
neuper@37906
|
1086 |
term2str t';
|
neuper@37906
|
1087 |
"-1 * R * R2 + (R2 + -1 * R) * R1 = 0";
|
neuper@37906
|
1088 |
(*WN.19.3.03 ---^-*)
|
neuper@37906
|
1089 |
|
neuper@37906
|
1090 |
(*3(c)*)val (bdv,v) = (str2term "bdv", str2term "p");
|
neuper@37906
|
1091 |
val t = str2term "y ^^^ 2 + -2 * (x * p) = 0";
|
neuper@37926
|
1092 |
val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
|
neuper@37906
|
1093 |
term2str t';
|
neuper@37906
|
1094 |
"y ^^^ 2 + -2 * x * p = 0";
|
neuper@37906
|
1095 |
|
neuper@37906
|
1096 |
(*3(d)*)val (bdv,v) = (str2term "bdv", str2term "x2");
|
neuper@37906
|
1097 |
val t = str2term
|
neuper@37906
|
1098 |
"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";
|
neuper@37926
|
1099 |
val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
|
neuper@37906
|
1100 |
term2str t';
|
neuper@37906
|
1101 |
"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";
|
neuper@37926
|
1102 |
val SOME (t',_) = rewrite_set_inst_ thy false [(bdv,v)] make_ratpoly_in t;
|
neuper@37906
|
1103 |
term2str t';
|
neuper@37906
|
1104 |
"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";
|
neuper@37906
|
1105 |
|
neuper@37906
|
1106 |
(*3(e)*)val (bdv,v) = (str2term "bdv", str2term "a");
|
neuper@37906
|
1107 |
val t = str2term
|
neuper@37906
|
1108 |
"A ^^^ 2 + c ^^^ 2 * (c / d) ^^^ 2 + (-4 * (c / d) ^^^ 2) * a ^^^ 2 = 0";
|
neuper@37926
|
1109 |
val NONE = rewrite_set_inst_ thy false [(bdv,v)] make_polynomial_in t;
|
neuper@37906
|
1110 |
(*die _unsichtbare_ Klammern sind genau wie gew"unscht*)
|
neuper@37906
|
1111 |
|
neuper@37906
|
1112 |
|
neuper@37906
|
1113 |
val t = str2term "(x + 1) * (x + 2) - (3 * x - 2) ^^^ 2 - ((2 * x - 1) ^^^ 2 + (3 * x - 1) * (x + 1)) = 0";
|
neuper@37906
|
1114 |
trace_rewrite:=true;
|
neuper@37906
|
1115 |
rewrite_set_ thy false expand_binoms t;
|
neuper@37906
|
1116 |
trace_rewrite:=false;
|
neuper@37906
|
1117 |
|
neuper@37906
|
1118 |
|
neuper@37906
|
1119 |
"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
|
neuper@37906
|
1120 |
"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
|
neuper@37906
|
1121 |
"----------- interSteps ([1],Res); on Schalk Is86Bsp5-------------";
|
neuper@37906
|
1122 |
states:=[];
|
neuper@37906
|
1123 |
CalcTree
|
neuper@42319
|
1124 |
[(["equality ((3::real)*x - 1 - (5*x - (2 - 4*x)) = -11)","solveFor x","solutions L"],
|
neuper@37991
|
1125 |
("PolyEq",["univariate","equation"],["no_met"]))];
|
neuper@37906
|
1126 |
Iterator 1;
|
neuper@37906
|
1127 |
moveActiveRoot 1;
|
neuper@37906
|
1128 |
autoCalculate 1 CompleteCalc;
|
neuper@37906
|
1129 |
val ((pt,p),_) = get_calc 1; show_pt pt;
|
neuper@37906
|
1130 |
|
neuper@42319
|
1131 |
interSteps 1 ([1],Res) (*<ERROR> no Rewrite_Set... </ERROR> ?see fun prep_rls?*);
|
neuper@42248
|
1132 |
|