diff options
| author | Pierre-Marie Pédrot | 2020-12-11 18:21:49 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2020-12-11 18:28:05 +0100 |
| commit | cade097ff6e5670b5f4c3ea832b593cf88251fbd (patch) | |
| tree | ee8f0fec90e56a21f6262bcc2b8423b94e1965b6 /engine | |
| parent | 5a77078718c18b05e7ffb1366d6dd9e439ecfc91 (diff) | |
Fast path in tclPROGRESS.
We first check that the list of goals have the same length before trying to
engage into potentially costly equality checks.
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/proofview.ml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/engine/proofview.ml b/engine/proofview.ml index 22863f451d..b3061eaa81 100644 --- a/engine/proofview.ml +++ b/engine/proofview.ml @@ -909,10 +909,11 @@ let tclPROGRESS t = in let test = quick_test || + (CList.same_length initial.comb final.comb && Util.List.for_all2eq begin fun i f -> Progress.goal_equal ~evd:initial.solution ~extended_evd:final.solution (drop_state i) (drop_state f) - end initial.comb final.comb + end initial.comb final.comb) in if not test then tclUNIT res |
