# HG changeset patch # User berghofe # Date 1035213164 -7200 # Node ID cfe1dc32c2e56c73d5154e7fd6fb74ecce1fc0a4 # Parent 8c09e1fa24a7bb89c4ed759873652bbfb3527633 No more explicit manipulation of flex-flex constraints in metahyps_aux_tac. diff -r 8c09e1fa24a7 -r cfe1dc32c2e5 src/Pure/tctical.ML --- a/src/Pure/tctical.ML Mon Oct 21 17:11:29 2002 +0200 +++ b/src/Pure/tctical.ML Mon Oct 21 17:12:44 2002 +0200 @@ -463,11 +463,6 @@ fun embed B = list_all_free (params, Logic.list_implies (hyps, B)) (*Strip the context using elimination rules*) fun elim Bhyp = implies_elim_list (forall_elim_list cparams Bhyp) hypths - (*Embed an ff pair in the original params*) - fun embed_ff(t,u) = Logic.mk_flexpair (list_abs_free (params, t), - list_abs_free (params, u)) - (*Remove parameter abstractions from the ff pairs*) - fun elim_ff ff = flexpair_abs_elim_list cparams ff (*A form of lifting that discharges assumptions.*) fun relift st = let val prop = #prop(rep_thm st) @@ -475,17 +470,14 @@ foldr add_term_vars (Logic.strip_imp_prems prop, []) and concl_vars = add_term_vars (Logic.strip_imp_concl prop, []) val subgoal_insts = map (mk_subgoal_inst concl_vars) subgoal_vars - val st' = instantiate ([], map mk_ctpair subgoal_insts) st + val st' = Thm.instantiate ([], map mk_ctpair subgoal_insts) st val emBs = map (cterm o embed) (prems_of st') - and ffs = map (cterm o embed_ff) (tpairs_of st') - val Cth = implies_elim_list st' - (map (elim_ff o assume) ffs @ - map (elim o assume) emBs) + val Cth = implies_elim_list st' (map (elim o assume) emBs) in (*restore the unknowns to the hypotheses*) free_instantiate (map swap_ctpair insts @ map mk_subgoal_swap_ctpair subgoal_insts) (*discharge assumptions from state in same order*) - (implies_intr_list (ffs@emBs) + (implies_intr_list emBs (forall_intr_list cparams (implies_intr_list chyps Cth))) end val subprems = map (forall_elim_vars 0) hypths