src/Tools/isac/Interpret/solve-step.sml
changeset 59933 92214be419b2
parent 59932 87336f3b021f
child 59935 16927a749dd7
     1.1 --- a/src/Tools/isac/Interpret/solve-step.sml	Mon May 04 09:25:51 2020 +0200
     1.2 +++ b/src/Tools/isac/Interpret/solve-step.sml	Mon May 04 10:19:16 2020 +0200
     1.3 @@ -12,6 +12,8 @@
     1.4    val add_general: Tactic.T -> Istate_Def.T * Proof.context -> Calc.T -> Generate.test_out
     1.5    val s_add_general: State_Steps.T ->
     1.6      Ctree.ctree * Pos.pos' list * Pos.pos' -> Ctree.ctree * Pos.pos' list * Pos.pos'
     1.7 +  val add_hard:
     1.8 +    theory -> Tactic.T -> Pos.pos' -> Ctree.ctree -> Generate.test_out
     1.9  
    1.10  (* ---- for tests only: shifted from below to remove the Warning "unused" at fun.def. --------- *)
    1.11    (*NONE*)                                                     
    1.12 @@ -297,18 +299,27 @@
    1.13  (* LI switches between solve-phase and specify-phase *)
    1.14  fun add_general tac ic cs =
    1.15    if Tactic.for_specify' tac
    1.16 -  then Generate.generate1 tac ic cs
    1.17 +  then Specify_Step.add tac ic cs
    1.18    else add tac ic cs
    1.19  
    1.20 -(* tacis are in reverse order from do_next/specify_: last = fst to insert *)
    1.21 +(* the order of State_Steps is reversed: insert last element first  *)
    1.22  fun s_add_general [] ptp = ptp
    1.23    | s_add_general tacis (pt, c, _) = 
    1.24      let
    1.25        val (tacis', (_, tac_, (p, is))) = split_last tacis
    1.26 -	    val (p',c',_,pt') = add_general tac_ is (pt, p)
    1.27 +	    val (p', c', _, pt') = add_general tac_ is (pt, p)
    1.28      in
    1.29        s_add_general tacis' (pt', c@c', p')
    1.30      end
    1.31  
    1.32 +(* a still undeveloped concept: do a calculation without LI *)
    1.33 +fun add_hard _(*thy*) m' (p, p_) pt =
    1.34 +  let  
    1.35 +    val p = case p_ of
    1.36 +      Pos.Frm => p | Pos.Res => Pos.lev_on p
    1.37 +    | _ => error ("generate_hard: call by " ^ Pos.pos'2str (p,p_))
    1.38 +  in
    1.39 +    add_general m' (Istate_Def.empty, ContextC.empty) (pt, (p, p_))
    1.40 +  end
    1.41  
    1.42  (**)end(**);