branch | isac-update-Isa09-2 |
changeset 38031 | 460c24a6a6ba |
parent 37967 | bd4f7a35e892 |
child 38043 | 6a36acec95d9 |
38030:95d956108461 | 38031:460c24a6a6ba |
---|---|
50 val ((pt,_),_) = get_calc 1; show_pt pt; |
50 val ((pt,_),_) = get_calc 1; show_pt pt; |
51 |
51 |
52 (*with "Script SimplifyScript (t_::real) = ----------------- |
52 (*with "Script SimplifyScript (t_::real) = ----------------- |
53 \ ((Rewrite_Set norm_Rational False) t_)" |
53 \ ((Rewrite_Set norm_Rational False) t_)" |
54 case pt of Nd (PblObj _, [Nd _]) => ((*met only applies norm_Rational*)) |
54 case pt of Nd (PblObj _, [Nd _]) => ((*met only applies norm_Rational*)) |
55 | _ => raise error "solve.sml: interSteps on norm_Rational 1"; |
55 | _ => error "solve.sml: interSteps on norm_Rational 1"; |
56 interSteps 1 ([1], Res); |
56 interSteps 1 ([1], Res); |
57 getFormulaeFromTo 1 ([1], Frm) ([1,12], Res) 99999 false; |
57 getFormulaeFromTo 1 ([1], Frm) ([1,12], Res) 99999 false; |
58 interSteps 1 ([1,3], Res); |
58 interSteps 1 ([1,3], Res); |
59 |
59 |
60 getTactic 1 ([1,4], Res) (*here get the tactic, and ...*); |
60 getTactic 1 ([1,4], Res) (*here get the tactic, and ...*); |
66 getTactic 1 ([1,8], Res) (*Rewrite_Set "common_nominator_p" *); |
66 getTactic 1 ([1,8], Res) (*Rewrite_Set "common_nominator_p" *); |
67 interSteps 1 ([1,9], Res)(*TODO.WN060606 reverse rew*); |
67 interSteps 1 ([1,9], Res)(*TODO.WN060606 reverse rew*); |
68 --------------------------------------------------------------------*) |
68 --------------------------------------------------------------------*) |
69 |
69 |
70 case pt of Nd (PblObj _, [Nd _, Nd _, Nd _, Nd _, Nd _, Nd _]) => () |
70 case pt of Nd (PblObj _, [Nd _, Nd _, Nd _, Nd _, Nd _, Nd _]) => () |
71 | _ => raise error "solve.sml: interSteps on norm_Rational 1"; |
71 | _ => error "solve.sml: interSteps on norm_Rational 1"; |
72 (*these have been done now by the script ^^^ immediately... |
72 (*these have been done now by the script ^^^ immediately... |
73 interSteps 1 ([1], Res); |
73 interSteps 1 ([1], Res); |
74 getFormulaeFromTo 1 ([1], Frm) ([1,12], Res) 99999 false; |
74 getFormulaeFromTo 1 ([1], Frm) ([1,12], Res) 99999 false; |
75 *) |
75 *) |
76 interSteps 1 ([6], Res); |
76 interSteps 1 ([6], Res); |
82 val ((pt,_),_) = get_calc 1; show_pt pt; |
82 val ((pt,_),_) = get_calc 1; show_pt pt; |
83 val (Form form, SOME tac, asm) = pt_extract (pt, ([6], Res)); |
83 val (Form form, SOME tac, asm) = pt_extract (pt, ([6], Res)); |
84 case (term2str form, tac, terms2strs asm) of |
84 case (term2str form, tac, terms2strs asm) of |
85 ("1 / 2", Check_Postcond ["rational", "simplification"], |
85 ("1 / 2", Check_Postcond ["rational", "simplification"], |
86 ["-36 * x + 4 * x ^^^ 3 ~= 0"]) => () |
86 ["-36 * x + 4 * x ^^^ 3 ~= 0"]) => () |
87 | _ => raise error "solve.sml: interSteps on norm_Rational 2"; |
87 | _ => error "solve.sml: interSteps on norm_Rational 2"; |
88 |
88 |
89 |
89 |
90 |
90 |
91 "###### val intermediate_ptyps = !ptyps;val intermediate_mets = !mets"; |
91 "###### val intermediate_ptyps = !ptyps;val intermediate_mets = !mets"; |
92 "###### val intermediate_ptyps = !ptyps;val intermediate_mets = !mets"; |
92 "###### val intermediate_ptyps = !ptyps;val intermediate_mets = !mets"; |
159 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
159 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
160 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
160 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
161 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
161 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
162 (*"(3 + -1 * x) / (3 + x)"*) |
162 (*"(3 + -1 * x) / (3 + x)"*) |
163 if nxt = ("End_Proof'",End_Proof') then () |
163 if nxt = ("End_Proof'",End_Proof') then () |
164 else raise error "details.sml, changed behaviour in: without detail"; |
164 else error "details.sml, changed behaviour in: without detail"; |
165 |
165 |
166 val str = pr_ptree pr_short pt; |
166 val str = pr_ptree pr_short pt; |
167 writeln str; |
167 writeln str; |
168 |
168 |
169 |
169 |
216 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
216 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
217 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e; |
217 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e; |
218 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
218 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
219 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"(3 - x) / (3 + x)")) |
219 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"(3 - x) / (3 + x)")) |
220 andalso nxt = ("End_Proof'",End_Proof') then () |
220 andalso nxt = ("End_Proof'",End_Proof') then () |
221 else raise error "new behaviour in details.sml, \ |
221 else error "new behaviour in details.sml, \ |
222 \cancel, rev-rew (cancel) afterwards"; |
222 \cancel, rev-rew (cancel) afterwards"; |
223 FIXXXXXME.040216 #####################################################*) |
223 FIXXXXXME.040216 #####################################################*) |
224 |
224 |
225 (*---- funktionieren mit Rationals.ML: dummy-Funktionen(1)--------*) |
225 (*---- funktionieren mit Rationals.ML: dummy-Funktionen(1)--------*) |
226 |
226 |
271 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
271 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
272 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
272 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
273 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
273 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
274 (*"(3 + -1 * x) / (3 + x)"*) |
274 (*"(3 + -1 * x) / (3 + x)"*) |
275 if nxt = ("End_Proof'",End_Proof') then () |
275 if nxt = ("End_Proof'",End_Proof') then () |
276 else raise error "details.sml, changed behaviour in: cancel_p, without detail"; |
276 else error "details.sml, changed behaviour in: cancel_p, without detail"; |
277 |
277 |
278 "-------------- cancel_p, detail rev-rew (cancel) afterwards ----------"; |
278 "-------------- cancel_p, detail rev-rew (cancel) afterwards ----------"; |
279 "-------------- cancel_p, detail rev-rew (cancel) afterwards ----------"; |
279 "-------------- cancel_p, detail rev-rew (cancel) afterwards ----------"; |
280 "-------------- cancel_p, detail rev-rew (cancel) afterwards ----------"; |
280 "-------------- cancel_p, detail rev-rew (cancel) afterwards ----------"; |
281 (* val p = e_pos'; val c = []; |
281 (* val p = e_pos'; val c = []; |
326 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
326 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
327 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
327 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
328 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
328 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
329 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
329 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
330 if nxt = ("End_Detail",End_Detail) then () |
330 if nxt = ("End_Detail",End_Detail) then () |
331 else raise error "details.sml: new behav. in Detail make_polynomial"; |
331 else error "details.sml: new behav. in Detail make_polynomial"; |
332 ----------------------------------------------------------------------*) |
332 ----------------------------------------------------------------------*) |
333 |
333 |
334 (*--------------- |
334 (*--------------- |
335 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
335 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
336 (*val nxt = ("Rewrite_Set",Rewrite_Set "cancel_p")*) |
336 (*val nxt = ("Rewrite_Set",Rewrite_Set "cancel_p")*) |
344 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
344 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
345 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e; |
345 val (p,_,f,nxt,_,pt) = (me nxt p [] pt) handle e => print_exn e; |
346 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
346 val (p,_,f,nxt,_,pt) = me nxt p [] pt; |
347 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"(3 + x) / (3 - x)")) |
347 if f = Form' (FormKF (~1,EdUndef,0,Nundef,"(3 + x) / (3 - x)")) |
348 andalso nxt = ("End_Proof'",End_Proof') then () |
348 andalso nxt = ("End_Proof'",End_Proof') then () |
349 else raise error "new behaviour in details.sml, cancel_p afterwards"; |
349 else error "new behaviour in details.sml, cancel_p afterwards"; |
350 |
350 |
351 ----------------*) |
351 ----------------*) |
352 |
352 |
353 |
353 |
354 |
354 |
399 interSteps 1 ([],Res); |
399 interSteps 1 ([],Res); |
400 val [(_,(((pt,_),_),[(_,ip)]))] = !states; |
400 val [(_,(((pt,_),_),[(_,ip)]))] = !states; |
401 val ("donesteps",_(*,ss*), lastpos) = detailstep pt ip; |
401 val ("donesteps",_(*,ss*), lastpos) = detailstep pt ip; |
402 (*case ss of [(_,_,t1),(_,_,t2),(_,_,t3),(_,_,t4),(_,_,t5),(_,_,t6)] => |
402 (*case ss of [(_,_,t1),(_,_,t2),(_,_,t3),(_,_,t4),(_,_,t5),(_,_,t6)] => |
403 (writeln o terms2str) [t1,t2,t3,t4,t5,t6] |
403 (writeln o terms2str) [t1,t2,t3,t4,t5,t6] |
404 | _ => raise error "details.sml: diff.behav. in detail miniscript";*) if lastpos = ([4], Res) then () |
404 | _ => error "details.sml: diff.behav. in detail miniscript";*) if lastpos = ([4], Res) then () |
405 else raise error "details.sml: diff.behav. in interSteps'donesteps' 1"; |
405 else error "details.sml: diff.behav. in interSteps'donesteps' 1"; |
406 |
406 |
407 moveActiveDown 1; |
407 moveActiveDown 1; |
408 moveActiveDown 1; |
408 moveActiveDown 1; |
409 moveActiveDown 1; |
409 moveActiveDown 1; |
410 moveActiveDown 1; |
410 moveActiveDown 1; |
412 interSteps 1 ([3],Pbl) (*subproblem*); |
412 interSteps 1 ([3],Pbl) (*subproblem*); |
413 val [(_,(((pt,_),_),[(_,ip)]))] = !states; |
413 val [(_,(((pt,_),_),[(_,ip)]))] = !states; |
414 val ("donesteps",_(*,ss*), lastpos) = detailstep pt ip; |
414 val ("donesteps",_(*,ss*), lastpos) = detailstep pt ip; |
415 (*case ss of [(_,_,t1),(_,_,t2),(_,_,t3)] => |
415 (*case ss of [(_,_,t1),(_,_,t2),(_,_,t3)] => |
416 (writeln o terms2str) [t1,t2,t3] |
416 (writeln o terms2str) [t1,t2,t3] |
417 | _ => raise error "details.sml: diff.behav. in detail miniscript";*) if lastpos = ([3, 2], Res) then () |
417 | _ => error "details.sml: diff.behav. in detail miniscript";*) if lastpos = ([3, 2], Res) then () |
418 else raise error "details.sml: diff.behav. in interSteps'donesteps' 1"; |
418 else error "details.sml: diff.behav. in interSteps'donesteps' 1"; |
419 |
419 |
420 |
420 |
421 (* val [(_,(((pt,_),_),[(_,ip)]))] = !states; |
421 (* val [(_,(((pt,_),_),[(_,ip)]))] = !states; |
422 writeln (pr_ptree pr_short pt); |
422 writeln (pr_ptree pr_short pt); |
423 get_obj g_tac pt [4]; |
423 get_obj g_tac pt [4]; |
444 refFormula 1 (get_pos 1 1); (* 2 Res, <ISA> -1 + x = 0 </ISA> *) |
444 refFormula 1 (get_pos 1 1); (* 2 Res, <ISA> -1 + x = 0 </ISA> *) |
445 |
445 |
446 interSteps 1 ([2],Res); |
446 interSteps 1 ([2],Res); |
447 val [(_,(((pt,_),_),[(_,(p,_))]))] = !states; |
447 val [(_,(((pt,_),_),[(_,(p,_))]))] = !states; |
448 if length (children (get_nd pt p)) = 6 then () |
448 if length (children (get_nd pt p)) = 6 then () |
449 else raise error "details.sml: diff.behav. in interSteps'detailrls' 1"; |
449 else error "details.sml: diff.behav. in interSteps'detailrls' 1"; |
450 |
450 |
451 moveActiveDown 1; |
451 moveActiveDown 1; |
452 moveActiveDown 1; refFormula 1 (get_pos 1 1); (* 3,1 Frm, <ISA> -1 + x = 0 </ISA> *); |
452 moveActiveDown 1; refFormula 1 (get_pos 1 1); (* 3,1 Frm, <ISA> -1 + x = 0 </ISA> *); |
453 |
453 |
454 interSteps 1 ([3,1],Frm) (*<ERROR> first formula on level has NO detail </E*); |
454 interSteps 1 ([3,1],Frm) (*<ERROR> first formula on level has NO detail </E*); |
455 val [(_,(((pt,_),_),[(_,(p,_))]))] = !states; |
455 val [(_,(((pt,_),_),[(_,(p,_))]))] = !states; |
456 if length (children (get_nd pt p)) = 0 then () (*NO detail at ([xxx,1],Frm)*) |
456 if length (children (get_nd pt p)) = 0 then () (*NO detail at ([xxx,1],Frm)*) |
457 else raise error "details.sml: diff.behav. in interSteps'detailrls' 2"; |
457 else error "details.sml: diff.behav. in interSteps'detailrls' 2"; |
458 |
458 |
459 moveActiveDown 1; |
459 moveActiveDown 1; |
460 refFormula 1 (get_pos 1 1); (* 3,1 Res, <ISA> x = 0 + -1 * -1 </ISA> *) |
460 refFormula 1 (get_pos 1 1); (* 3,1 Res, <ISA> x = 0 + -1 * -1 </ISA> *) |
461 |
461 |
462 interSteps 1 ([3,1],Res); |
462 interSteps 1 ([3,1],Res); |
469 refFormula 1 (get_pos 1 1); (* 3,2 Res, <ISA> x = 1 </ISA> *) |
469 refFormula 1 (get_pos 1 1); (* 3,2 Res, <ISA> x = 1 </ISA> *) |
470 |
470 |
471 interSteps 1 ([3,2],Res); |
471 interSteps 1 ([3,2],Res); |
472 val [(_,(((pt,_),_),[(_,(p,_))]))] = !states; |
472 val [(_,(((pt,_),_),[(_,(p,_))]))] = !states; |
473 if length (children (get_nd pt p)) = 2 then () |
473 if length (children (get_nd pt p)) = 2 then () |
474 else raise error "details.sml: diff.behav. in interSteps'detailrls' 3"; |
474 else error "details.sml: diff.behav. in interSteps'detailrls' 3"; |
475 |
475 |
476 val ((pt,p),_) = get_calc 1; show_pt pt; |
476 val ((pt,p),_) = get_calc 1; show_pt pt; |
477 |
477 |
478 |
478 |
479 "------ interSteps after appendFormula ---------------------------"; |
479 "------ interSteps after appendFormula ---------------------------"; |
496 interSteps 1 ([2],Res) (*error: last unchanged was ([2, 9], Res)*); |
496 interSteps 1 ([2],Res) (*error: last unchanged was ([2, 9], Res)*); |
497 (*...and these are the internals*) |
497 (*...and these are the internals*) |
498 val ((pt,p),_) = get_calc 1; show_pt pt; |
498 val ((pt,p),_) = get_calc 1; show_pt pt; |
499 val (_,_,lastpos) =detailstep pt p; |
499 val (_,_,lastpos) =detailstep pt p; |
500 if p = ([2], Res) andalso lastpos = ([2, 9], Res) then () |
500 if p = ([2], Res) andalso lastpos = ([2, 9], Res) then () |
501 else raise error "solve.sml: diff.beh. after appendFormula x - 1 = 0"; |
501 else error "solve.sml: diff.beh. after appendFormula x - 1 = 0"; |
502 |
502 |
503 |
503 |
504 "------ Detail_Set -----------------------------------------------"; |
504 "------ Detail_Set -----------------------------------------------"; |
505 "------ Detail_Set -----------------------------------------------"; |
505 "------ Detail_Set -----------------------------------------------"; |
506 "------ Detail_Set -----------------------------------------------"; |
506 "------ Detail_Set -----------------------------------------------"; |