summaryrefslogtreecommitdiff
path: root/proofs/proof_type.mli
diff options
context:
space:
mode:
Diffstat (limited to 'proofs/proof_type.mli')
-rw-r--r--proofs/proof_type.mli55
1 files changed, 22 insertions, 33 deletions
diff --git a/proofs/proof_type.mli b/proofs/proof_type.mli
index 417f75da..2b0a10ba 100644
--- a/proofs/proof_type.mli
+++ b/proofs/proof_type.mli
@@ -1,14 +1,11 @@
(************************************************************************)
(* v * The Coq Proof Assistant / The Coq Development Team *)
-(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2011 *)
+(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2010 *)
(* \VV/ **************************************************************)
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(*i $Id: proof_type.mli 14641 2011-11-06 11:59:10Z herbelin $ i*)
-
-(*i*)
open Environ
open Evd
open Names
@@ -16,16 +13,18 @@ open Libnames
open Term
open Util
open Tacexpr
-open Decl_expr
-open Rawterm
+open Glob_term
open Genarg
open Nametab
open Pattern
-(*i*)
-(* This module defines the structure of proof tree and the tactic type. So, it
+(** This module defines the structure of proof tree and the tactic type. So, it
is used by [Proof_tree] and [Refiner] *)
+type goal = Goal.goal
+
+type tactic = goal sigma -> goal list sigma
+
type prim_rule =
| Intro of identifier
| Cut of bool * bool * identifier * types
@@ -41,42 +40,39 @@ type prim_rule =
| Rename of identifier * identifier
| Change_evars
-(* The type [goal sigma] is the type of subgoal. It has the following form
-\begin{verbatim}
- it = { evar_concl = [the conclusion of the subgoal]
+(** The type [goal sigma] is the type of subgoal. It has the following form
+{v it = \{ evar_concl = [the conclusion of the subgoal]
evar_hyps = [the hypotheses of the subgoal]
evar_body = Evar_Empty;
- evar_info = { pgm : [The Realizer pgm if any]
- lc : [Set of evar num occurring in subgoal] }}
- sigma = { stamp = [an int chardacterizing the ed field, for quick compare]
+ evar_info = \{ pgm : [The Realizer pgm if any]
+ lc : [Set of evar num occurring in subgoal] \}\}
+ sigma = \{ stamp = [an int chardacterizing the ed field, for quick compare]
ed : [A set of existential variables depending in the subgoal]
number of first evar,
- it = { evar_concl = [the type of first evar]
+ it = \{ evar_concl = [the type of first evar]
evar_hyps = [the context of the evar]
evar_body = [the body of the Evar if any]
- evar_info = { pgm : [Useless ??]
+ evar_info = \{ pgm : [Useless ??]
lc : [Set of evars occurring
- in the type of evar] } };
+ in the type of evar] \} \};
...
number of last evar,
- it = { evar_concl = [the type of evar]
+ it = \{ evar_concl = [the type of evar]
evar_hyps = [the context of the evar]
evar_body = [the body of the Evar if any]
- evar_info = { pgm : [Useless ??]
+ evar_info = \{ pgm : [Useless ??]
lc : [Set of evars occurring
- in the type of evar] } } }
- }
-\end{verbatim}
+ in the type of evar] \} \} \} v}
*)
-(*s Proof trees.
+(** {6 ... } *)
+(** Proof trees.
[ref] = [None] if the goal has still to be proved,
and [Some (r,l)] if the rule [r] was applied to the goal
and gave [l] as subproofs to be completed.
if [ref = (Some(Nested(Tactic t,p),l))] then [p] is the proof
that the goal can be proven if the goals in [l] are solved. *)
type proof_tree = {
- open_subgoals : int;
goal : goal;
ref : (rule * proof_tree list) option }
@@ -87,15 +83,8 @@ and rule =
| Daimon
and compound_rule=
- (* the boolean of Tactic tells if the default tactic is used *)
+ (** the boolean of Tactic tells if the default tactic is used *)
| Tactic of tactic_expr * bool
- | Proof_instr of bool * proof_instr
-
-and goal = evar_info
-
-and tactic = goal sigma -> (goal list sigma * validation)
-
-and validation = (proof_tree list -> proof_tree)
and tactic_expr =
(constr,
@@ -135,7 +124,7 @@ type ltac_call_kind =
| LtacNameCall of ltac_constant
| LtacAtomCall of glob_atomic_tactic_expr * atomic_tactic_expr option ref
| LtacVarCall of identifier * glob_tactic_expr
- | LtacConstrInterp of rawconstr *
+ | LtacConstrInterp of glob_constr *
(extended_patvar_map * (identifier * identifier option) list)
type ltac_trace = (int * loc * ltac_call_kind) list