1
(************************************************************************)
2
(* v * The Coq Proof Assistant / The Coq Development Team *)
3
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
4
(* \VV/ **************************************************************)
5
(* // * This file is distributed under the terms of the *)
6
(* * GNU Lesser General Public License Version 2.1 *)
7
(************************************************************************)
9
(*i $Id: coq.mli 11126 2008-06-13 18:45:04Z herbelin $ i*)
16
val short_version : unit -> string
17
val version : unit -> string
19
type printing_state = {
20
mutable printing_implicit : bool;
21
mutable printing_coercions : bool;
22
mutable printing_raw_matching : bool;
23
mutable printing_no_notation : bool;
24
mutable printing_all : bool;
25
mutable printing_evar_instances : bool;
26
mutable printing_universes : bool;
27
mutable printing_full_all : bool
30
val printing_state : printing_state
33
| ResetToId of Names.identifier
34
| ResetToState of Libnames.object_name
38
| ResetAtSegmentStart of Names.identifier
39
| ResetAtRegisteredObject of reset_mark
41
type undo_info = identifier list
43
val undo_info : unit -> undo_info
45
type reset_info = reset_status * undo_info * bool ref
47
val compute_reset_info : Vernacexpr.vernac_expr -> reset_info
48
val reset_initial : unit -> unit
49
val reset_to : reset_mark -> unit
50
val reset_to_mod : identifier -> unit
52
val init : unit -> string list
53
val interp : bool -> string -> reset_info * (Util.loc * Vernacexpr.vernac_expr)
54
val interp_last : Util.loc * Vernacexpr.vernac_expr -> unit
55
val interp_and_replace : string ->
56
(reset_info * (Util.loc * Vernacexpr.vernac_expr)) * string
58
val is_vernac_tactic_command : Vernacexpr.vernac_expr -> bool
59
val is_vernac_state_preserving_command : Vernacexpr.vernac_expr -> bool
60
val is_vernac_goal_starting_command : Vernacexpr.vernac_expr -> bool
61
val is_vernac_proof_ending_command : Vernacexpr.vernac_expr -> bool
63
(* type hyp = (identifier * constr option * constr) * string *)
65
type hyp = env * evar_map *
66
((identifier*string) * constr option * constr) * (string * string)
67
type meta = env * evar_map * string
68
type concl = env * evar_map * constr * string
69
type goal = hyp list * concl
71
val get_current_goals : unit -> goal list
73
val get_current_pm_goal : unit -> goal
75
val get_current_goals_nb : unit -> int
77
val print_no_goal : unit -> string
79
val process_exn : exn -> string*(Util.loc option)
81
val hyp_menu : hyp -> (string * string) list
82
val concl_menu : concl -> (string * string) list
84
val is_in_coq_lib : string -> bool
85
val is_in_coq_path : string -> bool
86
val is_in_loadpath : string -> bool
88
val make_cases : string -> string list list
93
| Success of int (* nb of goals after *)
96
val try_interptac: string -> tried_tactic
98
(* Message to display in lower status bar. *)
100
val current_status : unit -> string