From 7dc04f0244aeb277b62070f87590cbc2cafd8396 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Sun, 24 Feb 2019 20:27:09 +0100 Subject: [proof] drop parameter from terminator type This makes the type of terminator simpler, progressing towards its total reification. --- proofs/proof_global.ml | 3 --- proofs/proof_global.mli | 2 -- 2 files changed, 5 deletions(-) (limited to 'proofs') diff --git a/proofs/proof_global.ml b/proofs/proof_global.ml index 96d90e9252..a871a3fc95 100644 --- a/proofs/proof_global.ml +++ b/proofs/proof_global.ml @@ -24,9 +24,6 @@ module NamedDecl = Context.Named.Declaration (*** Proof Global Environment ***) -(* Extra info on proofs. *) -type lemma_possible_guards = int list list - type proof_object = { id : Names.Id.t; entries : Evd.side_effects Entries.definition_entry list; diff --git a/proofs/proof_global.mli b/proofs/proof_global.mli index f84ec27df7..9c2ada2457 100644 --- a/proofs/proof_global.mli +++ b/proofs/proof_global.mli @@ -31,8 +31,6 @@ val compact_the_proof : t -> t function which takes a [proof_object] together with a [proof_end] (i.e. an proof ending command) and registers the appropriate values. *) -type lemma_possible_guards = int list list - type proof_object = { id : Names.Id.t; entries : Evd.side_effects Entries.definition_entry list; -- cgit v1.2.3 From a0d2a039a62e26b5d87a8cd9d77f4678f2bfda4a Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 11 Jun 2019 03:03:20 +0200 Subject: [proof] Respond to a comment by Pierre-Marie --- proofs/proof_global.ml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'proofs') diff --git a/proofs/proof_global.ml b/proofs/proof_global.ml index a871a3fc95..ea08d0dda4 100644 --- a/proofs/proof_global.ml +++ b/proofs/proof_global.ml @@ -261,14 +261,22 @@ let return_proof ?(allow_partial=false) ps = let evd = Proof.return ~pid proof in let eff = Evd.eval_side_effects evd in let evd = Evd.minimize_universes evd in - (* ppedrot: FIXME, this is surely wrong. There is no reason to duplicate - side-effects... This may explain why one need to uniquize side-effects - thereafter... *) let proof_opt c = match EConstr.to_constr_opt evd c with | Some p -> p | None -> CErrors.user_err Pp.(str "Some unresolved existential variables remain") in + (* ppedrot: FIXME, this is surely wrong. There is no reason to duplicate + side-effects... This may explain why one need to uniquize side-effects + thereafter... *) + (* EJGA: actually side-effects de-duplication and this codepath is + unrelated. Duplicated side-effects arise from incorrect scheme + generation code, the main bulk of it was mostly fixed by #9836 + but duplication can still happen because of rewriting schemes I + think; however the code below is mostly untested, the only + code-paths that generate several proof entries are derive and + equations and so far there is no code in the CI that will + actually call those and do a side-effect, TTBOMK *) let proofs = List.map (fun (c, _) -> (proof_opt c, eff)) initial_goals in proofs, Evd.evar_universe_context evd -- cgit v1.2.3