aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/evarconv.mli
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2011-11-08 15:30:44 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2011-11-08 15:30:44 +0000
commit04133685b87ac84fae688744decf27ef935a1df6 (patch)
tree8749e342e7c435ffe9a91e05a7a9cfd9057c569d /pretyping/evarconv.mli
parent0cab74bb2906969e5ea72619be3a80dbc48b5675 (diff)
Refined second_order_matching so that a constraint on which
occurrences to abstract can be given. This allows to force "destruct" to necessarily abstract over all occurrences of its main argument (only the sub-arguments that occur in the inductive type of the main argument have their occurrences constrained by typing). This incidentally avoids "rewrite" succeeding in rewriting only a part of the occurrences it has to rewrite. This repairs the failure of RecursiveDefinition which failed after pattern unification fix from r14642). Full support for selecting occurrence of main argument still to be done though. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14648 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/evarconv.mli')
-rw-r--r--pretyping/evarconv.mli3
1 files changed, 2 insertions, 1 deletions
diff --git a/pretyping/evarconv.mli b/pretyping/evarconv.mli
index 27a71be24..3e2ca7aed 100644
--- a/pretyping/evarconv.mli
+++ b/pretyping/evarconv.mli
@@ -10,6 +10,7 @@ open Names
open Term
open Sign
open Environ
+open Termops
open Reductionops
open Evd
@@ -43,4 +44,4 @@ val check_conv_record : constr * types list -> constr * types list ->
val set_solve_evars : (env -> evar_map -> constr -> evar_map * constr) -> unit
val second_order_matching : transparent_state -> env -> evar_map ->
- existential -> constr -> evar_map * bool
+ existential -> occurrences option list -> constr -> evar_map * bool