aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/refiner.ml
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2014-05-08 13:50:46 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2014-05-08 19:23:51 +0200
commitb440899b0f07a23dfce69ae38b0a2b993cc6370c (patch)
treee1751770ae8dcd7c92aef28b2f8ca35edbe3a9c7 /proofs/refiner.ml
parenta6c966a23e24be9543b01b6944826ab5479fd784 (diff)
- Add a primitive tclEVARUNIVERSECONTEXT to reset the universe context of an evar_map
in tactics, avoiding useless and potentially costly merge's of constraints. - Implement revert and generalize using the new tactics (not bound to syntax though, as they are not backwards-compatible yet).
Diffstat (limited to 'proofs/refiner.ml')
-rw-r--r--proofs/refiner.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/proofs/refiner.ml b/proofs/refiner.ml
index da9e8c68d..157faae3d 100644
--- a/proofs/refiner.ml
+++ b/proofs/refiner.ml
@@ -325,6 +325,8 @@ let rec tclREPEAT_MAIN t g =
(* Change evars *)
let tclEVARS sigma gls = tclIDTAC {gls with sigma=sigma}
+let tclEVARUNIVCONTEXT ctx gls = tclIDTAC {gls with sigma= Evd.set_universe_context gls.sigma ctx}
+
(* Push universe context *)
let tclPUSHCONTEXT rigid ctx tac gl =
tclTHEN (tclEVARS (Evd.merge_context_set rigid (project gl) ctx)) tac gl