src/HOL/Tools/TFL/post.ML
changeset 33245 65232054ffd0
parent 33042 ddf1f03a9ad9
child 33317 b4534348b8fd
equal deleted inserted replaced
33244:db230399f890 33245:65232054ffd0
   187       handle ERROR s => 
   187       handle ERROR s => 
   188              (warning ("recdef (solve_eq): " ^ s); map (fn x => (x,i)) splitths);
   188              (warning ("recdef (solve_eq): " ^ s); map (fn x => (x,i)) splitths);
   189 in
   189 in
   190 fun derive_init_eqs sgn rules eqs = 
   190 fun derive_init_eqs sgn rules eqs = 
   191     let 
   191     let 
   192       val eqths = map (Thm.trivial o (Thm.cterm_of sgn) o HOLogic.mk_Trueprop) 
   192       val eqths = map (Thm.trivial o (Thm.cterm_of sgn) o HOLogic.mk_Trueprop) eqs
   193                       eqs
   193       fun countlist l =
   194       fun countlist l = 
   194         rev (snd (fold (fn e => fn (i, L) => (i + 1, (e, i) :: L)) l (0, [])))
   195           (rev o snd o (Library.foldl (fn ((i,L), e) => (i + 1,(e,i) :: L)))) ((0,[]), l)
       
   196     in
   195     in
   197       maps (fn (e,i) => solve_eq (e, (get_related_thms i rules), i)) (countlist eqths)
   196       maps (fn (e, i) => solve_eq (e, (get_related_thms i rules), i)) (countlist eqths)
   198     end;
   197     end;
   199 end;
   198 end;
   200 
   199 
   201 
   200 
   202 (*---------------------------------------------------------------------------
   201 (*---------------------------------------------------------------------------