equal
deleted
inserted
replaced
299 NONE => ([th],thy) |
299 NONE => ([th],thy) |
300 | SOME (thy',cls) => |
300 | SOME (thy',cls) => |
301 (change clause_cache (Symtab.update (name, (th, cls))); (cls,thy'))) |
301 (change clause_cache (Symtab.update (name, (th, cls))); (cls,thy'))) |
302 | SOME (th',cls) => |
302 | SOME (th',cls) => |
303 if eq_thm(th,th') then (cls,thy) |
303 if eq_thm(th,th') then (cls,thy) |
304 else (warning ("skolem_cache: Ignoring variant of theorem " ^ name); |
304 else (Output.debug ("skolem_cache: Ignoring variant of theorem " ^ name); |
305 warning (string_of_thm th); |
305 Output.debug (string_of_thm th); |
306 warning (string_of_thm th'); |
306 Output.debug (string_of_thm th'); |
307 ([th],thy)); |
307 ([th],thy)); |
308 |
308 |
309 fun skolem_cache ((name,th), thy) = #2 (skolem_cache_thm ((name,th), thy)); |
309 fun skolem_cache ((name,th), thy) = #2 (skolem_cache_thm ((name,th), thy)); |
310 |
310 |
311 |
311 |
317 NONE => |
317 NONE => |
318 let val cls = cnf th |
318 let val cls = cnf th |
319 in change clause_cache (Symtab.update (s, (th, cls))); cls end |
319 in change clause_cache (Symtab.update (s, (th, cls))); cls end |
320 | SOME(th',cls) => |
320 | SOME(th',cls) => |
321 if eq_thm(th,th') then cls |
321 if eq_thm(th,th') then cls |
322 else (warning ("cnf_axiom: duplicate or variant of theorem " ^ name); |
322 else (Output.debug ("cnf_axiom: duplicate or variant of theorem " ^ name); |
323 warning (string_of_thm th); |
323 Output.debug (string_of_thm th); |
324 warning (string_of_thm th'); |
324 Output.debug (string_of_thm th'); |
325 cls); |
325 cls); |
326 |
326 |
327 fun pairname th = (Thm.name_of_thm th, th); |
327 fun pairname th = (Thm.name_of_thm th, th); |
328 |
328 |
329 |
329 |