src/Pure/Isar/proof.ML
changeset 7928 06a11f8cf573
parent 7924 5fee69b1f5fe
child 8095 497a9240acf3
     1.1 --- a/src/Pure/Isar/proof.ML	Mon Oct 25 19:24:43 1999 +0200
     1.2 +++ b/src/Pure/Isar/proof.ML	Mon Oct 25 20:38:03 1999 +0200
     1.3 @@ -573,11 +573,11 @@
     1.4  
     1.5  fun setup_goal opt_block prepp kind after_qed name atts raw_propp state =
     1.6    let
     1.7 -    val (state', [prop]) =
     1.8 +    val (state', prop) =
     1.9        state
    1.10        |> assert_forward_or_chain
    1.11        |> enter_forward
    1.12 -      |> map_context_result (prepp [raw_propp]);
    1.13 +      |> map_context_result (prepp raw_propp);
    1.14      val cprop = Thm.cterm_of (sign_of state') prop;
    1.15      val goal = Drule.mk_triv_goal cprop;
    1.16    in
    1.17 @@ -593,22 +593,24 @@
    1.18  
    1.19  (*global goals*)
    1.20  fun global_goal prep kind name atts x thy =
    1.21 -  setup_goal I (prep false) kind Seq.single name atts x (init_state thy);
    1.22 +  setup_goal I prep kind Seq.single name atts x (init_state thy);
    1.23  
    1.24 -val theorem = global_goal ProofContext.bind_propps Theorem;
    1.25 -val theorem_i = global_goal ProofContext.bind_propps_i Theorem;
    1.26 -val lemma = global_goal ProofContext.bind_propps Lemma;
    1.27 -val lemma_i = global_goal ProofContext.bind_propps_i Lemma;
    1.28 +val theorem = global_goal ProofContext.bind_propp Theorem;
    1.29 +val theorem_i = global_goal ProofContext.bind_propp_i Theorem;
    1.30 +val lemma = global_goal ProofContext.bind_propp Lemma;
    1.31 +val lemma_i = global_goal ProofContext.bind_propp_i Lemma;
    1.32  
    1.33  
    1.34  (*local goals*)
    1.35 -fun local_goal prep kind f name atts x =
    1.36 -  setup_goal open_block (prep true) kind f name atts x;
    1.37 +fun local_goal prep kind f name atts args state =
    1.38 +  state
    1.39 +  |> setup_goal open_block prep kind f name atts args
    1.40 +  |> warn_extra_tfrees state;
    1.41  
    1.42 -val show   = local_goal ProofContext.bind_propps Goal;
    1.43 -val show_i = local_goal ProofContext.bind_propps_i Goal;
    1.44 -val have   = local_goal ProofContext.bind_propps Aux;
    1.45 -val have_i = local_goal ProofContext.bind_propps_i Aux;
    1.46 +val show   = local_goal ProofContext.bind_propp Goal;
    1.47 +val show_i = local_goal ProofContext.bind_propp_i Goal;
    1.48 +val have   = local_goal ProofContext.bind_propp Aux;
    1.49 +val have_i = local_goal ProofContext.bind_propp_i Aux;
    1.50  
    1.51  
    1.52