# HG changeset patch # User Christian Urban # Date 1260290458 -3600 # Node ID b98d64dc98d9ce20bd7a0119c9085506526c7fb6 # Parent e472aa533a24d7ec172d429822c613498bc04286 added preserve rules to the cleaning_tac diff -r e472aa533a24 -r b98d64dc98d9 Quot/Examples/FSet.thy --- a/Quot/Examples/FSet.thy Tue Dec 08 17:34:10 2009 +0100 +++ b/Quot/Examples/FSet.thy Tue Dec 08 17:40:58 2009 +0100 @@ -430,15 +430,12 @@ sorry lemma "(\e. (FUNION x (INSERT e EMPTY))) = (\e. (INSERT e x))" -apply (tactic {* procedure_tac @{context} @{thm ttt2} 1 *}) -apply(tactic {* regularize_tac @{context} 1 *}) +apply(lifting ttt2) +apply(regularize) apply(rule impI) apply(simp) apply(rule allI) apply(rule list_eq_refl) -apply(tactic {* all_inj_repabs_tac @{context} 1*}) -apply(tactic {* clean_tac @{context} 1 *}) -apply(tactic {* clean_tac @{context} 1 *}) (* TODO: needs lambda_prs twice *) done lemma ttt3: "(\x. ((op @) x ((op #) e []))) = (\x. ((op #) e x))" diff -r e472aa533a24 -r b98d64dc98d9 Quot/QuotMain.thy --- a/Quot/QuotMain.thy Tue Dec 08 17:34:10 2009 +0100 +++ b/Quot/QuotMain.thy Tue Dec 08 17:40:58 2009 +0100 @@ -1055,7 +1055,7 @@ val thy = ProofContext.theory_of lthy; val defs = map (Thm.varifyT o symmetric o #def) (qconsts_dest thy) (* FIXME: why is the Thm.varifyT needed: example where it fails is LamEx *) - val thms1 = @{thms all_prs ex_prs} @ defs + val thms1 = @{thms all_prs ex_prs} @ defs @ (prs_rules_get lthy) val thms2 = @{thms eq_reflection[OF fun_map.simps]} @ (id_simps_get lthy) @ @{thms Quotient_abs_rep Quotient_rel_rep} fun simps thms = (mk_minimal_ss lthy) addsimps thms addSolver quotient_solver