aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-07-10 15:40:13 +0200
committerMatthieu Sozeau2014-07-10 15:40:41 +0200
commit6663052ccd613faf4282bd73121a44398bd3ba76 (patch)
tree82d2aa5239e9a2110fb8de763f45fad98241d899 /toplevel
parenta071ac178ee9e6ca0cbae14db24e10775b0af881 (diff)
Better handling of the universe context in case of Admitted proof obligations.
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/obligations.ml15
1 files changed, 10 insertions, 5 deletions
diff --git a/toplevel/obligations.ml b/toplevel/obligations.ml
index 8f637aa325..13f9e9339d 100644
--- a/toplevel/obligations.ml
+++ b/toplevel/obligations.ml
@@ -834,11 +834,16 @@ let rec solve_obligation prg num tac =
let obls = Array.copy obls in
let _ = obls.(num) <- obl in
let ctx' =
- if not (pi2 prg.prg_kind) (* Not polymorphic *) then
- (* This context is already declared globally, we cannot
- instantiate the rigid variables anymore *)
- Evd.abstract_undefined_variables ctx'
- else ctx'
+ let ctx =
+ match ctx' with
+ | None -> prg.prg_ctx
+ | Some ctx' -> ctx'
+ in
+ if not (pi2 prg.prg_kind) (* Not polymorphic *) then
+ (* This context is already declared globally, we cannot
+ instantiate the rigid variables anymore *)
+ Evd.abstract_undefined_variables ctx
+ else ctx
in
let res =
try update_obls