-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathecProvers.mli
More file actions
91 lines (72 loc) · 2.38 KB
/
ecProvers.mli
File metadata and controls
91 lines (72 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
(* -------------------------------------------------------------------- *)
open EcPath
(* -------------------------------------------------------------------- *)
type hflag = [ `Include | `Exclude ]
type hints
module Hints : sig
val empty : hints
val full : hints
val add1 : path -> hflag -> hints -> hints
val addm : path -> hflag -> hints -> hints
val mem : path -> hints -> bool
end
(* -------------------------------------------------------------------- *)
module Version : sig
type version
val to_string : version -> string
end
(* -------------------------------------------------------------------- *)
type coq_mode =
| Check (* Check scripts *)
| Edit (* Edit then check scripts *)
| Fix (* Try to check script, then edit script on non-success *)
(* -------------------------------------------------------------------- *)
type prover_eviction = [
| `Inconsistent
]
type prover = {
pr_name : string;
pr_version : Version.version;
pr_alt : string;
pr_evicted : (prover_eviction * bool) option;
}
type prover_infos = {
pr_maxprocs : int;
pr_provers : string list;
pr_timelimit : int;
pr_cpufactor : int;
pr_quorum : int;
pr_verbose : int;
pr_all : bool;
pr_max : int;
pr_wanted : hints;
pr_unwanted : hints;
pr_dumpin : string EcLocation.located option;
pr_selected : bool;
gn_debug : bool;
}
val dft_prover_infos : prover_infos
val dft_prover_names : string list
val known : evicted:bool -> prover list
(* -------------------------------------------------------------------- *)
type parsed_pname = {
prn_name : string;
prn_alt : string;
prn_version : Version.version option;
prn_ovrevict : bool;
}
val parse_prover_name : string -> parsed_pname
val is_prover_known : string -> bool
(* -------------------------------------------------------------------- *)
val initialize :
?ovrevict:string list
-> ?why3conf:string
-> unit -> unit
(* -------------------------------------------------------------------- *)
type notify = EcGState.loglevel -> string Lazy.t -> unit
val maybe_start_why3_server : prover_infos -> unit
val execute_task : ?notify:notify -> prover_infos -> Why3.Task.task -> bool option
val get_w3_th : string list -> string -> Why3.Theory.theory
val get_w3_main : unit -> Why3.Whyconf.main
val get_w3_env : unit -> Why3.Env.env
val get_w3_conf : unit -> Why3.Whyconf.config