
diff -r 17b369a73f15 -r cd2aca704279 Nominal/FSet.thy
--- a/Nominal/FSet.thy	Mon Oct 18 12:15:44 2010 +0100
+++ b/Nominal/FSet.thy	Tue Oct 19 10:10:41 2010 +0100
@@ -37,30 +37,30 @@
   lists.
 *}
 
-fun
+definition
   memb :: "'a \<Rightarrow> 'a list \<Rightarrow> bool"
 where
-  "memb x xs \<longleftrightarrow> x \<in> set xs"
+  [simp]: "memb x xs \<longleftrightarrow> x \<in> set xs"
 
-fun
+definition
   sub_list :: "'a list \<Rightarrow> 'a list \<Rightarrow> bool"
 where 
-  "sub_list xs ys \<longleftrightarrow> set xs \<subseteq> set ys"
+  [simp]: "sub_list xs ys \<longleftrightarrow> set xs \<subseteq> set ys"
 
-fun
+definition
   card_list :: "'a list \<Rightarrow> nat"
 where
-  "card_list xs = card (set xs)"
+  [simp]: "card_list xs = card (set xs)"
 
-fun
+definition
   inter_list :: "'a list \<Rightarrow> 'a list \<Rightarrow> 'a list"
 where
-  "inter_list xs ys = [x \<leftarrow> xs. x \<in> set xs \<and> x \<in> set ys]"
+  [simp]: "inter_list xs ys = [x \<leftarrow> xs. x \<in> set xs \<and> x \<in> set ys]"
 
-fun
+definition
   diff_list :: "'a list \<Rightarrow> 'a list \<Rightarrow> 'a list"
 where
-  "diff_list xs ys = [x \<leftarrow> xs. x \<notin> set ys]"
+  [simp]: "diff_list xs ys = [x \<leftarrow> xs. x \<notin> set ys]"
 
 definition
   rsp_fold
@@ -1018,7 +1018,7 @@
       assume h: "x \<noteq> a"
       then have f: "\<not> memb x (a # ys)" using d by auto
       have g: "a # xs \<approx> x # (a # ys)" using e h by auto
-      show thesis using b f g by (simp del: memb.simps) 
+      show thesis using b f g by (simp del: memb_def) 
     qed
   qed
   then show thesis using a c by blast
@@ -1158,7 +1158,7 @@
 *}
 
 no_notation
-  list_eq (infix "\<approx>" 50)
-and list_eq2 (infix "\<approx>2" 50)
+  list_eq (infix "\<approx>" 50) and 
+  list_eq2 (infix "\<approx>2" 50)
 
 end




