src/Tools/isac/Interpret/solve.sml
branchdecompose-isar
changeset 41959 a0d6a7c3e1df
parent 41957 703d656a6291
child 41960 3048fe25fe67
     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_)) =