src/Provers/simp.ML
changeset 6966 cfa87aef9ccd
parent 5961 6cf4e46ce95a
child 7645 c67115c0e105
equal deleted inserted replaced
6965:a766de752996 6966:cfa87aef9ccd
   116 
   116 
   117 val refl_tac = resolve_tac refl_thms;
   117 val refl_tac = resolve_tac refl_thms;
   118 
   118 
   119 fun find_res thms thm =
   119 fun find_res thms thm =
   120     let fun find [] = (prths thms; error"Check Simp_Data")
   120     let fun find [] = (prths thms; error"Check Simp_Data")
   121           | find(th::thms) = thm RS th handle _ => find thms
   121           | find(th::thms) = thm RS th handle THM _ => find thms
   122     in find thms end;
   122     in find thms end;
   123 
   123 
   124 val mk_trans = find_res trans_thms;
   124 val mk_trans = find_res trans_thms;
   125 
   125 
   126 fun mk_trans2 thm =
   126 fun mk_trans2 thm =
   127 let fun mk[] = error"Check transitivity"
   127 let fun mk[] = error"Check transitivity"
   128       | mk(t::ts) = (thm RSN (2,t))  handle _  => mk ts
   128       | mk(t::ts) = (thm RSN (2,t))  handle THM _  => mk ts
   129 in mk trans_thms end;
   129 in mk trans_thms end;
   130 
   130 
   131 (*Applies tactic and returns the first resulting state, FAILS if none!*)
   131 (*Applies tactic and returns the first resulting state, FAILS if none!*)
   132 fun one_result(tac,thm) = case Seq.pull(tac thm) of
   132 fun one_result(tac,thm) = case Seq.pull(tac thm) of
   133 	Some(thm',_) => thm'
   133 	Some(thm',_) => thm'