]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_tactics/nTacStatus.ml
milestone in basic_2, λδ-2A reconstructed
[helm.git] / helm / software / components / ng_tactics / nTacStatus.ml
index 280634d3083f3cabe6ac4782616672f94c91e373..e7d5bb3b532ee1eac2b6fdcee560ad8b58cb61c2 100644 (file)
@@ -249,11 +249,15 @@ let to_subst status i entry =
   status#set_obj (name,height,metasenv,subst,obj)
 ;;
 
-let instantiate status i t =
+let instantiate status ?refine:(dorefine=true) i t =
  let _,_,metasenv,_,_ = status#obj in
  let gname, context, gty = List.assoc i metasenv in
- let status, (_,t), (_,ty) = refine status context t (Some (context,gty)) in
-  to_subst status i (gname,context,t,ty)
+  if dorefine then
+   let status, (_,t), (_,ty) = refine status context t (Some (context,gty)) in
+    to_subst status i (gname,context,t,ty)
+  else
+   let status,(_,ty) = typeof status context t in
+    to_subst status i (gname,context,snd t,ty)
 ;;
 
 let instantiate_with_ast status i t =
@@ -424,6 +428,11 @@ let apply_subst status ctx t =
   status, (ctx, NCicUntrusted.apply_subst subst ctx t)
 ;;
 
+let apply_subst_context status ~fix_projections ctx =
+ let _,_,_,subst,_ = status#obj in
+  NCicUntrusted.apply_subst_context ~fix_projections subst ctx
+;;
+
 let metas_of_term status (context,t) =
  let _,_,_,subst,_ = status#obj in
  NCicUntrusted.metas_of_term subst context t