From d2c50bb29df8f0b23f7ee498abeda43a672fc688 Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Wed, 6 Dec 2017 08:58:50 +0100 Subject: Proof engine: consider the pair principal and future goals as an entity. --- engine/evd.ml | 2 +- engine/evd.mli | 2 +- engine/proofview.ml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'engine') diff --git a/engine/evd.ml b/engine/evd.ml index 185cab101..e0453713e 100644 --- a/engine/evd.ml +++ b/engine/evd.ml @@ -946,7 +946,7 @@ let principal_future_goal evd = evd.principal_future_goal let reset_future_goals evd = { evd with future_goals = [] ; principal_future_goal=None } -let restore_future_goals evd gls pgl = +let restore_future_goals evd (gls,pgl) = { evd with future_goals = gls ; principal_future_goal = pgl } (**********************************************************) diff --git a/engine/evd.mli b/engine/evd.mli index 49c953f6d..49632d2e7 100644 --- a/engine/evd.mli +++ b/engine/evd.mli @@ -303,7 +303,7 @@ val reset_future_goals : evar_map -> evar_map (** Clears the list of future goals (as well as the principal future goal). Used by the [refine] primitive of the tactic engine. *) -val restore_future_goals : evar_map -> Evar.t list -> Evar.t option -> evar_map +val restore_future_goals : evar_map -> Evar.t list * Evar.t option -> evar_map (** Sets the future goals (including the principal future goal) to a previous value. Intended to be used after a local list of future goals has been consumed. Used by the [refine] primitive of the diff --git a/engine/proofview.ml b/engine/proofview.ml index 8a844bbf5..4f8da5378 100644 --- a/engine/proofview.ml +++ b/engine/proofview.ml @@ -771,7 +771,7 @@ let with_shelf tac = let gls' = Evd.future_goals sigma in let fgoals = Evd.future_goals solution in let pgoal = Evd.principal_future_goal solution in - let sigma = Evd.restore_future_goals sigma fgoals pgoal in + let sigma = Evd.restore_future_goals sigma (fgoals,pgoal) in (* Ensure we mark and return only unsolved goals *) let gls' = undefined_evars sigma (CList.rev_append gls' gls) in let sigma = CList.fold_left (mark_in_evm ~goal:false) sigma gls' in -- cgit v1.2.3