diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-06-10 19:58:23 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-06-10 19:58:23 +0000 |
commit | 9add74ea610a5b18d8ab7acc166dcefe73756981 (patch) | |
tree | 8e1b8a08586da5f84e4c0d1e4330581b3f3e3bbb /lib/dyn.ml | |
parent | d59dc298efe43b61cc72ae85eeade9b2402774d9 (diff) |
Fixed two bugs in pattern-matching compilation
- first bug was a missing lift when the return predicate was assumed to be
a simple evar
- second problem was in the inference of a custom inversion predicate in
case of matching on a term in a constrained type (like "vect (S n)"):
the rel bound to local definitions in the instance of evars where
instantiated (by other evars) which is wrong per se but which contradicted
the assumptions of find_projectable_vars in evarutil.ml which assumed that
this did not occur; solved the problem by not instantiating references to
local definition which (probably) will not loose some opportunity of
unification in presence of non unfolded local definitions, ...
- also cleaned a bit prepare_predicate
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13112 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/dyn.ml')
0 files changed, 0 insertions, 0 deletions