FSet.thy
changeset 455 9cb45d022524
parent 452 7ba2c16fe0c8
child 458 44a70e69ef92
--- a/FSet.thy	Sun Nov 29 19:48:55 2009 +0100
+++ b/FSet.thy	Sun Nov 29 23:59:37 2009 +0100
@@ -303,8 +303,20 @@
 ML {* val consts = lookup_quot_consts defs *}
 ML {* fun lift_tac_fset lthy t = lift_tac lthy t [rel_eqv] rty [quot] defs *}
 
+thm m1
+
 lemma "IN x EMPTY = False"
-by (tactic {* lift_tac_fset @{context} @{thm m1} 1 *})
+apply(tactic {* procedure_tac @{context} @{thm m1} 1 *})
+apply(tactic {* regularize_tac @{context}  [rel_eqv] 1 *})
+apply(tactic {* all_inj_repabs_tac @{context} rty [quot] [rel_refl] [trans2] 1 *})
+ML_prf {* 
+  val rtrm = @{term "\<forall>x. IN x EMPTY = False"}
+  val qtrm = @{term "\<forall>x. x memb [] = False"}
+  val aps = find_aps rtrm qtrm 
+*}
+unfolding IN_def EMPTY_def
+apply(tactic {* clean_tac @{context} [quot] defs aps 1*})
+done
 
 lemma "IN x (INSERT y xa) = (x = y \<or> IN x xa)"
 by (tactic {* lift_tac_fset @{context} @{thm m2} 1 *})