aboutsummaryrefslogtreecommitdiffhomepage
path: root/vernac/himsg.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-07-11 00:59:53 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-07-11 14:50:47 +0200
commit40ec7bc85b78f68257593234016f82d8e78d6384 (patch)
tree66d0a6fa9645dd43a17f281dd6a5e2c7fb8c6d0d /vernac/himsg.ml
parente1d4ad82b1557a8cf808e0374ece9c39ed349ea2 (diff)
Properly handling polymorphic inductive subtyping in the kernel.
Before this patch, inductive subtyping was enforcing syntactic equality of the variable instance, instead of reasoning up to alpha-renaming.
Diffstat (limited to 'vernac/himsg.ml')
-rw-r--r--vernac/himsg.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/vernac/himsg.ml b/vernac/himsg.ml
index ca3fb392f..86dcb6d4d 100644
--- a/vernac/himsg.ml
+++ b/vernac/himsg.ml
@@ -909,6 +909,7 @@ let explain_not_match_error = function
quote (Printer.safe_pr_lconstr_env env Evd.empty t2)
| IncompatibleConstraints cst ->
str " the expected (polymorphic) constraints do not imply " ++
+ let cst = Univ.UContext.constraints (Univ.instantiate_univ_context cst) in
quote (Univ.pr_constraints (Termops.pr_evd_level Evd.empty) cst)
let explain_signature_mismatch l spec why =