aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-12-06RefMan, ch. 1 and 2: avoiding using the name "constant" whenHugo Herbelin
"constructor" and "inductive" are meant also.
2015-12-06RefMan, ch. 4: Consistent use of the terms local context and global environment.Hugo Herbelin
2015-12-06RefMan, ch. 4: Terminology constant/names.Hugo Herbelin
2015-12-06RefMan, ch. 4: Minor changes for spacing, clarity.Hugo Herbelin
2015-12-05Changing "destruct !hyp" into "destruct (hyp)" (and similarly for induction)Hugo Herbelin
based on a suggestion of Guillaume M. (done like this in ssreflect). This is actually consistent with the hack of using "destruct (1)" to mean the term 1 by opposition to the use of "destruct 1" to mean the first non-dependent hypothesis of the goal.
2015-12-05Fix CHANGES.Hugo Herbelin
2015-12-04Fix in setoid_rewrite in Type: avoid the generation of a rigid universeMatthieu Sozeau
on applications of inverse (flip) on a crelation. This was poluting universe constraints of lemmas using generalized rewriting in Type.
2015-12-03Univs: fix bug #4443.Matthieu Sozeau
Do not substitute rigid variables during minimization, keeping their equality constraints instead.
2015-12-03Improving over printing of let-tuple (see #4447).Hugo Herbelin
For instance, #4447 is now printed: λ Ca Da : ℕAlg, let (ℕ, ℕ0) := (Ca, Da) in let (C, p) := ℕ in let (c₀, cs) := p in let (D, p0) := ℕ0 in let (d₀, ds) := p0 in {h : C → D & ((h c₀ = d₀) * (∀ c : C, h (cs c) = ds (h c)))%type} : ℕAlg → ℕAlg → Type
2015-12-02Adding a target report to test-suite's Makefile to get a short summary.Hugo Herbelin
2015-12-02Slight simplification of code for pat/constr.Hugo Herbelin
2015-12-02Improving syntax of pat/constr introduction pattern so thatHugo Herbelin
pat/c1/.../cn behaves as intro H; apply c1, ... , cn in H as pat. Open to other suggestions of syntax though.
2015-12-02Dead code from August 2014 in apply in.Hugo Herbelin
2015-12-02Update history of revisions.Hugo Herbelin
2015-12-02Changing syntax "$(tactic)$" into "ltac:(tactic)", as discussed in WG.Hugo Herbelin
2015-12-02Univs/Program: update the universe context with global universeMatthieu Sozeau
constraints at the time of Next Obligation/Solve Obligations so that interleaving definitions and obligation solving commands works properly.
2015-12-02Fix bug #4444: Next Obligation performed after a Section opening wasMatthieu Sozeau
using the wrong context. This is very bad style but currently unavoidable, at least we don't throw an anomaly anymore.
2015-12-02Add an option to deactivate compatibility printing of primitiveMatthieu Sozeau
projections (off by default).
2015-12-02Fix a bug in externalisation which prevented printing of projectionsMatthieu Sozeau
using dot notation.
2015-12-01vio: fix argument parsing (progress on #4442)Enrico Tassi
2015-11-30Test for bug #4149.Pierre-Marie Pédrot
2015-11-28Test-suite files for closed bugsMatthieu Sozeau
2015-11-28Closed bugs.Matthieu Sozeau
2015-11-28Univs: correctly register universe binders for lemmas.Matthieu Sozeau
2015-11-27Univs: entirely disallow instantiation of polymorphic constants withMatthieu Sozeau
Prop levels. As they are typed assuming all variables are >= Set now, and this was breaking an invariant in typing. Only one instance in the standard library was used in Hurkens, which can be avoided easily. This also avoids displaying unnecessary >= Set constraints everywhere.
2015-11-27Avoid recording spurious Set <= Top.i constraints which are alwaysMatthieu Sozeau
valid (when Top.i is global and hence > Set).
2015-11-27Fix [Polymorphic Hint Rewrite].Matthieu Sozeau
2015-11-26Fixing the "parsing rules with idents later declared as keywords" problem.Hugo Herbelin
The fix was actually elementary. The lexer comes with a function to compare parsed tokens against tokens of the parsing rules. It is enough to have this function considering an ident in a parsing rule to be equal to the corresponding string parsed as a keyword.
2015-11-26Make the pretty printer resilient to incomplete nametab (progress on #4363).Enrico Tassi
The nametab in which the error message is printed is not the one in which the error message happens. This reveals a weakness in the fix_exn code: the fix_exn function should be pure, while in some cases (like this one) uses the global state (the nametab) to print a term in a pretty way (the shortest non-ambiguous name for constants). This patch makes the externalization phase (used by term printing) resilient to an incomplete nametab, so that printing a term in the wrong nametab does not mask the original error.
2015-11-26Adding the Printing Projections options to the index.Pierre-Marie Pédrot
2015-11-25Fix for case-insensitive path looking continued (#2554): Adding aHugo Herbelin
second chance to dynamically regenerate the file system cache when a file is not found (suggested by Guillaume M.).
2015-11-25Generalizing the patch to bug #2554 on fixing path looking withHugo Herbelin
correct case on MacOS X whose file system is case-insensitive but case-preserving (HFS+ configured in case-insensitive mode). Generalized it to any case-preserving case-insensitive file system, which makes it applicable to Windows with NTFS used in case-insensitive mode but also to Linux when mounting a case-insensitive file system. Removed the blow-up of the patch, improved the core of the patch by checking whether the case is correct only for the suffix part of the file to be found (not for the part which corresponds to the path in which where to look), and finally used a cache so that the effect of the patch is not observable. Note that the cache is implemented in a way not synchronous with backtracking what implies e.g. that a file compiled in the middle of an interactive session would not be found until Coq is restarted, even by backtracking before the corresponding Require. For history see commits b712864e9cf499f1298c1aca1ad8a8b17e145079, 4b5af0d6e9ec1343a2c3ff9f856a019fa93c3606 69941d4e195650bf59285b897c14d6287defea0f e7043eec55085f4101bfb126d8829de6f6086c5a. as well as https://coq.inria.fr/bugs/show_bug.cgi?id=2554 discussion on coq-club "8.5 and MathClasses" (May 2015) discussion on coqdev "Coq awfully slow on MacOS X" (Sep 2015)
2015-11-25Heuristic to check the version of lablgtk2 in configure.ml.Pierre-Marie Pédrot
When not using ocamlfind, we use a grep-based heuristic to check that lablgtk2 is recent enough. This is an extension of an already-used heuristic.
2015-11-25Reverting 1467c225 (Fixing an old typo in Retyping, found by Matej).Hugo Herbelin
This was not a typo (was correctly taking the family type of the type).
2015-11-25Advertising that CoqIDE requires lablgtk >= 2.16Pierre-Marie Pédrot
2015-11-25Checking lablgtk version in configure. Fix bug #4423.Pierre-Marie Pédrot
2015-11-24Univs: carry on universe substitution when defining obligations ofMatthieu Sozeau
non-polymorphic definitions, original universes might be substituted later on due to constraints.
2015-11-24Fixing an old typo in Retyping, found by Matej.Hugo Herbelin
2015-11-23Fix generation of equality schemes on polymorphic equality types.Matthieu Sozeau
2015-11-23Fix output of universe arcs. (Fix bug #4422)Guillaume Melquiond
2015-11-22Fixing a vm_compute bug in the presence of let-ins among theHugo Herbelin
parameters of an inductive type.
2015-11-22Fixing a bug of adjust_subst_to_rel_context.Hugo Herbelin
2015-11-22Fixing kernel bug in typing match with let-ins in the arity.Hugo Herbelin
Was exploitable in 8.3, 8.4 and 8.5beta1. A priori not exploitable in 8.5beta2 and 8.5beta3 from a Coq file because typing done while compiling "match" would serve as a protection. However exploitable by calling the kernel directly, e.g. from a plugin (but a plugin can anyway do what it wants by bypassing kernel type abstraction). Fixing similar error in pretyping.
2015-11-20Univs: generation of induction schemes should not generated uselessMatthieu Sozeau
instances for each of the inductive in the same block but reuse the original universe context shared by all of them. Also do not force schemes to become universe polymorphic.
2015-11-20Univs: fix type_of_global_in_context not returning instantiated universe ↵Matthieu Sozeau
contexts.
2015-11-19Fix bug #4429: eauto with arith: 70x performance regression in Coq 8.5.Pierre-Marie Pédrot
The issue was due to the fact that unfold hints are given a priority of 4 by default. As eauto was now using hint priority rather than the number of goals produced to order the application of hints, unfold were almost always used too late. We fixed this by manually giving them a priority of 1 in the eauto tactic. Also fixed the relative order of proof depth w.r.t. hint priority. It should not be observable except for breadth-first search, which is seldom used.
2015-11-19Allow program hooks to see the refined universe_context at the end of aMatthieu Sozeau
definition, if they manipulate structures depending on the initial state of the context.
2015-11-19Fix bug #4433, removing hack on evars appearing in a pattern from aMatthieu Sozeau
constr, and the associated signature, not needed anymore. Update CHANGES, no evar_map is produced by pattern_of_constr anymore.
2015-11-18Fixing fix c71aa6b to primitive projections.Hugo Herbelin
- Introduced an error: fold was counting in the wrong direction and I did not test it. Sorry. - Substitution from params-with-let to params-without-let was still not correct. Hopefully everything ok now. Eventually, we should use canonical combinators for that: extended_rel_context to built the instance and and a combinator apparently yet to define for building a substitution contracting the let-ins.
2015-11-18Fix a bug preventing the generation of graphs when doing multipleMatthieu Sozeau
pattern-matching on function calls.