diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-11-05 16:34:37 +0100 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-11-05 16:34:37 +0100 |
commit | 55a765faa95d7be9a1e4c37096139f57f288f55a (patch) | |
tree | 459ac71b1478d69f77f8663c1001c10ca0ae528d /proofs/logic.ml | |
parent | 35afb42a6bb30634d2eb77a32002ed473633b5f4 (diff) | |
parent | 0fd6ad21121c7c179375b9a50c3135abab1781b2 (diff) |
Merge branch 'v8.5'
Diffstat (limited to 'proofs/logic.ml')
-rw-r--r-- | proofs/logic.ml | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/proofs/logic.ml b/proofs/logic.ml index 7d101b4c7..a38a36bdc 100644 --- a/proofs/logic.ml +++ b/proofs/logic.ml @@ -356,9 +356,11 @@ let rec mk_refgoals sigma goal goalacc conclty trm = | App (f,l) -> let (acc',hdty,sigma,applicand) = if is_template_polymorphic env f then - let sigma, ty = + let ty = (* Template sort-polymorphism of definition and inductive types *) - type_of_global_reference_knowing_conclusion env sigma f conclty + let firstmeta = Array.findi (fun i x -> occur_meta x) l in + let args, _ = Option.cata (fun i -> CArray.chop i l) (l, [||]) firstmeta in + type_of_global_reference_knowing_parameters env sigma f args in goalacc, ty, sigma, f else |