src/HOL/Tools/ATP/atp_proof.ML
changeset 43050 59284a13abc4
parent 43029 3e060b1c844b
child 43085 0a2f5b86bdd7
equal deleted inserted replaced
43049:99985426c0bb 43050:59284a13abc4
    14 
    14 
    15   exception UNRECOGNIZED_ATP_PROOF of unit
    15   exception UNRECOGNIZED_ATP_PROOF of unit
    16 
    16 
    17   datatype failure =
    17   datatype failure =
    18     Unprovable |
    18     Unprovable |
    19     IncompleteUnprovable |
    19     GaveUp |
    20     ProofMissing |
    20     ProofMissing |
    21     ProofIncomplete |
    21     ProofIncomplete |
    22     UnsoundProof of bool * string list |
    22     UnsoundProof of bool * string list |
    23     CantConnect |
    23     CantConnect |
    24     TimedOut |
    24     TimedOut |
    71 
    71 
    72 exception UNRECOGNIZED_ATP_PROOF of unit
    72 exception UNRECOGNIZED_ATP_PROOF of unit
    73 
    73 
    74 datatype failure =
    74 datatype failure =
    75   Unprovable |
    75   Unprovable |
    76   IncompleteUnprovable |
    76   GaveUp |
    77   ProofMissing |
    77   ProofMissing |
    78   ProofIncomplete |
    78   ProofIncomplete |
    79   UnsoundProof of bool * string list |
    79   UnsoundProof of bool * string list |
    80   CantConnect |
    80   CantConnect |
    81   TimedOut |
    81   TimedOut |
   144   | involving ss =
   144   | involving ss =
   145     "involving " ^ space_implode " " (Try.serial_commas "and" (map quote ss)) ^
   145     "involving " ^ space_implode " " (Try.serial_commas "and" (map quote ss)) ^
   146     " "
   146     " "
   147 
   147 
   148 fun string_for_failure Unprovable = "The problem is unprovable."
   148 fun string_for_failure Unprovable = "The problem is unprovable."
   149   | string_for_failure IncompleteUnprovable = "The prover gave up."
   149   | string_for_failure GaveUp = "The prover gave up."
   150   | string_for_failure ProofMissing =
   150   | string_for_failure ProofMissing =
   151     "The prover claims the conjecture is a theorem but did not provide a proof."
   151     "The prover claims the conjecture is a theorem but did not provide a proof."
   152   | string_for_failure ProofIncomplete =
   152   | string_for_failure ProofIncomplete =
   153     "The prover claims the conjecture is a theorem but provided an incomplete \
   153     "The prover claims the conjecture is a theorem but provided an incomplete \
   154     \proof."
   154     \proof."
   229                                        known_failures output =
   229                                        known_failures output =
   230   case (extract_tstplike_proof proof_delims output,
   230   case (extract_tstplike_proof proof_delims output,
   231         extract_known_failure known_failures output) of
   231         extract_known_failure known_failures output) of
   232     (_, SOME ProofIncomplete) => ("", SOME ProofIncomplete)
   232     (_, SOME ProofIncomplete) => ("", SOME ProofIncomplete)
   233   | ("", SOME failure) =>
   233   | ("", SOME failure) =>
   234     ("", SOME (if failure = IncompleteUnprovable andalso complete then Unprovable
   234     ("", SOME (if failure = GaveUp andalso complete then Unprovable
   235                else failure))
   235                else failure))
   236   | ("", NONE) =>
   236   | ("", NONE) =>
   237     ("", SOME (if res_code = 0 andalso output = "" then ProofMissing
   237     ("", SOME (if res_code = 0 andalso output = "" then ProofMissing
   238                else UnknownError (short_output verbose output)))
   238                else UnknownError (short_output verbose output)))
   239   | (tstplike_proof, _) => (tstplike_proof, NONE)
   239   | (tstplike_proof, _) => (tstplike_proof, NONE)