aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/refiner.ml
diff options
context:
space:
mode:
Diffstat (limited to 'proofs/refiner.ml')
-rw-r--r--proofs/refiner.ml13
1 files changed, 9 insertions, 4 deletions
diff --git a/proofs/refiner.ml b/proofs/refiner.ml
index e8d1574da..820c6eaff 100644
--- a/proofs/refiner.ml
+++ b/proofs/refiner.ml
@@ -12,11 +12,12 @@ open Pp
open Util
open Stamps
open Term
+open Termops
open Sign
open Evd
open Sign
open Environ
-open Reduction
+open Reductionops
open Instantiate
open Type_errors
open Proof_trees
@@ -52,7 +53,11 @@ let norm_goal sigma gl =
let red_fun = Evarutil.nf_evar sigma in
let ncl = red_fun gl.evar_concl in
{ evar_concl = ncl;
- evar_hyps = map_named_context red_fun gl.evar_hyps;
+ evar_hyps =
+ Sign.fold_named_context
+ (fun (d,b,ty) sign ->
+ add_named_decl (d, option_app red_fun b, red_fun ty) sign)
+ empty_named_context gl.evar_hyps;
evar_body = gl.evar_body;
evar_info = gl.evar_info }
@@ -252,7 +257,7 @@ let extract_open_proof sigma pf =
let abs_concl =
List.fold_right
(fun (_,id) concl ->
- let (c,ty) = lookup_id id goal.evar_hyps in
+ let (_,c,ty) = Sign.lookup_named id goal.evar_hyps in
mkNamedProd_or_LetIn (id,c,ty) concl)
sorted_rels goal.evar_concl in
incr meta_cnt;
@@ -811,7 +816,7 @@ let thin_sign osign sign =
Sign.fold_named_context
(fun (id,c,ty as d) sign ->
try
- if lookup_id id osign = (c,ty) then sign
+ if Sign.lookup_named id osign = (id,c,ty) then sign
else raise Different
with Not_found | Different -> add_named_decl d sign)
sign empty_named_context