16 type minimize_command = ATP_Proof_Reconstruct.minimize_command |
16 type minimize_command = ATP_Proof_Reconstruct.minimize_command |
17 |
17 |
18 datatype mode = Auto_Try | Try | Normal | Auto_Minimize | Minimize |
18 datatype mode = Auto_Try | Try | Normal | Auto_Minimize | Minimize |
19 |
19 |
20 type params = |
20 type params = |
21 {debug: bool, |
21 {debug : bool, |
22 verbose: bool, |
22 verbose : bool, |
23 overlord: bool, |
23 overlord : bool, |
24 blocking: bool, |
24 blocking : bool, |
25 provers: string list, |
25 provers : string list, |
26 type_enc: string option, |
26 type_enc : string option, |
27 strict: bool, |
27 strict : bool, |
28 lam_trans: string option, |
28 lam_trans : string option, |
29 uncurried_aliases: bool option, |
29 uncurried_aliases : bool option, |
30 fact_filter: string option, |
30 learn : bool, |
31 max_facts: int option, |
31 fact_filter : string option, |
32 fact_thresholds: real * real, |
32 max_facts : int option, |
33 max_mono_iters: int option, |
33 fact_thresholds : real * real, |
34 max_new_mono_instances: int option, |
34 max_mono_iters : int option, |
35 isar_proof: bool, |
35 max_new_mono_instances : int option, |
36 isar_shrink_factor: int, |
36 isar_proof : bool, |
37 slice: bool, |
37 isar_shrink_factor : int, |
38 minimize: bool option, |
38 slice : bool, |
39 timeout: Time.time, |
39 minimize : bool option, |
40 preplay_timeout: Time.time, |
40 timeout : Time.time, |
41 expect: string} |
41 preplay_timeout : Time.time, |
|
42 expect : string} |
42 |
43 |
43 type relevance_fudge = |
44 type relevance_fudge = |
44 {local_const_multiplier : real, |
45 {local_const_multiplier : real, |
45 worse_irrel_freq : real, |
46 worse_irrel_freq : real, |
46 higher_order_irrel_weight : real, |
47 higher_order_irrel_weight : real, |
64 datatype prover_fact = |
65 datatype prover_fact = |
65 Untranslated_Fact of (string * stature) * thm | |
66 Untranslated_Fact of (string * stature) * thm | |
66 SMT_Weighted_Fact of (string * stature) * (int option * thm) |
67 SMT_Weighted_Fact of (string * stature) * (int option * thm) |
67 |
68 |
68 type prover_problem = |
69 type prover_problem = |
69 {state: Proof.state, |
70 {state : Proof.state, |
70 goal: thm, |
71 goal : thm, |
71 subgoal: int, |
72 subgoal : int, |
72 subgoal_count: int, |
73 subgoal_count : int, |
73 facts: prover_fact list} |
74 facts : prover_fact list} |
74 |
75 |
75 type prover_result = |
76 type prover_result = |
76 {outcome: failure option, |
77 {outcome : failure option, |
77 used_facts: (string * stature) list, |
78 used_facts : (string * stature) list, |
78 run_time: Time.time, |
79 run_time : Time.time, |
79 preplay: unit -> play, |
80 preplay : unit -> play, |
80 message: play -> string, |
81 message : play -> string, |
81 message_tail: string} |
82 message_tail : string} |
82 |
83 |
83 type prover = |
84 type prover = |
84 params -> ((string * string list) list -> string -> minimize_command) |
85 params -> ((string * string list) list -> string -> minimize_command) |
85 -> prover_problem -> prover_result |
86 -> prover_problem -> prover_result |
86 |
87 |
304 |
305 |
305 |
306 |
306 (** problems, results, ATPs, etc. **) |
307 (** problems, results, ATPs, etc. **) |
307 |
308 |
308 type params = |
309 type params = |
309 {debug: bool, |
310 {debug : bool, |
310 verbose: bool, |
311 verbose : bool, |
311 overlord: bool, |
312 overlord : bool, |
312 blocking: bool, |
313 blocking : bool, |
313 provers: string list, |
314 provers : string list, |
314 type_enc: string option, |
315 type_enc : string option, |
315 strict: bool, |
316 strict : bool, |
316 lam_trans: string option, |
317 lam_trans : string option, |
317 uncurried_aliases: bool option, |
318 uncurried_aliases : bool option, |
318 fact_filter: string option, |
319 learn : bool, |
319 max_facts: int option, |
320 fact_filter : string option, |
320 fact_thresholds: real * real, |
321 max_facts : int option, |
321 max_mono_iters: int option, |
322 fact_thresholds : real * real, |
322 max_new_mono_instances: int option, |
323 max_mono_iters : int option, |
323 isar_proof: bool, |
324 max_new_mono_instances : int option, |
324 isar_shrink_factor: int, |
325 isar_proof : bool, |
325 slice: bool, |
326 isar_shrink_factor : int, |
326 minimize: bool option, |
327 slice : bool, |
327 timeout: Time.time, |
328 minimize : bool option, |
328 preplay_timeout: Time.time, |
329 timeout : Time.time, |
329 expect: string} |
330 preplay_timeout : Time.time, |
|
331 expect : string} |
330 |
332 |
331 type relevance_fudge = |
333 type relevance_fudge = |
332 {local_const_multiplier : real, |
334 {local_const_multiplier : real, |
333 worse_irrel_freq : real, |
335 worse_irrel_freq : real, |
334 higher_order_irrel_weight : real, |
336 higher_order_irrel_weight : real, |
352 datatype prover_fact = |
354 datatype prover_fact = |
353 Untranslated_Fact of (string * stature) * thm | |
355 Untranslated_Fact of (string * stature) * thm | |
354 SMT_Weighted_Fact of (string * stature) * (int option * thm) |
356 SMT_Weighted_Fact of (string * stature) * (int option * thm) |
355 |
357 |
356 type prover_problem = |
358 type prover_problem = |
357 {state: Proof.state, |
359 {state : Proof.state, |
358 goal: thm, |
360 goal : thm, |
359 subgoal: int, |
361 subgoal : int, |
360 subgoal_count: int, |
362 subgoal_count : int, |
361 facts: prover_fact list} |
363 facts : prover_fact list} |
362 |
364 |
363 type prover_result = |
365 type prover_result = |
364 {outcome: failure option, |
366 {outcome : failure option, |
365 used_facts: (string * stature) list, |
367 used_facts : (string * stature) list, |
366 run_time: Time.time, |
368 run_time : Time.time, |
367 preplay: unit -> play, |
369 preplay : unit -> play, |
368 message: play -> string, |
370 message : play -> string, |
369 message_tail: string} |
371 message_tail : string} |
370 |
372 |
371 type prover = |
373 type prover = |
372 params -> ((string * string list) list -> string -> minimize_command) |
374 params -> ((string * string list) list -> string -> minimize_command) |
373 -> prover_problem -> prover_result |
375 -> prover_problem -> prover_result |
374 |
376 |