diff options
author | Matthieu Sozeau <mattam@mattam.org> | 2013-11-03 20:48:34 +0100 |
---|---|---|
committer | Matthieu Sozeau <mattam@mattam.org> | 2014-05-06 09:58:55 +0200 |
commit | 7dfb0fb915fa095f8af57e8bb5e4727ebb61304a (patch) | |
tree | 9ee9345c27c49d35a8799327a7f3cfaa98a1a1b6 /pretyping/coercion.ml | |
parent | 94edcde5a3f4826defe7290bf2a0914c860a85ae (diff) |
- Rename eq to equal in Univ, document new modules, set interfaces.
A try at hashconsing all universes instances seems to incur a big cost.
- Do hashconsing of universe instances in constr.
- Little fix in obligations w.r.t. non-polymorphic constants.
Conflicts:
kernel/constr.ml
kernel/declareops.ml
kernel/inductive.ml
kernel/univ.mli
Diffstat (limited to 'pretyping/coercion.ml')
-rw-r--r-- | pretyping/coercion.ml | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pretyping/coercion.ml b/pretyping/coercion.ml index c7173c2d1..4254c8188 100644 --- a/pretyping/coercion.ml +++ b/pretyping/coercion.ml @@ -177,10 +177,12 @@ and coerce loc env evdref (x : Term.constr) (y : Term.constr) (match s, s' with | Prop x, Prop y when x == y -> None | Prop _, Type _ -> None - | Type x, Type y when Univ.Universe.eq x y -> None (* false *) + | Type x, Type y when Univ.Universe.equal x y -> None (* false *) | _ -> subco ()) | Prod (name, a, b), Prod (name', a', b') -> - let name' = Name (Namegen.next_ident_away (Id.of_string "x") (Termops.ids_of_context env)) in + let name' = + Name (Namegen.next_ident_away (Id.of_string "x") (Termops.ids_of_context env)) + in let env' = push_rel (name', None, a') env in let c1 = coerce_unify env' (lift 1 a') (lift 1 a) in (* env, x : a' |- c1 : lift 1 a' > lift 1 a *) |