src/HOL/Tools/sat_solver.ML
changeset 41491 a2ad5b824051
parent 41471 54a58904a598
child 41944 b97091ae583a
equal deleted inserted replaced
41490:0f1e411a1448 41491:a2ad5b824051
   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         ()