aboutsummaryrefslogtreecommitdiffhomepage
path: root/engine/proofview.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-03-07 18:13:07 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-04-25 09:51:21 +0200
commitadc2035410a339cfa88dae527b631f5131adaa54 (patch)
tree51174a311c17b317d8be1b0b13061ccfcbae87a7 /engine/proofview.ml
parent97db512af4888da529e641f71539adef444cb8e3 (diff)
Fix an optimization failure in tclPROGRESS.
Due to code reworking, a fastpath got anihilated because the slow path was computed altogether. We now only compute the slow check whenever the quick one fails.
Diffstat (limited to 'engine/proofview.ml')
-rw-r--r--engine/proofview.ml6
1 files changed, 2 insertions, 4 deletions
diff --git a/engine/proofview.ml b/engine/proofview.ml
index f054038e9..99bd4bc4f 100644
--- a/engine/proofview.ml
+++ b/engine/proofview.ml
@@ -858,14 +858,12 @@ let tclPROGRESS t =
let quick_test =
initial.solution == final.solution && initial.comb == final.comb
in
- let exhaustive_test =
+ let test =
+ quick_test ||
Util.List.for_all2eq begin fun i f ->
Progress.goal_equal initial.solution i final.solution f
end initial.comb final.comb
in
- let test =
- quick_test || exhaustive_test
- in
if not test then
tclUNIT res
else