equal
deleted
inserted
replaced
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 (*--------------------------------------------------------------------------- |