aboutsummaryrefslogtreecommitdiff
path: root/proofs/proofview.mli
diff options
context:
space:
mode:
authorArnaud Spiwack2013-11-25 19:55:57 +0100
committerArnaud Spiwack2013-12-04 14:14:32 +0100
commiteef907ed0a200e912ab2eddc0fcea41b5f61c145 (patch)
tree9748713b4502fb7a5a020b834fee3d37f15644d2 /proofs/proofview.mli
parent12a55370b525185858aed77af4ef1dc0d5cf4e7e (diff)
Allow proofs to start with dependent goals.
I use a telescope to represent to goals, and let proofview.ml generate the appropriate existential variables.
Diffstat (limited to 'proofs/proofview.mli')
-rw-r--r--proofs/proofview.mli9
1 files changed, 9 insertions, 0 deletions
diff --git a/proofs/proofview.mli b/proofs/proofview.mli
index b9251fffbb..2f215ba947 100644
--- a/proofs/proofview.mli
+++ b/proofs/proofview.mli
@@ -38,6 +38,15 @@ val proofview : proofview -> Goal.goal list * Evd.evar_map
conclusion types, creating that many initial goals. *)
val init : Evd.evar_map -> (Environ.env * Term.types) list -> proofview
+type telescope =
+ | TNil
+ | TCons of Environ.env*Term.types*(Term.constr -> telescope)
+
+(* Like [init], but goals are allowed to be depedenent on one
+ another. Dependencies between goals is represented with the type
+ [telescope] instead of [list]. *)
+val dependent_init : Evd.evar_map -> telescope -> proofview
+
(* Returns whether this proofview is finished or not. That is,
if it has empty subgoals in the comb. There could still be unsolved
subgoaled, but they would then be out of the view, focused out. *)