equal
deleted
inserted
replaced
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]; |