src/HOL/Library/ExecutableSet.thy
changeset 21323 74ab7c0980c7
parent 21321 9022a90f6fdd
child 21385 cf398bb8a8be
equal deleted inserted replaced
21322:26f64e7a67b5 21323:74ab7c0980c7
     7 
     7 
     8 theory ExecutableSet
     8 theory ExecutableSet
     9 imports Main
     9 imports Main
    10 begin
    10 begin
    11 
    11 
    12 section {* Definitional equality rewrites *}
    12 section {* Definitional rewrites *}
    13 
    13 
    14 instance set :: (eq) eq ..
    14 instance set :: (eq) eq ..
    15 
    15 
    16 lemma [code target: Set]:
    16 lemma [code target: Set]:
    17   "(A = B) = (A \<subseteq> B \<and> B \<subseteq> A)"
    17   "(A = B) \<longleftrightarrow> (A \<subseteq> B \<and> B \<subseteq> A)"
    18   by blast
    18   by blast
    19 
    19 
    20 lemma [code func]:
    20 lemma [code func]:
    21   "Code_Generator.eq A B = (A \<subseteq> B \<and> B \<subseteq> A)"
    21   "Code_Generator.eq A B \<longleftrightarrow> (A \<subseteq> B \<and> B \<subseteq> A)"
    22   unfolding eq_def by blast
    22   unfolding eq_def by blast
    23 
    23 
    24 declare bex_triv_one_point1 [symmetric, standard, code]
    24 lemma [code]:
       
    25   "a \<in> A \<longleftrightarrow> (\<exists>x\<in>A. x = a)"
       
    26   unfolding bex_triv_one_point1 ..
    25 
    27 
    26 
    28 
    27 section {* HOL definitions *}
    29 section {* HOL definitions *}
    28 
    30 
    29 subsection {* Basic definitions *}
    31 subsection {* Basic definitions *}