equal
deleted
inserted
replaced
44 bool -> int Symtab.table -> |
44 bool -> int Symtab.table -> |
45 (string, string, (string, string atp_type) atp_term, string) atp_formula -> term |
45 (string, string, (string, string atp_type) atp_term, string) atp_formula -> term |
46 |
46 |
47 val used_facts_in_atp_proof : Proof.context -> (string * stature) list -> string atp_proof -> |
47 val used_facts_in_atp_proof : Proof.context -> (string * stature) list -> string atp_proof -> |
48 (string * stature) list |
48 (string * stature) list |
49 val used_facts_in_unsound_atp_proof : Proof.context -> (string * stature) list -> 'a atp_proof -> |
|
50 string list option |
|
51 val atp_proof_prefers_lifting : string atp_proof -> bool |
49 val atp_proof_prefers_lifting : string atp_proof -> bool |
52 val is_typed_helper_used_in_atp_proof : string atp_proof -> bool |
50 val is_typed_helper_used_in_atp_proof : string atp_proof -> bool |
53 val replace_dependencies_in_line : atp_step_name * atp_step_name list -> ('a, 'b) atp_step -> |
51 val replace_dependencies_in_line : atp_step_name * atp_step_name list -> ('a, 'b) atp_step -> |
54 ('a, 'b) atp_step |
52 ('a, 'b) atp_step |
55 val termify_atp_proof : Proof.context -> string -> ATP_Problem.atp_format -> |
53 val termify_atp_proof : Proof.context -> string -> ATP_Problem.atp_format -> |
517 #> (if null deps then union (op =) (resolve_facts facts (num :: ss)) else I) |
515 #> (if null deps then union (op =) (resolve_facts facts (num :: ss)) else I) |
518 |
516 |
519 fun used_facts_in_atp_proof ctxt facts atp_proof = |
517 fun used_facts_in_atp_proof ctxt facts atp_proof = |
520 if null atp_proof then facts else fold (add_fact ctxt facts) atp_proof [] |
518 if null atp_proof then facts else fold (add_fact ctxt facts) atp_proof [] |
521 |
519 |
522 fun used_facts_in_unsound_atp_proof _ _ [] = NONE |
|
523 | used_facts_in_unsound_atp_proof ctxt facts atp_proof = |
|
524 let |
|
525 val used_facts = used_facts_in_atp_proof ctxt facts atp_proof |
|
526 val all_global_facts = forall (fn (_, (sc, _)) => sc = Global) used_facts |
|
527 val axiom_used = is_axiom_used_in_proof (is_some o resolve_conjecture) atp_proof |
|
528 in |
|
529 if all_global_facts andalso not axiom_used then |
|
530 SOME (map fst used_facts) |
|
531 else |
|
532 NONE |
|
533 end |
|
534 |
|
535 val ascii_of_lam_fact_prefix = ascii_of lam_fact_prefix |
520 val ascii_of_lam_fact_prefix = ascii_of lam_fact_prefix |
536 |
521 |
537 (* overapproximation (good enough) *) |
522 (* overapproximation (good enough) *) |
538 fun is_lam_lifted s = |
523 fun is_lam_lifted s = |
539 String.isPrefix fact_prefix s andalso |
524 String.isPrefix fact_prefix s andalso |