aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
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-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-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-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-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-07Fixing output test Existentials.v after eec77191b.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.
2015-11-07Tests for syntax "Show id" and [id]:tac (shelved or not).Hugo Herbelin
2015-11-07Fixing documention of Add Printing Coercion.Hugo Herbelin
2015-11-06Fixed #4407.Pierre Courtieu
Like coqc: detect if the current directory was set by options, if not: add it with empty logical path. TODO: check if coq_makefile is still correct wrt to this modification, I think yes, actually it should end being more correct.
2015-11-06Fixing #4406 coqdep: No recursive search of ml (-I).Pierre Courtieu
2015-11-06Fixing complexity file f_equal.v.Hugo Herbelin
2015-11-06More on how to compile doc.Hugo Herbelin
2015-11-06Fixing complexity issue with f_equal. Thanks to J.-H. JourdanHugo Herbelin
for reporting it. A "cut" was not appropriately chained on the second goal but on both goals, with the chaining on the first goal introducing noise.
2015-11-05Add test-suite file for #4273.Matthieu Sozeau
2015-11-05Fix bug #4273Matthieu Sozeau
Syntactic analysis of dependencies when atomizing arguments in destruct was not dealing properly with primitive projections hiding their parameters.
2015-11-05Update version numbers and magic numbers for 8.5beta3 release.Maxime Dénès
2015-11-04Checker was forgetting to register global universes introduced by opaqueMatthieu Sozeau
proofs.
2015-11-04Univs: missing checks in evarsolve with candidates and missing aMatthieu Sozeau
whd_evar in refresh_universes.
2015-11-04Univs: update refman, better printers for universe contexts.Matthieu Sozeau
2015-11-04Hint Cut documentation and cleanup of printing (was duplicated andMatthieu Sozeau
inconsistent).
2015-11-04Univs: compatibility with 8.4.Matthieu Sozeau
When refreshing a type variable, always use a rigid universe to force the most general universe constraint, as in 8.4.