Quot/QuotMain.thy
changeset 870 2a19e0a37131
parent 869 ce5f78f0eac5
child 896 4e0b89d886ac
equal deleted inserted replaced
869:ce5f78f0eac5 870:2a19e0a37131
   146 by (simp add: Quot_True_def)
   146 by (simp add: Quot_True_def)
   147 
   147 
   148 use "quotient_tacs.ML"
   148 use "quotient_tacs.ML"
   149 
   149 
   150 
   150 
   151 (* Atomize infrastructure *)
       
   152 (* FIXME/TODO: is this really needed? *)
       
   153 (*
       
   154 lemma atomize_eqv[atomize]:
       
   155   shows "(Trueprop A \<equiv> Trueprop B) \<equiv> (A \<equiv> B)"
       
   156 proof
       
   157   assume "A \<equiv> B"
       
   158   then show "Trueprop A \<equiv> Trueprop B" by unfold
       
   159 next
       
   160   assume *: "Trueprop A \<equiv> Trueprop B"
       
   161   have "A = B"
       
   162   proof (cases A)
       
   163     case True
       
   164     have "A" by fact
       
   165     then show "A = B" using * by simp
       
   166   next
       
   167     case False
       
   168     have "\<not>A" by fact
       
   169     then show "A = B" using * by auto
       
   170   qed
       
   171   then show "A \<equiv> B" by (rule eq_reflection)
       
   172 qed
       
   173 *)
       
   174 
       
   175 section {* Methods / Interface *}
   151 section {* Methods / Interface *}
   176 
   152 
   177 ML {*
   153 ML {*
   178 fun mk_method1 tac thm ctxt =
   154 fun mk_method1 tac thm ctxt =
   179   SIMPLE_METHOD (HEADGOAL (tac ctxt thm)) 
   155   SIMPLE_METHOD (HEADGOAL (tac ctxt thm))