aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/proof.ml
diff options
context:
space:
mode:
authorGravatar Arnaud Spiwack <arnaud@spiwack.net>2013-11-25 19:55:57 +0100
committerGravatar Arnaud Spiwack <arnaud@spiwack.net>2013-12-04 14:14:32 +0100
commiteef907ed0a200e912ab2eddc0fcea41b5f61c145 (patch)
tree9748713b4502fb7a5a020b834fee3d37f15644d2 /proofs/proof.ml
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/proof.ml')
-rw-r--r--proofs/proof.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/proofs/proof.ml b/proofs/proof.ml
index 35166def0..9e6045661 100644
--- a/proofs/proof.ml
+++ b/proofs/proof.ml
@@ -233,6 +233,14 @@ let start sigma goals =
shelf = [] ;
given_up = [] } in
_focus end_of_stack (Obj.repr ()) 1 (List.length goals) pr
+let dependent_start sigma goals =
+ let pr = {
+ proofview = Proofview.dependent_init sigma goals ;
+ focus_stack = [] ;
+ shelf = [] ;
+ given_up = [] } in
+ let number_of_goals = List.length (Proofview.initial_goals pr.proofview) in
+ _focus end_of_stack (Obj.repr ()) 1 number_of_goals pr
exception UnfinishedProof
exception HasShelvedGoals