src/HOL/SMT/Tools/z3_solver.ML
changeset 33418 1312e8337ce5
parent 33299 73af7831ba1e
child 33472 e88f67d679c4
equal deleted inserted replaced
33417:ab2f6574a2a6 33418:1312e8337ce5
    50     val (ls, l) = the_default ([], "") (try split_last (filter_out jnk output))
    50     val (ls, l) = the_default ([], "") (try split_last (filter_out jnk output))
    51   in
    51   in
    52     if String.isPrefix "unsat" l then ls
    52     if String.isPrefix "unsat" l then ls
    53     else if String.isPrefix "sat" l then raise_cex true recon ls
    53     else if String.isPrefix "sat" l then raise_cex true recon ls
    54     else if String.isPrefix "unknown" l then raise_cex false recon ls
    54     else if String.isPrefix "unknown" l then raise_cex false recon ls
    55     else error (solver_name ^ " failed")
    55     else raise SMT_Solver.SMT (solver_name ^ " failed")
    56   end
    56   end
    57 
    57 
    58 fun core_oracle ({output, recon, ...} : SMT_Solver.proof_data) =
    58 fun core_oracle ({output, recon, ...} : SMT_Solver.proof_data) =
    59   check_unsat recon output
    59   check_unsat recon output
    60   |> K @{cprop False}
    60   |> K @{cprop False}