1.1 --- a/src/Tools/isac/Interpret/solve.sml Sat Apr 16 10:19:45 2011 +0200
1.2 +++ b/src/Tools/isac/Interpret/solve.sml Mon Apr 18 14:43:26 2011 +0200
1.3 @@ -226,18 +226,10 @@
1.4 val thy = assoc_thy thy';
1.5 val metID = get_obj g_metID pt ppp;
1.6 val sc = (#scr o get_met) metID;
1.7 - val (ScrState (E,l,a,_,_,b), ctxt) = get_loc pt (pp(*!/p/*),Frm);
1.8 - (*val _=tracing("### solve Check_postc, parpbl pos= "^(pos'2str(pp,Frm)));
1.9 - val _=tracing("### solve Check_postc, is(pt)= "^(istate2str is));
1.10 - val _=tracing("### solve Check_postc, is'= "^
1.11 - (istate2str (E,l,a,scval,scsaf,b)));*)
1.12 + val (ScrState (E,l,a,_,_,b), ctxt') = get_loc pt (pp(*!/p/*),Frm);
1.13 val ((p,p_),ps,f,pt) =
1.14 generate1 thy (Check_Postcond' (pI, (scval, map term2str asm)))
1.15 - (ScrState (E,l,a,scval,scsaf,b), ctxt) (pp,Res) pt;
1.16 - (*val _=tracing("### solve Check_postc, is(pt')= "^
1.17 - (istate2str (get_istate pt ([3],Res))));
1.18 - val (nx,is',_) = next_tac (thy',srls) (pt,(p,p_)) sc
1.19 - (ScrState (E,l,a,scval,scsaf,b));*)
1.20 + (ScrState (E,l,a,scval,scsaf,b), ctxt'') (pp,Res) pt;
1.21 in ("ok",(*((pp,Res),is',nx), f, tac_2tac nx, scsaf,*)
1.22 ([(Check_Postcond pI, Check_Postcond'(pI,(scval, map term2str asm)),
1.23 ((pp,Res), (ScrState (E,l,a,scval,scsaf,b), ctxt)))],ps,(pt,(p,p_))))
1.24 @@ -370,8 +362,6 @@
1.25 in if pp = [] then
1.26 let val is = ScrState (E,l,a,scval,scsaf,b)
1.27 val tac_ = Check_Postcond'(pI,(scval, map term2str asm))
1.28 - (*val _= tracing"### nxt_solv2 Apply_Method: stored is =";
1.29 - val _= tracing(istate2str is);*)
1.30 val ((p,p_),ps,f,pt) =
1.31 generate1 thy tac_ (is, ctxt) (pp,Res) pt;
1.32 in ([(Check_Postcond pI, tac_, ((pp,Res), (is, ctxt)))],ps,(pt, (p,p_))) end
1.33 @@ -386,33 +376,11 @@
1.34 val (ScrState (E,l,a,_,_,b), ctxt) = get_loc pt (pp(*!/p/*),Frm)
1.35 val tac_ = Check_Postcond' (pI, (scval, map term2str asm))
1.36 val is = ScrState (E,l,a,scval,scsaf,b)
1.37 - (*val _= tracing"### nxt_solv3 Apply_Method: stored is =";
1.38 - val _= tracing(istate2str is);*)
1.39 val ((p,p_),ps,f,pt) = generate1 thy tac_ (is, ctxt) (pp, Res) pt;
1.40 (*val (nx,is',_) = next_tac (thy',srls) (pt,(p,p_)) scr is;WN050913*)
1.41 in ([(Check_Postcond pI, tac_, ((pp, Res), (is, ctxt)))], ps, (pt, (p,p_))) end
1.42 end
1.43 -(* tracing(istate2str(get_istate pt (p,p_)));
1.44 - *)
1.45
1.46 -(*.start interpreter and do one rewrite.*)
1.47 -(* val (_,Detail_Set'(thy',rls,t)) = (mI,m); val p = (p,p_);
1.48 - solve ("",Detail_Set'(thy', rls, t)) p pt;
1.49 - | nxt_solv (Detail_Set'(thy', rls, t)) _ (pt, p) = **********
1.50 ----> Frontend/sml.sml
1.51 -
1.52 - | nxt_solv (End_Detail' t) _ (pt, (p,p_)) = **********
1.53 - let val pr as (p',_) = (lev_up p, Res)
1.54 - val pp = par_pblobj pt p
1.55 - val r = (fst o (get_obj g_result pt)) p'
1.56 - (*Rewrite_Set* done at Detail_Set*: this result is already in ptree*)
1.57 - val thy' = get_obj g_domID pt pp
1.58 - val (srls, is, sc) = from_pblobj' thy' pr pt
1.59 - val (tac_,is',_) = next_tac (thy',srls) (pt,pr) sc is
1.60 - in (pr, ((pp,Frm(*???*)),is,tac_),
1.61 - Form' (FormKF (~1, EdUndef, length p', Nundef, term2str r)),
1.62 - tac_2tac tac_, Sundef, pt) end
1.63 -*)
1.64 | nxt_solv (End_Proof'') _ ptp = ([], [], ptp)
1.65
1.66 | nxt_solv tac_ is (pt, pos as (p,p_)) =