equal
deleted
inserted
replaced
655 (* our proof format, where original clauses are numbered starting from 0 *) |
655 (* our proof format, where original clauses are numbered starting from 0 *) |
656 val clause_id_map = Unsynchronized.ref (Inttab.empty : int Inttab.table) |
656 val clause_id_map = Unsynchronized.ref (Inttab.empty : int Inttab.table) |
657 fun sat_to_proof id = ( |
657 fun sat_to_proof id = ( |
658 case Inttab.lookup (!clause_id_map) id of |
658 case Inttab.lookup (!clause_id_map) id of |
659 SOME id' => id' |
659 SOME id' => id' |
660 | NONE => raise INVALID_PROOF ("Clause ID " ^ Int.toString id ^ " used, but not defined.") |
660 | NONE => raise INVALID_PROOF ("Clause ID " ^ string_of_int id ^ " used, but not defined.") |
661 ) |
661 ) |
662 val next_id = Unsynchronized.ref (number_of_clauses - 1) |
662 val next_id = Unsynchronized.ref (number_of_clauses - 1) |
663 (* string list -> unit *) |
663 (* string list -> unit *) |
664 fun process_tokens [] = |
664 fun process_tokens [] = |
665 () |
665 () |