clean ctxt handling: remove double insert_assumptions
authorWalther Neuper <walther.neuper@jku.at>
Tue, 17 Mar 2020 14:50:19 +0100
changeset 598286638657645a3
parent 59827 168abe8dd1e3
child 59829 07fb7201bb46
clean ctxt handling: remove double insert_assumptions
src/Tools/isac/Specify/generate.sml
src/Tools/isac/TODO.thy
     1.1 --- a/src/Tools/isac/Specify/generate.sml	Wed Mar 11 15:25:52 2020 +0100
     1.2 +++ b/src/Tools/isac/Specify/generate.sml	Tue Mar 17 14:50:19 2020 +0100
     1.3 @@ -263,45 +263,39 @@
     1.4     end
     1.5    | generate1 (Tactic.Rewrite_Set_Inst' (_, _, subs', rls', f, (f', asm))) (is, ctxt) (pt, (p, _)) =
     1.6      let
     1.7 -      (*ctxt updated by locate_input_tactic &TODO;vvv insert_assumptions is LEGACY vvv *)
     1.8 -      val (pt, c) = cappend_atomic pt p (is, ContextC.insert_assumptions asm ctxt) f 
     1.9 +      val (pt, c) = cappend_atomic pt p (is, ctxt) f 
    1.10          (Tactic.Rewrite_Set_Inst (Selem.subst2subs subs', Rule.id_rls rls')) (f', asm) Complete
    1.11        val pt = update_branch pt p TransitiveB
    1.12      in
    1.13        ((p, Res), c, FormKF (Rule.term2str f'), pt)
    1.14      end
    1.15 -  | generate1 (Tactic.Detail_Set_Inst' (_, _, subs, rls, f, (_, asm))) (is, ctxt) (pt, (p, _)) =
    1.16 +  | generate1 (Tactic.Detail_Set_Inst' (_, _, subs, rls, f, _)) (is, ctxt) (pt, (p, _)) =
    1.17      let
    1.18 -      (*ctxt updated by locate_input_tactic &TODO;vvv insert_assumptions is LEGACY vvv *)
    1.19 -      val ctxt' = ContextC.insert_assumptions asm ctxt
    1.20 -      val (pt, _) = cappend_form pt p (is, ctxt') f 
    1.21 +      val (pt, _) = cappend_form pt p (is, ctxt) f 
    1.22        val pt = update_branch pt p TransitiveB
    1.23        val is = init_istate (Tactic.Rewrite_Set_Inst (Selem.subst2subs subs, Rule.id_rls rls)) f 
    1.24 -      val tac_ = Tactic.Apply_Method' (Celem.e_metID, SOME Rule.e_term (*t ..has not been declared*), is, ctxt')
    1.25 +      val tac_ = Tactic.Apply_Method' (Celem.e_metID, SOME Rule.e_term (*t ..has not been declared*), is, ctxt)
    1.26        val pos' = ((lev_on o lev_dn) p, Frm)
    1.27      in
    1.28 -      generate1 tac_ (is, ctxt') (pt, pos') (*implicit Take*)
    1.29 +      generate1 tac_ (is, ctxt) (pt, pos') (*implicit Take*)
    1.30      end
    1.31    | generate1 (Tactic.Rewrite_Set' (_, _, rls', f, (f', asm))) (is, ctxt) (pt, (p, _)) =
    1.32      let
    1.33 -      (*ctxt updated by locate_input_tactic &TODO;vvv insert_assumptions is LEGACY vvv *)
    1.34 -      val (pt, c) = cappend_atomic pt p (is, ContextC.insert_assumptions asm ctxt) f 
    1.35 -        (Tactic.Rewrite_Set (Rule.id_rls rls')) (f',asm) Complete
    1.36 +      val (pt, c) = cappend_atomic pt p (is, ctxt) f 
    1.37 +        (Tactic.Rewrite_Set (Rule.id_rls rls')) (f', asm) Complete
    1.38        val pt = update_branch pt p TransitiveB
    1.39      in
    1.40        ((p, Res), c, FormKF (Rule.term2str f'), pt)
    1.41      end
    1.42 -  | generate1 (Tactic.Detail_Set' (_, _, rls, f, (_, asm))) (is, ctxt) (pt, (p, _)) =
    1.43 +  | generate1 (Tactic.Detail_Set' (_, _, rls, f, _)) (is, ctxt) (pt, (p, _)) =
    1.44      let
    1.45 -      (*ctxt updated by locate_input_tactic &TODO;vvv insert_assumptions is LEGACY vvv *)
    1.46 -      val ctxt' = ContextC.insert_assumptions asm ctxt
    1.47 -      val (pt, _) = cappend_form pt p (is, ctxt') f 
    1.48 +      val (pt, _) = cappend_form pt p (is, ctxt) f 
    1.49        val pt = update_branch pt p TransitiveB
    1.50        val is = init_istate (Tactic.Rewrite_Set (Rule.id_rls rls)) f
    1.51 -      val tac_ = Tactic.Apply_Method' (Celem.e_metID, SOME Rule.e_term (*t ..has not been declared*), is, ctxt')
    1.52 +      val tac_ = Tactic.Apply_Method' (Celem.e_metID, SOME Rule.e_term (*t ..has not been declared*), is, ctxt)
    1.53        val pos' = ((lev_on o lev_dn) p, Frm)
    1.54      in
    1.55 -      generate1 tac_ (is, ctxt') (pt, pos') (*implicit Take*)
    1.56 +      generate1 tac_ (is, ctxt) (pt, pos') (*implicit Take*)
    1.57      end
    1.58    | generate1 (Tactic.Check_Postcond' (_, (scval, asm))) l (pt, (p, _)) =
    1.59        let
    1.60 @@ -355,16 +349,14 @@
    1.61      val f = get_curr_formula (pt, pos)
    1.62      val pos' as (p', _) = (lev_on p, Res)
    1.63      val (pt, _) = case subs_opt of
    1.64 -      (*ctxt updated by locate_input_tactic &TODO;vvv insert_assumptions is LEGACY vvv *)
    1.65 -      NONE => cappend_atomic pt p' (is, ContextC.insert_assumptions [] ctxt) f
    1.66 +      NONE => cappend_atomic pt p' (is, ctxt) f
    1.67          (Tactic.Rewrite thm') (f', []) Inconsistent
    1.68 -      (*ctxt updated by locate_input_tactic &TODO;vvv insert_assumptions is LEGACY vvv *)
    1.69 -    | SOME subs => cappend_atomic pt p' (is, ContextC.insert_assumptions [] ctxt) f
    1.70 +    | SOME subs => cappend_atomic pt p' (is, ctxt) f
    1.71          (Tactic.Rewrite_Inst (subs, thm')) (f', []) Inconsistent
    1.72      val pt = update_branch pt p' TransitiveB
    1.73    in (pt, pos') end
    1.74  
    1.75 -fun generate_hard thy m' (p,p_) pt =
    1.76 +fun generate_hard _(*thy*) m' (p,p_) pt =
    1.77    let  
    1.78      val p = case p_ of
    1.79        Frm => p | Res => lev_on p
     2.1 --- a/src/Tools/isac/TODO.thy	Wed Mar 11 15:25:52 2020 +0100
     2.2 +++ b/src/Tools/isac/TODO.thy	Tue Mar 17 14:50:19 2020 +0100
     2.3 @@ -143,6 +143,7 @@
     2.4    \item xxx
     2.5    \item generate, generate1: NO thy as arg.
     2.6          Generate.generate1 thy is redundant: is the same during pbl, thus lookup spec
     2.7 +        redesign return value (originally for output by fun me?)
     2.8    \item xxx
     2.9    \item shift tests into NEW model.sml (upd, upds_envv, ..)
    2.10    \item xxx
    2.11 @@ -157,7 +158,7 @@
    2.12        rm Assumptions  :: bool  (* TODO: remove with making ^^^ idle *)
    2.13      \item xxx
    2.14      \item xxx
    2.15 -    \item remove ctxt from Tactic.T; this makes use of ctxt more explicit (e.g. in LI)
    2.16 +    \item remove ctxt from Tactic.Subproblem'; this makes use of ctxt more explicit (e.g. in LI)
    2.17        \begin{itemize}
    2.18        \item Tactic.Apply_Method' (mI, _, _, _(*ctxt ?!?*))) .. remove ctxt
    2.19        \item rm ctxt from Subproblem' (is separated in associate!))