diff options
author | Arnaud Spiwack <arnaud@spiwack.net> | 2013-11-25 19:55:57 +0100 |
---|---|---|
committer | Arnaud Spiwack <arnaud@spiwack.net> | 2013-12-04 14:14:32 +0100 |
commit | eef907ed0a200e912ab2eddc0fcea41b5f61c145 (patch) | |
tree | 9748713b4502fb7a5a020b834fee3d37f15644d2 /proofs/proof.ml | |
parent | 12a55370b525185858aed77af4ef1dc0d5cf4e7e (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.ml | 8 |
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 |