diff options
author | 2008-07-25 19:59:53 +0000 | |
---|---|---|
committer | 2008-07-25 19:59:53 +0000 | |
commit | 98f9fb6ea86529fc623c031933e88ae9a8354a02 (patch) | |
tree | 15af56cae1f17a581d1ef16349c2997fc54ea4c7 /kernel/univ.ml | |
parent | d1622072214a433d875cbb25abe1b3e7d929e578 (diff) |
Correction d'une incohérence de typage des inductifs polymorphes: les
contraintes bornant par le haut le type de l'inductif (ce qui peut
arriver quand l'inductif est argument d'une constante) étaient
oubliées : on pouvait se retrouver avec des inductifs dont le type des
constructeurs, une fois instancié par des paramètres) n'était plus
typable (seul leur réduit, après expansion des constantes, était
typable). [kernel, test-suite]
+ Affichage des inductifs (via Print) en prenant la forme utilisateur des
constructeurs.
+ Correction warning dans compilation gallina.ml.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11266 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/univ.ml')
-rw-r--r-- | kernel/univ.ml | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/univ.ml b/kernel/univ.ml index 001ee3ea8..a681210ac 100644 --- a/kernel/univ.ml +++ b/kernel/univ.ml @@ -550,6 +550,11 @@ let subst_large_constraint u u' v = let subst_large_constraints = List.fold_right (fun (u,u') -> subst_large_constraint u u') +let no_upper_constraints u cst = + match u with + | Atom u -> Constraint.for_all (fun (u1,_,_) -> u1 <> u) cst + | Max _ -> anomaly "no_upper_constraints" + (* Pretty-printing *) let num_universes g = |