aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Hints/Univs: fix bug #4628 anomaliesGravatar Matthieu Sozeau2016-05-23
| | | | | | | | | | | | Fix handling of non-polymorphic hints built from polymorphic values, or simply producing new universes. We have to record the side effects of global hints built from constrs which are not polymorphic when they declare global universes, which might need to be discharged at the end of sections too. Also issue a warning when a Hint is declared for a polymorphic reference but the Hint isn't polymorphic itself (this used to produce an anomaly). For [using] hints, treat all lemmas as polymorphic, refreshing their universes at each use, as is done for their existentials (also used to produce an anomaly).
* Disable memoization rather than failing when files cannot be opened.Gravatar Guillaume Melquiond2016-05-20
| | | | | Anomaly: Uncaught exception Unix.Unix_error(Unix.EACCES, "open", "lia.cache"). Please report.
* native_compute: don't call Unicode.ascii_of_ident twice (not idempotent anymore)Gravatar Pierre Letouzey2016-05-19
|
* Extraction: don't call Unicode.ascii_of_ident twice (not idempotent anymore)Gravatar Pierre Letouzey2016-05-19
|
* adding "user-contrib" directory to ".gitignore"Gravatar Matej Kosik2016-05-19
|
* Unicode.ascii_of_ident is now truly injectiveGravatar Pierre Letouzey2016-05-19
| | | | | | | | | | | | | | | | | | | | A non-ASCII char is now converted to _UUxxxx_ with xxxx being its unicode index in hexa. And any preexisting _UU substring in the ident is converted to _UUU. The switch from __Uxxxx_ to _UUxxxx_ is cosmetic, it just helps the extraction (less __ in names). But the other part of the patch (detection of preexisting _UU substrings) is critical to make ascii_of_ident truly injective and avoid the following kind of proof of False via native_compute : Definition α := 1. Definition __U03b1_ := 2. Lemma oups : False. Proof. assert (α = __U03b1_). { native_compute. reflexivity. } discriminate. Qed. Conflicts: lib/unicode.mli
* Fix bug #4737: cycle tactic doesn't like zero goals.Gravatar Pierre-Marie Pédrot2016-05-16
|
* Removing unexcepted activation of option "Regular Subst Tactic", sinceGravatar Hugo Herbelin2016-05-14
| | | | there is actually no change in default subst between 8.4 and 8.5.
* More hints on how to fix compatibility issues.Gravatar Hugo Herbelin2016-05-14
|
* Small optimization in evar resolution.Gravatar Pierre-Marie Pédrot2016-05-12
| | | | | Instead of rebuilding a whole set of evars just to make a typeclass filter, we use the source evarmap.
* Fix bug #4722: Coq dies when encountering broken symbolic links.Gravatar Pierre-Marie Pédrot2016-05-12
|
* Fix bug #3887: Better error message for "More than one program with unsolved ↵Gravatar Pierre-Marie Pédrot2016-05-09
| | | | obligations".
* Rename Lexer -> CLexer.Gravatar Pierre-Marie Pédrot2016-05-09
|
* Fix typo in configure's option description.Gravatar Guillaume Melquiond2016-05-09
|
* Use "md5 -q" on FreeBSD architectures (bug #4719).Gravatar Guillaume Melquiond2016-05-09
| | | | | | This patch also disables the -makecmd option and the corresponding test, since the value is not stored for future use. This prevents gratuitously failing to configure on FreeBSD.
* Use the actual location of an error in the error pane (bug #4169).Gravatar Guillaume Melquiond2016-05-09
| | | | | | | A "sentence" includes all the blank lines and all the comments that precede a command. So its starting location might be far from any error it contains. This patch changes error reporting so that it relies on the location of errors rather than the location of erroneous sentences.
* Fix bug #4713: Anomaly: Assertion Failed for incorrect usage of Module.Gravatar Pierre-Marie Pédrot2016-05-08
|
* typoGravatar Enrico Tassi2016-05-04
|
* NPeano : improve compatibility for this deprecated file via compat notationsGravatar Pierre Letouzey2016-05-04
|
* Int.v: simplify Jason's commit 5b4e3aceGravatar Pierre Letouzey2016-05-04
|
* Merge branch 'move-compat-notations' of https://github.com/JasonGross/coq ↵Gravatar Pierre Letouzey2016-05-04
|\ | | | | | | into v8.5
* | Fixing subst.out after changing spacing in goal output (24a125b77).Gravatar Hugo Herbelin2016-05-04
| |
* | Fix Haskell extraction for terms over 45 characters longGravatar Nickolai Zeldovich2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Haskell extraction code would allow line-wrapping of the Haskell type definition, which would lead to unparseable Haskell code when the linebreak occured just before the type name. In particular, with a term name of 46 characters or more, the following Coq code: Definition xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx := tt. Extraction Language Haskell. Extraction xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. would produce: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx :: Unit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx = Tt which failed to compile with GHC (according to Haskell's indentation rules, the "Unit" line must be indented to be treated as a continuation of the previous line). This patch always forces the type onto a separate line, and ensures that it is always indented by 2 spaces (just like the body of each definition).
* | Handle primitive projections inside types when extracting (bug #4616).Gravatar Guillaume Melquiond2016-05-04
| | | | | | | | | | Note that extracting terms containing primitive projections is still utterly broken, so don't use them.
* | Fix for #4603, part 3: definitions inside proofs not handled properly by coqc.Gravatar Maxime Dénès2016-05-04
| | | | | | | | Patch by Matthieu, Enrico and myself.
* | Increase the size of the dumpglob buffer for cooking notations (bug #4708).Gravatar Guillaume Melquiond2016-05-04
| | | | | | | | A single terminal character can take up to 5 bytes, e.g. "''^A'".
* | In Regular Subst Tactic mode, ensure that the order of hypotheses isGravatar Hugo Herbelin2016-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preserved, which is a source of incompatibilities w.r.t. released 8.5 but which looks to me to be the only possible canonical behavior. This is I believe a better behavior than the Regular Subst Tactic behavior in the released 8.5 and 8.5pl1. There, the order of hypotheses in which substitutions happened was respected, but their interleaving with other hypotheses was not respected. So, I consider this to be a fix to the "Regular Subst Tactic" mode. Also added a more detailed "specification" of the "Regular" behavior of "subst" in the reference manual.
* | Fix bug #4707: clearbody much slower in 8.5pl1.Gravatar Pierre-Marie Pédrot2016-05-03
| | | | | | | | | | We only retype hypotheses and conclusion when they do depend on the cleared identifier. This saves a lot of time.
* | Fix bug #3825: Universe annotations on notations should pass through or be ↵Gravatar Pierre-Marie Pédrot2016-05-03
| | | | | | | | rejected.
* | Test file for #4695: Slow Qed.Gravatar Maxime Dénès2016-05-03
| |
* | Fix bug #4292: Unexpected functor objects.Gravatar Pierre-Marie Pédrot2016-05-03
| |
* | Use the canonical name when looking for an eliminator (bug #4670).Gravatar Guillaume Melquiond2016-05-03
| | | | | | | | Disclaimer: I have no idea what I am doing.
* | Fix bug #4705: coqtop accepts both -emacs and -ideslave.Gravatar Pierre-Marie Pédrot2016-05-03
| |
* | Call hooks when terminating a definition proof (bug #4663).Gravatar Guillaume Melquiond2016-05-03
| | | | | | | | Also register properly the kind of definition.
* | Remove extraneous space in coqtop/pg output (bug #4675).Gravatar Guillaume Melquiond2016-05-03
| |
* | Make votour a bit more robust/forgiving with respect to user commands (bug ↵Gravatar Guillaume Melquiond2016-05-02
| | | | | | | | #4702).
* | Properly handle notations containing spaces (bug #4538).Gravatar Guillaume Melquiond2016-05-02
| | | | | | | | | | | | | | | | When a notation was starting or ending a space, Coq assumed the notation had no terminal symbol in either places. Coq also considered a notation containing only spaces to be productive. As stated in the documentation, extraneous spaces are only meant as printing hints, they are not meant to have any influence on parsing.
* | Avoid infinite loop/stack overflow when using "simpl nomatch" (bug #4576).Gravatar Guillaume Melquiond2016-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When encountering a "simpl nomatch" constant, the reduction machinery tries to unfold it. If the subsequent partial reduction does not produce any match construct, it keeps going from the reduced term. Unfortunately, the reduced term has been refolded in the meantime, which means that some of the previous reduction steps have been canceled, thus causing an infinite loop. This patch delays the refolding till the very end, so that reduction always progresses. Disclaimer: I have no idea what I am doing here. The patch compiles the standard library and the test suite properly, so hopefully they contain enough tests to exercise the reduction machinery.
* | Reduce ide/coq.png to 256x256.Gravatar Guillaume Melquiond2016-04-29
| | | | | | | | | | | | | | | | | | | | Commit 1774a87 increased the file to 1024x1024. This had two adverse consequences. First, the icon was too large to be used as a window icon ("gdk_window_set_icon_list: icons too large"), so Coqide 8.5 no longer had an icon at runtime. Second, the file was also used in the About message box, which was thus exceeding the display size of any reasonably-priced device. This commit reverts the file to a saner size (still larger than the original 66x100 picture).
* | Fix incorrect cbv reduction of primitive projections. (Bug #4634)Gravatar Guillaume Melquiond2016-04-29
| | | | | | | | | | | | | | | | | | | | | | As noticed by Cyprien Mangin, projected terms cannot directly be used as head values. Indeed, they might be applications (e.g. constructors as in the bug report) whose arguments would thus be missing from the evaluation stack when doing any iota-reduction step. The only case where it would make sense is when the evaluation stack is empty, as an optimization. Indeed, in that case, the arguments are put on the stack, and then immediately put back inside the term.
* | Make the language grammar much more precise. (Fix bugs #4682 and #4683)Gravatar Guillaume Melquiond2016-04-28
| | | | | | | | | | | | Rather than being isolated words, commands and tactics now extend till dot separators. So bullets can be defined as living only at the top level of proofs, which should make their detection much more robust.
* | Update tutorial (fix bug #4699).Gravatar Guillaume Melquiond2016-04-28
| |
* | Fix missing newline in coqchk engagement (bug #4694).Gravatar Guillaume Melquiond2016-04-28
| |
* | An example for cd139311e, showing a consequence of not convertingGravatar Hugo Herbelin2016-04-28
| | | | | | | | | | constants up to their canonical name (taken from Daniel's formalization of Puiseux theorem).
* | Fixing an incompatility introduced in a404360: kernel conversion wasGravatar Hugo Herbelin2016-04-27
| | | | | | | | | | not considering conversion of constants over their canonical name but on their user name. This is observable when delta is off.
* | Optimization in building a return clause by pattern-matching: do notGravatar Hugo Herbelin2016-04-27
| | | | | | | | | | build a default case if the pattern is irrefutable. It did not matter in practice because we did not check for unused clauses in this case.
* | Fixing bug #4684: Singleton list notation unusable in 8.5pl1.Gravatar Pierre-Marie Pédrot2016-04-25
| |
* | Print magic numbers in bad magic error messageGravatar Tej Chajed2016-04-25
| |
* | One more word about checking 4.01.0 with -debug and camlp4.Gravatar Hugo Herbelin2016-04-24
| |
* | Fixing output test Notations2.Gravatar Hugo Herbelin2016-04-22
| |