From 46b671c7473385ec7747a796e85b3cf704d000c6 Mon Sep 17 00:00:00 2001 From: Matthieu Sozeau Date: Thu, 27 Jul 2017 16:10:49 +0200 Subject: Evd/evarsolve: add an abstraction field to evars for unification Named evar_abstract_arguments, this field indicates if the evar arguments corresponding to certain hypothesis can be immitated during inversion or not. If the argument comes from an abstraction (the evar was of arrow type), then imitation is disallowed as it gives unnatural solutions, and lambda abstraction is preferred. --- proofs/goal.ml | 1 + 1 file changed, 1 insertion(+) (limited to 'proofs') diff --git a/proofs/goal.ml b/proofs/goal.ml index 7245d4a004..2104eefa66 100644 --- a/proofs/goal.ml +++ b/proofs/goal.ml @@ -60,6 +60,7 @@ module V82 = struct let evi = { Evd.evar_hyps = hyps; Evd.evar_concl = concl; Evd.evar_filter = Evd.Filter.identity; + Evd.evar_abstract_arguments = Evd.Abstraction.identity; Evd.evar_body = Evd.Evar_empty; Evd.evar_source = (Loc.tag Evar_kinds.GoalEvar); Evd.evar_candidates = None } -- cgit v1.2.3