src/Tools/isac/Interpret/calchead.sml
branchisac-update-Isa09-2
changeset 38056 98ebf8c25a28
parent 38053 bb6004e10e71
child 38058 ad0485155c0e
     1.1 --- a/src/Tools/isac/Interpret/calchead.sml	Sat Oct 09 16:20:02 2010 +0200
     1.2 +++ b/src/Tools/isac/Interpret/calchead.sml	Sun Oct 10 14:15:43 2010 +0200
     1.3 @@ -1568,12 +1568,10 @@
     1.4  
     1.5  
     1.6  
     1.7 -(*.create a calc-tree with oris via an cas.refined pbl.*)
     1.8 -fun nxt_specify_init_calc (([],(dI,pI,mI)): fmz) =
     1.9 -(* val ([],(dI,pI,mI)) = (fmz, sp);
    1.10 -   *)
    1.11 -    if pI <> [] then (*comes from pbl-browser*)
    1.12 -	let val {cas,met,ppc,thy,...} = get_pbt pI
    1.13 +(* create a calc-tree with oris via an cas.refined pbl *)
    1.14 +fun nxt_specify_init_calc (([], (dI, pI, mI)) : fmz) =
    1.15 +    if pI <> [] then (* from pbl-browser or from CAS cmd with pI=[e_pblID] *)
    1.16 +	let val {cas, met, ppc, thy, ...} = get_pbt pI
    1.17  	    val dI = if dI = "" then theory2theory' thy else dI
    1.18  	    val thy = assoc_thy dI
    1.19  	    val mI = if mI = [] then hd met else mI
    1.20 @@ -1583,8 +1581,8 @@
    1.21  	    val pt = update_spec pt [] (dI,pI,mI)
    1.22  	    val pits = init_pbl' ppc
    1.23  	    val pt = update_pbl pt [] pits
    1.24 -	in ((pt,([],Pbl)), []): calcstate end
    1.25 -    else if mI <> [] then (*comes from met-browser*)
    1.26 +	in ((pt, ([] ,Pbl)), []) : calcstate end
    1.27 +    else if mI <> [] then (* from met-browser *)
    1.28  	let val {ppc,...} = get_met mI
    1.29  	    val dI = if dI = "" then "Isac" else dI
    1.30  	    val thy = assoc_thy dI
    1.31 @@ -1593,13 +1591,11 @@
    1.32  	    val pt = update_spec pt [] (dI,pI,mI)
    1.33  	    val mits = init_pbl' ppc
    1.34  	    val pt = update_met pt [] mits
    1.35 -	in ((pt,([],Met)), []) end
    1.36 -    else (*completely new example*)
    1.37 +	in ((pt, ([], Met)), []) : calcstate end
    1.38 +    else (* new example, pepare for interactive modeling *)
    1.39  	let val (pt,_) = cappend_problem e_ptree [] e_istate ([], e_spec)
    1.40  					 ([], e_spec, e_term)
    1.41 -	in ((pt,([],Pbl)), []) end
    1.42 -(* val (fmz, (dI,pI,mI)) = (fmz, sp);
    1.43 -   *)
    1.44 +	in ((pt,([],Pbl)), []) : calcstate end
    1.45    | nxt_specify_init_calc (fmz : fmz_, (dI, pI, mI) : spec) = 
    1.46      let           (* both """"""""""""""""""""""""" either empty or complete *)
    1.47  	val thy = assoc_thy dI
    1.48 @@ -1617,8 +1613,10 @@
    1.49  		    | SOME t => subst_atomic ((vars_of_pbl_' ppc) 
    1.50  						  ~~~ vals_of_oris pors) t
    1.51          val (pt, _) = cappend_problem e_ptree [] e_istate (fmz, (dI, pI, mI))
    1.52 -				 (pors, (dI, pI, mI), hdl)
    1.53 -  in ((pt, ([], Pbl)), fst3 (nxt_specif Model_Problem (pt, ([], Pbl)))) end;
    1.54 +				      (pors, (dI, pI, mI), hdl)
    1.55 +    in ((pt, ([], Pbl)), 
    1.56 +        fst3 (nxt_specif Model_Problem (pt, ([], Pbl)))) : calcstate
    1.57 +    end;
    1.58  
    1.59  
    1.60