aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-11-18Improve error message.Maxime Dénès
2015-11-18MacOS package script: do not fail if link to /Applications already exists.Maxime Dénès
2015-11-18Slightly documenting code for building primitive projections.Hugo Herbelin
2015-11-18Fixing logical bugs in the presence of let-ins in computiong primitiveHugo Herbelin
projections. - lift accounting for the record missing in computing the subst from fields to projections of the record - substitution for parameters should not lift the local definitions - typo in building the latter (subst -> letsubst)
2015-11-18Inlining the only use of Clenv.connect_clenv.Pierre-Marie Pédrot
2015-11-17More optimizations of [Clenv.clenv_fchain].Pierre-Marie Pédrot
Everywhere we know that the universes of the left argument are an extension of the right argument, we do not have to merge universes.
2015-11-17Performance fix for destruct.Pierre-Marie Pédrot
The clenv_fchain function was needlessly merging universes coming from two evarmaps even though one was an extension of the other. A flag was added so that the tactic just retrieves the newer universes.
2015-11-16Being more precise and faithful about the origin of the file reportingHugo Herbelin
about the prehistory of Coq.
2015-11-15Hashconsing modules.Pierre-Marie Pédrot
Modules inserted into the environment were not hashconsed, leading to an important redundancy, especially in module signatures that are always fully expanded. This patch divides by two the size and memory consumption of module-heavy files by hashconsing modules before putting them in the environment. Note that this is not a real hashconsing, in the sense that we only hashcons the inner terms contained in the modules, that are only mapped over. Compilation time should globally decrease, even though some files definining a lot of modules may see their compilation time increase. Some remaining overhead may persist, as for instance module inclusion is not hashconsed.
2015-11-15Fixing output test Cases.v.Pierre-Marie Pédrot
Not sure if this is really what is expected though.
2015-11-15Displaying the object identifier in votour.Pierre-Marie Pédrot
2015-11-15Merge branch 'v8.5'Pierre-Marie Pédrot
2015-11-13Continue fix of PMP, handling setoid_rewrite in let-bound hyps correctly.Matthieu Sozeau
2015-11-13MacOS package script: do not fail if directory _dmg already exists.Maxime Dénès
2015-11-12Fix bug #4412: [rewrite] (setoid_rewrite?) creates ill-typed terms.Pierre-Marie Pédrot
We retypecheck the hypotheses introduced by the refine primitive instead of blindly trusting them when the unsafe flag is set to false.
2015-11-12Fixed test-suite file for bug #3998.Matthieu Sozeau
2015-11-12Update CHANGESJason Gross
Mention compatibility file.
2015-11-12Script building MacOS package.Maxime Dénès
2015-11-11Prehistory of Coq: move the bibliographic references to a dedicated section.Arnaud Spiwack
So as not to clutter the text. Also took the opportunity to add a few missing references.
2015-11-11Prehistory of Coq: justification of the plain text.Arnaud Spiwack
2015-11-11Prehistory of Coq: consistency.Arnaud Spiwack
Don't use abbreviated first names in sentences.
2015-11-11Prehistory of Coq: various corrections on English.Arnaud Spiwack
2015-11-11Prehistory of Coq: asciidoc conversion.Arnaud Spiwack
Formatting markup + typography.
2015-11-11Now closed.Matthieu Sozeau
2015-11-11Ensure that conversion is called on terms of the same type inMatthieu Sozeau
unification (not necessarily preserved due to the fo approximation rule).
2015-11-11Fix bug #3998: when using typeclass resolution for conversion, allowMatthieu Sozeau
only one disjoint component of the typeclasses instances to resolve.
2015-11-11Fix bug #3735: interpretation of "->" in Program follows the standard one.Matthieu Sozeau
2015-11-11Fix bug #3257, setoid_reflexivity should fail if not completing the goal.Matthieu Sozeau
2015-11-11Fix bug #4293: ensure let-ins do not contain algebraic universes inMatthieu Sozeau
their type annotation.
2015-11-11Fixing bug #3554: Anomaly: Anonymous implicit argument.Pierre-Marie Pédrot
We just handle unnamed implicits using a dummy name. Note that the implicit argument logic should still output warnings whenever the user writes implicit arguments that won't be taken into account, but I'll leave that for another time.
2015-11-10Updating test-suite after Bracketing Last Introduction Pattern set byHugo Herbelin
default. Interestingly, there is an example where it makes the rest of the proof less natural. Goal forall x y:Z, ... intros [y|p1[|p2|p2]|p1[|p2|p2]]. where case analysis on y is not only in the 2nd and 3rd case, is not anymore easy to do. Still, I find the bracketing of intro-patterns a natural property, and its generalization in all situations a natural expectation for uniformity. So, what to do? The following is e.g. not as compact and "one-shot": intros [|p1|p1]; [intros y|intros [|p2|p2] ..].
2015-11-10Updating Compat85.v after bd1c97653 on bracketing last or-andHugo Herbelin
introduction pattern by default.
2015-11-10Revert "Fixing #1225: we now skip the canonically built binding contexts of"Hugo Herbelin
This reverts commit 07620386b3c1b535ee7e43306a6345f015a318f0. Very sorry not ready.
2015-11-10Fixing #1225: we now skip the canonically built binding contexts ofHugo Herbelin
the return clause and of the branches in a "match", computing them automatically when using the "at" clause of pattern, destruct, ... In principle, this is a source of incompatibilities in the numbering, since the internal binders of a "match" are now skipped. We shall deal with that later on.
2015-11-10Listing separately changes from 8.5betas to final 8.5 and furtherHugo Herbelin
changes from final 8.5 to next version.
2015-11-10Activating bracketing of last or-and introduction pattern by defaultHugo Herbelin
for more regularity.
2015-11-10Merge origin/v8.5 into trunkHugo Herbelin
Did some manual merge in tactics/tactics.ml.
2015-11-10Dead code from the commit having introduced primitive projections (a4043608).Hugo Herbelin
2015-11-10Typo.Hugo Herbelin
2015-11-10Fixing a bug in reporting ill-formed constructor.Hugo Herbelin
For instance, Inductive a (x:=1) := C : a -> True. was wrongly reporting Error: The type of constructor C is not valid; its conclusion must be "a" applied to its parameter. Also "simplifying" explain_ind_err.
2015-11-10Test for bug #4404.Pierre-Marie Pédrot
2015-11-10Fix bug #4404: [remember] gives Error: Conversion test raised an anomaly.Pierre-Marie Pédrot
2015-11-09Pushing the backtrace in conversion anomalies.Pierre-Marie Pédrot
2015-11-08Adapting output test inference.v after c23f0cab6 (experimentingHugo Herbelin
printing the type of the defined term of a LetIn).
2015-11-07Fixing output test Existentials.v after eec77191b.Hugo Herbelin
2015-11-07Preventing an unwanted warning 5 "this function application is partial"Hugo Herbelin
which e.g. OCaml 4.02.1 displays.
2015-11-07Implementing assert and cut with LetIn rather than using a beta-redex.Hugo Herbelin
Hopefully, it will provide with nicer proof terms, in combination with the commit printing the type of LetIn when the defined term is a proof.
2015-11-07Experimenting printing the type of the defined term of a LetIn whenHugo Herbelin
this type is a proposition. This is based on the assumption that in Prop, what matters first is the statement.
2015-11-07Adding an amazing property of Prop.Hugo Herbelin
2015-11-07Preservation of the name of evars/goals when applying pose/set/intro/clearbody.Hugo Herbelin
For pose/set/clearbody, I think it is clear that we want to preserve the name and this commit do it. For revert, I first did not preserve the name, then considered in 2ba2ca96be88 that it was better to preserve it. For intro, like for revert actually, I did not preserve the name, based on the idea that the type was changing (*). For instance if we have ?f:nat->nat, do we really want to keep the name f in ?f:nat after an intro. For revert, I changed my mind based on the idea that if we had a better control of the name if we keep the name that if the system invents a new one based on the type. I think this is more reasonable than (*), so this commit preserves the name for intro. For generalize, it is still not done because of generalize being in the old proof engine.