src/Provers/quantifier1.ML
changeset 42361 23f352990944
parent 38457 b8760b6e7c65
child 42456 13b4b6ba3593
equal deleted inserted replaced
42360:da8817d01e7c 42361:23f352990944
   111             if qa = q then exqu ((qC,x,T)::xs) Q else NONE
   111             if qa = q then exqu ((qC,x,T)::xs) Q else NONE
   112         | exqu xs P = extract (null xs) xs P
   112         | exqu xs P = extract (null xs) xs P
   113   in exqu [] end;
   113   in exqu [] end;
   114 
   114 
   115 fun prove_conv tac thy tu =
   115 fun prove_conv tac thy tu =
   116   let val ctxt = ProofContext.init_global thy;
   116   let val ctxt = Proof_Context.init_global thy;
   117       val eq_tu = Logic.mk_equals tu;
   117       val eq_tu = Logic.mk_equals tu;
   118       val ([fixed_goal], ctxt') = Variable.import_terms true [eq_tu] ctxt;
   118       val ([fixed_goal], ctxt') = Variable.import_terms true [eq_tu] ctxt;
   119       val thm = Goal.prove ctxt' [] [] fixed_goal
   119       val thm = Goal.prove ctxt' [] [] fixed_goal
   120             (K (rtac iff_reflection 1 THEN tac));
   120             (K (rtac iff_reflection 1 THEN tac));
   121       val [gen_thm] = Variable.export ctxt' ctxt [thm];
   121       val [gen_thm] = Variable.export ctxt' ctxt [thm];