src/Pure/Isar/proof.ML
changeset 32193 c314b4836031
parent 32187 cca43ca13f4f
child 32738 15bb09ca0378
     1.1 --- a/src/Pure/Isar/proof.ML	Sat Jul 25 14:58:45 2009 +0200
     1.2 +++ b/src/Pure/Isar/proof.ML	Sat Jul 25 18:02:43 2009 +0200
     1.3 @@ -386,13 +386,13 @@
     1.4  fun goal_cases st =
     1.5    RuleCases.make_common true (Thm.theory_of_thm st, Thm.prop_of st) (map (rpair []) (goals st));
     1.6  
     1.7 -fun apply_method current_context pos meth state =
     1.8 +fun apply_method current_context meth state =
     1.9    let
    1.10      val (goal_ctxt, (_, {statement, messages = _, using, goal, before_qed, after_qed})) =
    1.11        find_goal state;
    1.12      val ctxt = if current_context then context_of state else goal_ctxt;
    1.13    in
    1.14 -    Method.apply pos meth ctxt using goal |> Seq.map (fn (meth_cases, goal') =>
    1.15 +    Method.apply meth ctxt using goal |> Seq.map (fn (meth_cases, goal') =>
    1.16        state
    1.17        |> map_goal
    1.18            (ProofContext.add_cases false (no_goal_cases goal @ goal_cases goal') #>
    1.19 @@ -410,16 +410,15 @@
    1.20      |> Seq.maps meth
    1.21      |> Seq.maps (fn state' => state'
    1.22        |> Seq.lift set_goal (Goal.retrofit 1 n (#2 (#2 (get_goal state'))) goal))
    1.23 -    |> Seq.maps (apply_method true Position.none (K Method.succeed)));
    1.24 +    |> Seq.maps (apply_method true (K Method.succeed)));
    1.25  
    1.26  fun apply_text cc text state =
    1.27    let
    1.28      val thy = theory_of state;
    1.29 -    val pos_of = #2 o Args.dest_src;
    1.30  
    1.31 -    fun eval (Method.Basic (m, pos)) = apply_method cc pos m
    1.32 -      | eval (Method.Source src) = apply_method cc (pos_of src) (Method.method thy src)
    1.33 -      | eval (Method.Source_i src) = apply_method cc (pos_of src) (Method.method_i thy src)
    1.34 +    fun eval (Method.Basic m) = apply_method cc m
    1.35 +      | eval (Method.Source src) = apply_method cc (Method.method thy src)
    1.36 +      | eval (Method.Source_i src) = apply_method cc (Method.method_i thy src)
    1.37        | eval (Method.Then txts) = Seq.EVERY (map eval txts)
    1.38        | eval (Method.Orelse txts) = Seq.FIRST (map eval txts)
    1.39        | eval (Method.Try txt) = Seq.TRY (eval txt)
    1.40 @@ -433,7 +432,7 @@
    1.41  val refine_end = apply_text false;
    1.42  
    1.43  fun refine_insert [] = I
    1.44 -  | refine_insert ths = Seq.hd o refine (Method.Basic (K (Method.insert ths), Position.none));
    1.45 +  | refine_insert ths = Seq.hd o refine (Method.Basic (K (Method.insert ths)));
    1.46  
    1.47  end;
    1.48  
    1.49 @@ -750,7 +749,7 @@
    1.50    |> assert_current_goal true
    1.51    |> using_facts []
    1.52    |> `before_qed |-> (refine o the_default Method.succeed_text)
    1.53 -  |> Seq.maps (refine (Method.finish_text txt (Position.thread_data ())));
    1.54 +  |> Seq.maps (refine (Method.finish_text txt));
    1.55  
    1.56  fun check_result msg sq =
    1.57    (case Seq.pull sq of
    1.58 @@ -762,8 +761,8 @@
    1.59  
    1.60  (* unstructured refinement *)
    1.61  
    1.62 -fun defer i = assert_no_chain #> refine (Method.Basic (K (Method.defer i), Position.none));
    1.63 -fun prefer i = assert_no_chain #> refine (Method.Basic (K (Method.prefer i), Position.none));
    1.64 +fun defer i = assert_no_chain #> refine (Method.Basic (K (Method.defer i)));
    1.65 +fun prefer i = assert_no_chain #> refine (Method.Basic (K (Method.prefer i)));
    1.66  
    1.67  fun apply text = assert_backward #> refine text #> Seq.map (using_facts []);
    1.68  fun apply_end text = assert_forward #> refine_end text;
    1.69 @@ -789,7 +788,7 @@
    1.70  fun refine_terms n =
    1.71    refine (Method.Basic (K (RAW_METHOD
    1.72      (K (HEADGOAL (PRECISE_CONJUNCTS n
    1.73 -      (HEADGOAL (CONJUNCTS (ALLGOALS (rtac Drule.termI)))))))), Position.none))
    1.74 +      (HEADGOAL (CONJUNCTS (ALLGOALS (rtac Drule.termI))))))))))
    1.75    #> Seq.hd;
    1.76  
    1.77  in
    1.78 @@ -832,7 +831,7 @@
    1.79      |> put_goal NONE
    1.80      |> enter_backward
    1.81      |> not (null vars) ? refine_terms (length goal_propss)
    1.82 -    |> null props ? (refine (Method.Basic (Method.assumption, Position.none)) #> Seq.hd)
    1.83 +    |> null props ? (refine (Method.Basic Method.assumption) #> Seq.hd)
    1.84    end;
    1.85  
    1.86  fun generic_qed after_ctxt state =