aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-05Granting wish #4221.Pierre-Marie Pédrot
2015-05-05Fix bug #4212, congruence forgetting about some universe constraints.Matthieu Sozeau
2015-05-05Removing dead code in Rewrite.Pierre-Marie Pédrot
The hypinfo cache was actually always set to None, so that there was no need to try to preserve it if it was set to an actual value.
2015-05-05Making the strategy type in Rewrite opaque.Pierre-Marie Pédrot
2015-05-05Merge branch 'v8.5'Pierre-Marie Pédrot
2015-05-04Code simplification in Tactics.Pierre-Marie Pédrot
2015-05-04Fix documentation of RedirectEnrico Tassi
2015-05-04Add a [Redirect] vernacular commandClément Pit--Claudel
The command [Redirect "filename" (...)] redirects all the output of [(...)] to file "filename.out". This is useful for storing the results of an [Eval compute], for redirecting the results of a large search, for automatically generating traces of interesting developments, and so on.
2015-05-01Fixing computation of implicit arguments by position in fixpoints (#4217).Hugo Herbelin
2015-05-01Giving to "subst" a more natural semantic (fixing #4214) by using allHugo Herbelin
equalities in configurations like x=y x=z === P(x,y,z) where it now produces === P(z,z,z) In particular (equations are processed from most ancient to most recent). Thanks to this, a "repeat subst" can just be a "subst" in List.v. Incidentally: moved a nf_enter to enter in subst_one, since the latter is normally called from other tactics having normalized evars.
2015-04-28maintenance micromega pluginFrédéric Besson
- add a nra tactic (similar to nia) for non-linear real arithmetic tactic - fix a long-standing bug in the reification code - port to the new proof-engine
2015-04-27Improve syntax highlighting.Guillaume Melquiond
- Arithmetic operators and brackets are no longer recognized as bullets, unless they follow a stop or start a line. - Most vernacular commands are no longer highlighted when used inside proof scripts. - Coqdoc comments now take precedence over regular comments.
2015-04-27Compile the VM code with some optimizations (+130% speedup).Guillaume Melquiond
Option -g has no impact on the code generated by GCC, so it is now systematically added, since it is quite helpful when the VM segfaults (e.g. bug #4203). Note that, even for a debug build, option -O1 is preferred to -O0, since -O0 produces assembly code that is much too noisy for debugging. For non-debugging builds, -O2 was chosen rather than -O3, since it led to a noticeably faster VM. I guess even recent GCC compilers still have a hard time optimizing humongous functions such as the VM. Here are the results on a simple benchmark: computing the factorial of a large number with Z and BigZ. (Factorial of 2*6! for Z, of 7! for BigZ.) For comparison purpose, the timings of native_compute are also provided. Z BigZ -O0 6.4 12.3 -O1 4.3 10.7 -O2 2.8 7.3 -O3 3.0 9.3 n_c 2.0 2.4
2015-04-27Fix some ill-typed debugging code in the VM.Guillaume Melquiond
2015-04-26Open the file chooser even if there is no current session. (Fix bug #4206)Guillaume Melquiond
2015-04-25Cleaning some uses of exceptions in tactics.Pierre-Marie Pédrot
2015-04-23Remove almost all the uses of string concatenation when building error messages.Guillaume Melquiond
Since error messages are ultimately passed to Format, which has its own buffers for concatenating strings, using concatenation for preparing error messages just doubles the workload and increases memory pressure.
2015-04-23Using tclZEROMSG instead of tclZERO in several places.Pierre-Marie Pédrot
2015-04-23Removing dead code in Pp.Pierre-Marie Pédrot
2015-04-22Tactical `progress` compares term up to potentially equalisable universes.Arnaud Spiwack
Followup of: f7b29094fe7cc13ea475447bd30d9a8b942f0fef . In particular, re-closes #3593. As a side effect, fixes an undiscovered bug of the `eq_constr` tactic which didn't consider terms up to evar instantiation.
2015-04-22Pp: obsolete comment.Arnaud Spiwack
Was made incorrect by 98a710caf5e907344329ee9e9f7b5fd87c50836f .
2015-04-22Declarative mode: remaining goals are "given up" when closing blocks.Arnaud Spiwack
Restores the intended behaviour from v8.3 and earlier.
2015-04-22Fixing non exhaustive pattern-matching.Hugo Herbelin
2015-04-22Test for #4198 (appcontext in return clause of match).Hugo Herbelin
2015-04-22More precise numbers about Benjamin's fix for the VM.Maxime Dénès
2015-04-22Update CHANGESMatthieu Sozeau
2015-04-22Do not use list concatenation when gluing streams together, just mark them ↵Guillaume Melquiond
as glued. Possible improvement: rotate using the left children in the glue function, so that the iter function becomes mostly tail-recursive. Drawback: two allocations per glue instead of a single one. This commit makes the following command go from 7.9s to 3.0s: coqtop <<< "Require Import BigZ ZBinary Reals OrdersEx. Time SearchPattern _." | tail -n 1
2015-04-22Remove some spurious spaces in generated Makefiles.Guillaume Melquiond
2015-04-21STM: print trace on "anomaly, no safe id attached"Enrico Tassi
2015-04-21Fixing #4198 (looking for subterms also in the return clause of match).Hugo Herbelin
This is actually not so perfect because of the lambdas in the return clause which we would not like to look in.
2015-04-21Fixing #3383 (a "return" clause without an "in" clause is not enoughHugo Herbelin
for being able to interpret a "match" as a constr pattern).
2015-04-21Fixing #3376 and #4191 (wrong index of maximally-inserted implicit argumentHugo Herbelin
in the presence of let-ins).
2015-04-21Some dead code.Hugo Herbelin
2015-04-20Remove spurious ".v" from warning message.Guillaume Melquiond
2015-04-20Change magic numbers.Matthieu Sozeau
2015-04-20Inlining "fun" and "forall" tokens in parser, so that alternative notations forHugo Herbelin
them (e.g. "fun ... ⇒ ...") factor well (see #2268).
2015-04-19Slightly more efficient implementation of the logic monad.Pierre-Marie Pédrot
We just inline the state in the iolist: less closures makes the GC happier.
2015-04-178.5beta2 release.Matthieu Sozeau
2015-04-17Extra fix to 934761875 and f4ee7ee31e4 on optimizing Import of severalHugo Herbelin
libraries at once (see #4193).
2015-04-17Fixing a few typos + some uniformization of writing in doc.Hugo Herbelin
2015-04-17No longer add dev/ to the LoadPath, only to the ML path.Guillaume Melquiond
This patch should get rid of the following warning: Invalid character '-' in identifier "v8-syntax".
2015-04-16Ensuring purity of datastructures in the API.Pierre-Marie Pédrot
2015-04-16Test for bug #4190.Pierre-Marie Pédrot
2015-04-16Fixing bug #4190.Pierre-Marie Pédrot
The solution is a bit ugly. In order for two tactic notations identifiers not to be confused by the inclusion from two distinct modules, we embed the name of the source module in the identifiers. This may still fail if the same module is included twice with two distinct parameters, but this should not be possible thanks to the fact any definition in there will forbid the inclusion, for it would be repeated. People including twice the same empty module otherwise probably deserve whatever will arise from it.
2015-04-16configure: fix paths on cygwinEnrico Tassi
Long story short: Filname.concat and other OCaml provided functions to be "cross platform" don't work for us for two reasons: 1. their behavior is fixed when one compiles ocaml, not when one runs it 2. the build system of Coq is unix only What is wrong with 1 is that if one compiles ocaml for windows without requiring cygwin.dll (a good thing, since you don't need to have cygwin to run ocaml) then the runtime always uses \ as dir_sep, no matter if you are running ocaml from a cygwin shell. If you use \ as a dir separaton in cygwin command lines, without going trough the cygpath "mangler", then things go wrong. The second point is that the makefiles we have need a unix like environment (e.g. we call sed). So you can't compile Coq without cygwin, unless you use a different build system, that is not what we support (1 build system is enough work already, IMO). To sum up: Running coq/ocaml requires no cygwin, comipling coq requires a unix like shell, hence paths shall be unix like in configure/build stuff.
2015-04-15Remove dirty debug printing from funind.Maxime Dénès
2015-04-15Documenting the recommandation of toplevel-only commands.Pierre-Marie Pédrot
2015-04-15Merge branch 'v8.5'Pierre-Marie Pédrot
2015-04-14Function now supports puniveresjforest
2015-04-14better debug in recdefjforest