diff options
| author | Matthieu Sozeau | 2019-03-15 10:01:16 -0300 |
|---|---|---|
| committer | Matthieu Sozeau | 2019-03-18 20:19:35 +0100 |
| commit | 636857d2e77ee26b4b193f3bbefee253c07dfbff (patch) | |
| tree | f8a5175250d2340aaac6389c7c37ded6c5c93209 /kernel/constr.ml | |
| parent | 9ac5483132b42e845a0708491843693b70893eef (diff) | |
[kernel] Fix compare_head_gen_leq_with to use [leq] on applications
This fixes an incompleteness of subtyping on cumulative inductives,
where I@{i} A <= I@{j} A should imply i <= j, i = j or no relation
depending on the variance of I's universe.
Diffstat (limited to 'kernel/constr.ml')
| -rw-r--r-- | kernel/constr.ml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/constr.ml b/kernel/constr.ml index 11958c9108..d74c96af84 100644 --- a/kernel/constr.ml +++ b/kernel/constr.ml @@ -860,7 +860,7 @@ let compare_head_gen_leq_with kind1 kind2 leq_universes leq_sorts eq leq nargs t | App (c1, l1), App (c2, l2) -> let len = Array.length l1 in Int.equal len (Array.length l2) && - eq (nargs+len) c1 c2 && Array.equal_norefl (eq 0) l1 l2 + leq (nargs+len) c1 c2 && Array.equal_norefl (eq 0) l1 l2 | Proj (p1,c1), Proj (p2,c2) -> Projection.equal p1 p2 && eq 0 c1 c2 | Evar (e1,l1), Evar (e2,l2) -> Evar.equal e1 e2 && Array.equal (eq 0) l1 l2 | Const (c1,u1), Const (c2,u2) -> |
