diff -r a53f5db5acbb -r 73b8b42a36b6 src/HOL/MetisExamples/Abstraction.thy --- a/src/HOL/MetisExamples/Abstraction.thy Thu Sep 27 17:28:05 2007 +0200 +++ b/src/HOL/MetisExamples/Abstraction.thy Thu Sep 27 17:55:28 2007 +0200 @@ -90,13 +90,20 @@ apply (metis Collect_mem_eq SigmaD2); done -lemma "(cl,f) \ CLF ==> CLF = (SIGMA cl: CL.{f. f \ pset cl}) ==> f \ pset cl"proof (neg_clausify) -assume 0: "(cl, f) \ CLF" -assume 1: "CLF = Sigma CL llabs_subgoal_1" -assume 2: "\cl. llabs_subgoal_1 cl = Collect (llabs_Predicate_Xsup_Un_eq_1_ (pset cl))" -assume 3: "f \ pset cl" +lemma "(cl,f) \ CLF ==> CLF = (SIGMA cl: CL.{f. f \ pset cl}) ==> f \ pset cl" +proof (neg_clausify) +assume 0: "\cl\'a\type set. + (llabs_subgoal_1\'a\type set \ 'a\type set) cl = + Collect (llabs_Set_XCollect_ex_eq_3_ op \ (pset cl))" +assume 1: "(f\'a\type) \ pset (cl\'a\type set)" +assume 2: "(cl\'a\type set, f\'a\type) \ (CLF\('a\type set \ 'a\type) set)" +have 3: "llabs_Predicate_Xsup_Un_eq2_1_ (CLF\('a\type set \ 'a\type) set) + (cl\'a\type set) (f\'a\type)" + by (metis acc_def 2) +assume 4: "(CLF\('a\type set \ 'a\type) set) = +Sigma (CL\'a\type set set) (llabs_subgoal_1\'a\type set \ 'a\type set)" show "False" - by (metis 0 1 SigmaD2 3 2 Collect_mem_eq) + by (metis 1 Collect_mem_eq 0 3 4 acc_def SigmaD2) qed finish_clausify (*ugly hack: combinators??*) ML{*ResAtp.problem_name := "Abstraction__Sigma_Collect_Pi"*} @@ -110,15 +117,16 @@ "(cl,f) \ (SIGMA cl::'a set : CL. {f. f \ pset cl \ pset cl}) ==> f \ pset cl \ pset cl" proof (neg_clausify) -assume 0: "(cl, f) \ Sigma CL llabs_subgoal_1" -assume 1: "\cl. llabs_subgoal_1 cl = - Collect - (llabs_Predicate_Xsup_Un_eq_1_ (Pi (pset cl) (COMBK (pset cl))))" -assume 2: "f \ Pi (pset cl) (COMBK (pset cl))" -have 3: "\ llabs_Predicate_Xsup_Un_eq_1_ (Pi (pset cl) (COMBK (pset cl))) f" - by (metis Collect_mem_eq 2) +assume 0: "\cl\'a\type set. + (llabs_subgoal_1\'a\type set \ ('a\type \ 'a\type) set) cl = + Collect + (llabs_Set_XCollect_ex_eq_3_ op \ (Pi (pset cl) (COMBK (pset cl))))" +assume 1: "(f\'a\type \ 'a\type) \ Pi (pset (cl\'a\type set)) (COMBK (pset cl))" +assume 2: "(cl\'a\type set, f\'a\type \ 'a\type) +\ Sigma (CL\'a\type set set) + (llabs_subgoal_1\'a\type set \ ('a\type \ 'a\type) set)" show "False" - by (metis acc_def 0 Collect_mem_eq SigmaD2 3 1 Collect_mem_eq) + by (metis 1 Collect_mem_eq 0 SigmaD2 2) qed finish_clausify (*Hack to prevent the "Additional hypotheses" error*)