aboutsummaryrefslogtreecommitdiff
path: root/kernel/nativelambda.ml
diff options
context:
space:
mode:
authorHugo Herbelin2015-02-25 08:11:14 +0100
committerHugo Herbelin2015-02-25 08:12:31 +0100
commit5a7a90e6fc067319e66c8021e696df98883223f0 (patch)
tree1ab84824221b019bf01ec760bcbe0605323d2f3c /kernel/nativelambda.ml
parent152f57925a6dc08ce3f332319b50eae9fb7bb622 (diff)
An optimization on filtering evar instances with let-ins suggested by
inefficiency #4076. In an evar context like this one x:X, y:=f(x), z:Z(x,y) |- ?x : T(x,y,z) with unification problem a:A, b:=f(t(a)) |- ?x[x:=t(a);y:=b;z:=u(a,b)] = v(a,b,c) we now keep y after filtering, iff the name b occurs effectively in v(a,b,c), while before, we kept it as soon as its expansion f(t(a)) had free variables in v(a,b,c), which was more often, but useless since the point in keeping a let-in in the instance is precisely to reuse the name of the let-in while unifying with a right-hand side which mentions this name.
Diffstat (limited to 'kernel/nativelambda.ml')
0 files changed, 0 insertions, 0 deletions