merged
authorwenzelm
Wed, 29 Jul 2009 22:38:35 +0200
changeset 32278f73d48f5218b
parent 32276 756afe4a909a
parent 32277 ff1e59a15146
child 32281 c14aeb0bcce4
child 32282 e40563627419
merged
     1.1 --- a/src/Provers/quasi.ML	Wed Jul 29 21:40:04 2009 +0200
     1.2 +++ b/src/Provers/quasi.ML	Wed Jul 29 22:38:35 2009 +0200
     1.3 @@ -549,9 +549,9 @@
     1.4  
     1.5  (* trans_tac - solves transitivity chains over <= *)
     1.6  
     1.7 -fun trans_tac ctxt = SUBGOAL (fn (A, n) =>
     1.8 +fun trans_tac ctxt = SUBGOAL (fn (A, n) => fn st =>
     1.9   let
    1.10 -  val thy = ProofContext.theory_of ctxt;
    1.11 +  val thy = Thm.theory_of_thm st;
    1.12    val rfrees = map Free (Term.rename_wrt_term A (Logic.strip_params A));
    1.13    val Hs = map (fn H => subst_bounds (rfrees, H)) (Logic.strip_assums_hyp A);
    1.14    val C = subst_bounds (rfrees, Logic.strip_assums_concl A);
    1.15 @@ -562,17 +562,17 @@
    1.16   in
    1.17    FOCUS (fn {prems, ...} =>
    1.18      let val thms = map (prove prems) prfs
    1.19 -    in rtac (prove thms prf) 1 end) ctxt n
    1.20 +    in rtac (prove thms prf) 1 end) ctxt n st
    1.21   end
    1.22 - handle Contr p => FOCUS (fn {prems, ...} => rtac (prove prems p) 1) ctxt n
    1.23 -  | Cannot  => no_tac);
    1.24 + handle Contr p => FOCUS (fn {prems, ...} => rtac (prove prems p) 1) ctxt n st
    1.25 +  | Cannot  => Seq.empty);
    1.26  
    1.27  
    1.28  (* quasi_tac - solves quasi orders *)
    1.29  
    1.30  fun quasi_tac ctxt = SUBGOAL (fn (A, n) => fn st =>
    1.31   let
    1.32 -  val thy = ProofContext.theory_of ctxt;
    1.33 +  val thy = Thm.theory_of_thm st;
    1.34    val rfrees = map Free (Term.rename_wrt_term A (Logic.strip_params A));
    1.35    val Hs = map (fn H => subst_bounds (rfrees, H)) (Logic.strip_assums_hyp A);
    1.36    val C = subst_bounds (rfrees, Logic.strip_assums_concl A);
     2.1 --- a/src/Provers/trancl.ML	Wed Jul 29 21:40:04 2009 +0200
     2.2 +++ b/src/Provers/trancl.ML	Wed Jul 29 22:38:35 2009 +0200
     2.3 @@ -531,9 +531,9 @@
     2.4  end;
     2.5  
     2.6  
     2.7 -fun trancl_tac ctxt = SUBGOAL (fn (A, n) =>
     2.8 +fun trancl_tac ctxt = SUBGOAL (fn (A, n) => fn st =>
     2.9   let
    2.10 -  val thy = ProofContext.theory_of ctxt;
    2.11 +  val thy = Thm.theory_of_thm st;
    2.12    val Hs = Logic.strip_assums_hyp A;
    2.13    val C = Logic.strip_assums_concl A;
    2.14    val (rel, subgoals, prf) = mkconcl_trancl C;
    2.15 @@ -543,14 +543,14 @@
    2.16   in
    2.17    FOCUS (fn {prems, ...} =>
    2.18      let val thms = map (prove thy rel prems) prfs
    2.19 -    in rtac (prove thy rel thms prf) 1 end) ctxt n
    2.20 +    in rtac (prove thy rel thms prf) 1 end) ctxt n st
    2.21   end
    2.22 - handle Cannot => no_tac);
    2.23 + handle Cannot => Seq.empty);
    2.24  
    2.25  
    2.26  fun rtrancl_tac ctxt = SUBGOAL (fn (A, n) => fn st =>
    2.27   let
    2.28 -  val thy = ProofContext.theory_of ctxt;
    2.29 +  val thy = Thm.theory_of_thm st;
    2.30    val Hs = Logic.strip_assums_hyp A;
    2.31    val C = Logic.strip_assums_concl A;
    2.32    val (rel, subgoals, prf) = mkconcl_rtrancl C;