aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/proofview.ml
diff options
context:
space:
mode:
Diffstat (limited to 'proofs/proofview.ml')
-rw-r--r--proofs/proofview.ml11
1 files changed, 6 insertions, 5 deletions
diff --git a/proofs/proofview.ml b/proofs/proofview.ml
index d0a477431..291da4a98 100644
--- a/proofs/proofview.ml
+++ b/proofs/proofview.ml
@@ -26,7 +26,7 @@ open Util
type proofview = Proofview_monad.proofview
open Proofview_monad
-type entry = (Term.constr * Term.types) list
+type entry = (Term.constr * Term.types Univ.in_universe_context_set) list
let proofview p =
p.comb , p.solution
@@ -42,7 +42,7 @@ let init sigma =
let (e, _) = Term.destEvar econstr in
let new_defs = Evd.merge_context_set Evd.univ_rigid new_defs ctx in
let gl = Goal.build e in
- let entry = (econstr, typ) :: ret in
+ let entry = (econstr, (typ, ctx)) :: ret in
entry, { solution = new_defs; comb = gl::comb; }
in
fun l ->
@@ -52,17 +52,18 @@ let init sigma =
type telescope =
| TNil
- | TCons of Environ.env*Term.types*(Term.constr -> telescope)
+ | TCons of Environ.env * Term.types Univ.in_universe_context_set * (Term.constr -> telescope)
let dependent_init =
let rec aux sigma = function
| TNil -> [], { solution = sigma; comb = []; }
- | TCons (env, typ, t) ->
+ | TCons (env, (typ, ctx), t) ->
let (sigma, econstr ) = Evarutil.new_evar sigma env typ in
+ let sigma = Evd.merge_context_set Evd.univ_rigid sigma ctx in
let ret, { solution = sol; comb = comb } = aux sigma (t econstr) in
let (e, _) = Term.destEvar econstr in
let gl = Goal.build e in
- let entry = (econstr, typ) :: ret in
+ let entry = (econstr, (typ, ctx)) :: ret in
entry, { solution = sol; comb = gl :: comb; }
in
fun sigma t ->