blast_hyp_subst_tac: plain bool argument;
authorwenzelm
Sun, 22 Jul 2007 21:20:53 +0200
changeset 23908edca7f581c09
parent 23907 cca404a62173
child 23909 6e4fba2ea7d0
blast_hyp_subst_tac: plain bool argument;
src/Provers/blast.ML
src/Provers/hypsubst.ML
     1.1 --- a/src/Provers/blast.ML	Sun Jul 22 17:53:55 2007 +0200
     1.2 +++ b/src/Provers/blast.ML	Sun Jul 22 21:20:53 2007 +0200
     1.3 @@ -48,7 +48,7 @@
     1.4    val ccontr            : thm
     1.5    val contr_tac         : int -> tactic
     1.6    val dup_intr          : thm -> thm
     1.7 -  val hyp_subst_tac     : bool ref -> int -> tactic
     1.8 +  val hyp_subst_tac     : bool -> int -> tactic
     1.9    val claset            : unit -> claset
    1.10    val rep_cs    : (* dependent on classical.ML *)
    1.11        claset -> {safeIs: thm list, safeEs: thm list,
    1.12 @@ -1015,7 +1015,7 @@
    1.13            in tracing sign brs0;
    1.14               if lim<0 then (traceMsg "Limit reached.  "; backtrack choices)
    1.15               else
    1.16 -             prv (Data.hyp_subst_tac trace :: tacs,
    1.17 +             prv (Data.hyp_subst_tac (!trace) :: tacs,
    1.18                    brs0::trs,  choices,
    1.19                    equalSubst sign
    1.20                      (G, {pairs = (br,haz)::pairs,
     2.1 --- a/src/Provers/hypsubst.ML	Sun Jul 22 17:53:55 2007 +0200
     2.2 +++ b/src/Provers/hypsubst.ML	Sun Jul 22 21:20:53 2007 +0200
     2.3 @@ -28,7 +28,7 @@
     2.4  
     2.5  Goal "!!x. [| Q(x,h1); P(a,h2); R(x,y,h3); R(y,z,h4); x=f(y); \
     2.6  \                 P(x,h5); P(y,h6); K(x,h7) |] ==> Q(x,c)";
     2.7 -by (blast_hyp_subst_tac (ref true) 1);
     2.8 +by (blast_hyp_subst_tac true 1);
     2.9  *)
    2.10  
    2.11  signature HYPSUBST_DATA =
    2.12 @@ -49,7 +49,7 @@
    2.13  sig
    2.14    val bound_hyp_subst_tac    : int -> tactic
    2.15    val hyp_subst_tac          : int -> tactic
    2.16 -  val blast_hyp_subst_tac    : bool ref -> int -> tactic
    2.17 +  val blast_hyp_subst_tac    : bool -> int -> tactic
    2.18    val stac                   : thm -> int -> tactic
    2.19    val hypsubst_setup         : theory -> theory
    2.20  end;
    2.21 @@ -206,7 +206,7 @@
    2.22            val hyps = List.take(hyps0, k) @ List.drop(hyps0, k+1)
    2.23            val n = length hyps
    2.24        in
    2.25 -         if !trace then tracing "Substituting an equality" else ();
    2.26 +         if trace then tracing "Substituting an equality" else ();
    2.27           DETERM
    2.28             (EVERY [REPEAT_DETERM_N k (etac Data.rev_mp i),
    2.29                     rotate_tac 1 i,