src/Tools/isac/Interpret/script.sml
branchdecompose-isar
changeset 41990 99e83a0bea44
parent 41984 3f614796186e
child 41992 1ada058e92bc
     1.1 --- a/src/Tools/isac/Interpret/script.sml	Fri May 13 14:15:59 2011 +0200
     1.2 +++ b/src/Tools/isac/Interpret/script.sml	Fri May 13 17:19:38 2011 +0200
     1.3 @@ -410,10 +410,10 @@
     1.4    | stac2tac_ pt thy (Const ("Script.Tac",_) $ Free (str,_)) = 
     1.5        (Tac ((de_esc_underscore o strip_thy) str),  Empty_Tac_) 
     1.6  
     1.7 +    (*compare "| assod _ (Subproblem'"*)
     1.8    | stac2tac_ pt thy (stac as Const ("Script.SubProblem",_) $
     1.9  	  (Const ("Product_Type.Pair",_) $Free (dI',_) $ 
    1.10  		 (Const ("Product_Type.Pair",_) $ pI' $ mI')) $ ags') =
    1.11 -      (*compare "| assod _ (Subproblem'"*)
    1.12        let
    1.13          val dI = ((implode o drop_last(*.."'"*) o Symbol.explode) dI')(*^""*);
    1.14          val thy = maxthy (assoc_thy dI) (rootthy pt);
    1.15 @@ -441,8 +441,9 @@
    1.16            case cas of
    1.17  		        NONE => pblterm dI pI
    1.18  		      | SOME t => subst_atomic ((vars_of_pbl_' ppc) ~~~ vals) t
    1.19 +        val ctxt = declare_constraints' vals (ProofContext.init_global thy)
    1.20          val f = subpbl (strip_thy dI) pI
    1.21 -      in (Subproblem (dI, pI),	Subproblem' ((dI, pI, mI), pors, hdl, fmz_, (*FIXME.WN110511*)e_ctxt, f))
    1.22 +      in (Subproblem (dI, pI),	Subproblem' ((dI, pI, mI), pors, hdl, fmz_, ctxt, f))
    1.23        end
    1.24  
    1.25    | stac2tac_ pt thy t = error 
    1.26 @@ -592,10 +593,10 @@
    1.27        then Ass (m, ((term_of o the o (parse thy)) f'))
    1.28        else NotAss
    1.29  
    1.30 +    (*compare "| stac2tac_ thy (Const ("Script.SubProblem",_)"*)
    1.31    | assod pt _ (Subproblem' ((domID,pblID,metID),_,_,_,_,f))
    1.32  	  (stac as Const ("Script.SubProblem",_) $ (Const ("Product_Type.Pair",_) $
    1.33  		 Free (dI',_) $ (Const ("Product_Type.Pair",_) $ pI' $ mI')) $ ags') =
    1.34 -      (*compare "| stac2tac_ thy (Const ("Script.SubProblem",_)"*)
    1.35        let 
    1.36          val dI = ((implode o drop_last(*.."'"*) o Symbol.explode) dI')(*^""*);
    1.37          val thy = maxthy (assoc_thy dI) (rootthy pt);
    1.38 @@ -621,14 +622,16 @@
    1.39  	      val {cas, ppc, thy,...} = get_pbt pI
    1.40  	      val dI = theory2theory' thy (*take dI from _refined_ pbl*)
    1.41  	      val dI = theory2theory' (maxthy (assoc_thy dI) (rootthy pt))
    1.42 +	      val thy' = (maxthy (assoc_thy dI) (rootthy pt))
    1.43  	      val hdl = 
    1.44            case cas of
    1.45  		        NONE => pblterm dI pI
    1.46  		      | SOME t => subst_atomic ((vars_of_pbl_' ppc) ~~~ vals) t
    1.47 +        val ctxt = declare_constraints' vals (ProofContext.init_global thy')
    1.48          val f = subpbl (strip_thy dI) pI
    1.49        in 
    1.50          if domID = dI andalso pblID = pI
    1.51 -        then Ass (Subproblem' ((dI, pI, mI), pors, hdl, fmz_, (*FIXME.WN110511*)e_ctxt, f), f) 
    1.52 +        then Ass (Subproblem' ((dI, pI, mI), pors, hdl, fmz_, ctxt, f), f) 
    1.53          else NotAss
    1.54        end
    1.55