src/HOL/Tools/ATP/atp_proof_reconstruct.ML
changeset 46427 4fd25dadbd94
parent 46367 723343a03abe
child 46435 e9c90516bc0d
equal deleted inserted replaced
46426:fd15abc50fc1 46427:4fd25dadbd94
   209   if null atp_proof then Vector.foldl (uncurry (union (op =))) [] fact_names
   209   if null atp_proof then Vector.foldl (uncurry (union (op =))) [] fact_names
   210   else fold (add_fact ctxt fact_names) atp_proof []
   210   else fold (add_fact ctxt fact_names) atp_proof []
   211 
   211 
   212 fun used_facts_in_unsound_atp_proof _ _ [] = NONE
   212 fun used_facts_in_unsound_atp_proof _ _ [] = NONE
   213   | used_facts_in_unsound_atp_proof ctxt fact_names atp_proof =
   213   | used_facts_in_unsound_atp_proof ctxt fact_names atp_proof =
   214     let
   214     let val used_facts = used_facts_in_atp_proof ctxt fact_names atp_proof in
   215       val used_facts = used_facts_in_atp_proof ctxt fact_names atp_proof
       
   216     in
       
   217       if forall (fn (_, (sc, _)) => sc = Global) used_facts andalso
   215       if forall (fn (_, (sc, _)) => sc = Global) used_facts andalso
   218          not (is_axiom_used_in_proof (is_conjecture o single) atp_proof) then
   216          not (is_axiom_used_in_proof (is_conjecture o single) atp_proof) then
   219         SOME (map fst used_facts)
   217         SOME (map fst used_facts)
   220       else
   218       else
   221         NONE
   219         NONE