aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2018-08-17 12:40:51 +0200
committerPierre-Marie Pédrot2018-08-17 12:44:41 +0200
commit60f396b240ce1e1a3622ecc512be62a168494efe (patch)
treef6fe00dd721ce09bcf13397671c836d11ae634d8
parent8b176e3b0e42b34db3165d9e1ce45fff0e581335 (diff)
Do not abstract over the named variable in unsafe introduction tactic.
There is no point in doing that. The term being abstracted does not contain the named variable y, as it is an evar of the form ?e{Var x_1, ... Var x_n, Rel 1}. In practice it means that only the binding creation matters, the substitution behaving as the identity, and ending up costing for nothing.
-rw-r--r--tactics/tactics.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml
index 2a8ebe08ca..15f955079d 100644
--- a/tactics/tactics.ml
+++ b/tactics/tactics.ml
@@ -125,7 +125,7 @@ let unsafe_intro env store decl b =
let ninst = mkRel 1 :: inst in
let nb = subst1 (mkVar (NamedDecl.get_id decl)) b in
let (sigma, ev) = new_evar_instance nctx sigma nb ~principal:true ~store ninst in
- (sigma, mkNamedLambda_or_LetIn decl ev)
+ (sigma, mkLambda_or_LetIn (NamedDecl.to_rel_decl decl) ev)
end
let introduction id =