src/HOL/Enum.thy
changeset 59582 0fbed69ff081
parent 58889 5b7a9633cfa8
child 59867 58043346ca64
equal deleted inserted replaced
59580:cbc38731d42f 59582:0fbed69ff081
   561 
   561 
   562 lemma finite_1_eq: "x = a\<^sub>1"
   562 lemma finite_1_eq: "x = a\<^sub>1"
   563 by(cases x) simp
   563 by(cases x) simp
   564 
   564 
   565 simproc_setup finite_1_eq ("x::finite_1") = {*
   565 simproc_setup finite_1_eq ("x::finite_1") = {*
   566   fn _ => fn _ => fn ct => case term_of ct of
   566   fn _ => fn _ => fn ct =>
   567     Const (@{const_name a\<^sub>1}, _) => NONE
   567     (case Thm.term_of ct of
   568   | _ => SOME (mk_meta_eq @{thm finite_1_eq})
   568       Const (@{const_name a\<^sub>1}, _) => NONE
       
   569     | _ => SOME (mk_meta_eq @{thm finite_1_eq}))
   569 *}
   570 *}
   570 
   571 
   571 instantiation finite_1 :: complete_boolean_algebra begin
   572 instantiation finite_1 :: complete_boolean_algebra
       
   573 begin
   572 definition [simp]: "op - = (\<lambda>_ _. a\<^sub>1)"
   574 definition [simp]: "op - = (\<lambda>_ _. a\<^sub>1)"
   573 definition [simp]: "uminus = (\<lambda>_. a\<^sub>1)"
   575 definition [simp]: "uminus = (\<lambda>_. a\<^sub>1)"
   574 instance by intro_classes simp_all
   576 instance by intro_classes simp_all
   575 end
   577 end
   576 
   578