aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-09A bit of cleaning around name generation + creation of dedicated file namegen.mlherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12485 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-09Quick fix for restoring a left-to-right rewriting lemma compatibleherbelin
with the guard condition + typo in the generation of _rec schemes in the impredicative case. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12484 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-09git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12483 ↵fbesson
85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-08Fixed "Scheme Equality" when another instance of the scheme on theherbelin
same type is already registered. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12482 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-08Restructuration of command.ml + generic infrastructure for inductive schemesherbelin
- Cleaning and uniformisation in command.ml: - For better modularity and better visibility, two files got isolated out of command.ml: - lemmas.ml is about starting and saving a proof - indschemes.ml is about declaring inductive schemes - Decomposition of the functions of command.ml into a functional part and the imperative part - Inductive schemes: - New architecture in ind_tables.ml for registering scheme builders, and for sharing and generating on demand inductive schemes - Adding new automatically generated equality schemes (file eqschemes.ml) - "_congr" for equality types (completing here commit 12273) - "_rew_forward" (similar to vernac-level eq_rect_r), "_rew_forward_dep", "_rew_backward" (similar to eq_rect), "_rew_backward_dep" for rewriting schemes (warning, rew_forward_dep cannot be stated following the standard Coq pattern for inductive types: "t=u" cannot be the last argument of the scheme) - "_case", "_case_nodep", "_case_dep" for case analysis schemes - Preliminary step towards discriminate and injection working on any equality-like type (e.g. eq_true) - Restating JMeq_congr under the canonical form of congruence schemes - Renamed "Set Equality Scheme" into "Set Equality Schemes" - Added "Set Rewriting Schemes", "Set Case Analysis Schemes" - Activation of the automatic generation of boolean equality lemmas - Partial debug and error messages improvements for the generation of boolean equality and decidable equality - Added schemes for making dependent rewrite working (unfortunately with not a fully satisfactory design - see file eqschemes.ml) - Some names of ML function made more regular (see dev/doc/changes.txt) - Incidentally, added a flush to obsolete Local/Global syntax warning git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12481 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-08Took local definitions into account in the test for deciding whetherherbelin
the return clause of match is printed. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12480 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-08Use generalizable variables info when internalizing arbitrary bindings,msozeau
not just type class applications. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12479 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-06- Fix discharge bug in typeclasses: some constrs were not actuallymsozeau
discharged on the other definitions in the section. - Avoid universe problem in generalize_eqs were we could give an [@eq_refl Set x x] proof where an [@eq Type x x] was expected. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12478 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-06Datatypes.length and app defined back via fun+fix instead of Fixpointletouzey
Since length and app were defined inside a Section in List.v, their type argument A wasn't inside the fixpoint. Restoring the initial definition repairs (at least) Cachan/IntMap. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12477 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-06Numbers: finish files NStrongRec and NDefOpsletouzey
- NStrongRec provides a "strong" recursor based on the usual one: recursive calls can be done here on any lower value. See binary log in NDefOps for an example of use. - NDefOps contains alternative definitions of usual operators (add, mul, ltb, pow, even, half, log) via usual or strong recursor, and proofs of correctness and/or of equivalence with axiomatized operators. These files were in the archive but not being compiled, some proofs of correction for functions defined there were missing. By the way, some more iff-style lemmas in Bool. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12476 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-06Numbers: more (syntactic) changes toward new style of type classesletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12475 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-06Misc fixes.msozeau
- Correct backtracking function of coqdoc to handle the _p fields of lexers - Try a better typesetting of [[ ]] inline code considering it as blocks and not purely inline code like [ ] escapings. - Rework latex macros for better factorization and support external references in pdf output. - Better criterion for generalization of variables in dependent elimination tactic and better error message in [specialize_hypothesis]. - In autounfold, don't put the core unfolds by default. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12474 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-05Changement de la version minimale requise de OCaml (3.07 => 3.09.3).notin
J'ai ajouté une option '-force-caml-version' au ./configure pour passer outre la vérification de la version de OCaml. La barre a été mise à 3.09.3 parce que Khepri (Debian Etch = oldstable) continue de faire tourner le bench en utilisant OCaml 3.09.3. Pour info, Coq 8.2 compile avec la 3.08.4, mais pas le trunk. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12473 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-05Correction du bug #2142notin
Ajout d'un test d'existence de pngtopnm et de pnmtops dans le ./configure git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12471 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-05Correction du bug #2153 (-D n'est pas une option standard de install)notin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12469 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-04Fixed record syntax "{|x=...; y=...|}" so that it works with qualified names.gmelquio
Fixed pretty printing of record syntax. Allowed record syntax inside patterns. (Patch by Cedric Auger.) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12468 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-04Removed 'Toplevel' language from extraction documentation, since it is not ↵gmelquio
currently supported. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12467 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-03Report de la révision #12208 de la v8.2 (correction du bug #2126)notin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12466 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-03Removed debugging stuff mistakenly introduced in r12426.herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12465 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-03Numbers: start using Classes stuff, Equivalence, Proper, Instance, etcletouzey
TODO: finish removing the "Add Relation", "Add Morphism" fun_* fun2_* TODO: now that we have Include, flatten the hierarchy... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12464 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-03ROrderedType + Rminmax : Coq's Reals can be seen as OrderedType.letouzey
This way we get properties of Rmin / Rmax (almost) for free. TODO: merge Rbasic_fun and Rminmax... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12463 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-03Better visibility of the inductive CompSpec used to specify comparison functionsletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12462 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-03OrderedType implementation for various numerical datatypes + min/max structuresletouzey
- A richer OrderedTypeFull interface : OrderedType + predicate "le" - Implementations {Nat,N,P,Z,Q}OrderedType.v, also providing "order" tactics - By the way: as suggested by S. Lescuyer, specification of compare is now inductive - GenericMinMax: axiomatisation + properties of min and max out of OrderedTypeFull structures. - MinMax.v, {Z,P,N,Q}minmax.v are specialization of GenericMinMax, with also some domain-specific results, and compatibility layer with already existing results. - Some ML code of plugins had to be adapted, otherwise wrong "eq", "lt" or simimlar constants were found by functions like coq_constant. - Beware of the aliasing problems: for instance eq:=@eq t instead of eq:=@eq M.t in Make_UDT made (r)omega stopped working (Z_as_OT.t instead of Z in statement of Zmax_spec). - Some Morphism declaration are now ambiguous: switch to new syntax anyway. - Misc adaptations of FSets/MSets - Classes/RelationPairs.v: from two relations over A and B, we inspect relations over A*B and their properties in terms of classes. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12461 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02Reverted an incorrect code simplification in function status_changedherbelin
(rewrote it differently to avoid being trapped again). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12460 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02List + SetoidList : some cleanup around predicates Exists, Forall, Forall2, ↵letouzey
ForallPairs, etc git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12459 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02Remove various useless {struct} annotationsletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12458 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02Added alternate versions of existing lemmas on sqrt.gmelquio
Indeed, since sqrt is a total function, most lemmas are true, even for negative inputs. For instance, sqrt_le_1 was 0 <= x -> 0 <= y -> x <= y -> sqrt x <= sqrt y while sqrt_le_1_alt is just x <= y -> sqrt x <= sqrt y. Naming is done by adding _alt suffixes. In an ideal world (Coq 9.0?), these new lemmas should just replace the original ones. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12457 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02Correction du bug #2175notin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12456 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02Sorting/Permutation: no need to require the whole Arith (and hence plugins ↵letouzey
like ring) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12454 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02Operators_Properties: avoid to depend on Setoidletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12453 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-11-02list, length, app are migrated from List to Datatypesletouzey
This allows easier handling of dependencies, for instance RelationClasses won't have to requires List (which itself requires part of Arith, etc). One of the underlying ideas is to provide setoid rewriting in Init someday. Thanks to some notations in List, this change should be fairly transparent to the user. For instance, one could see that List.length is a notation for (Datatypes.)length only when doing a Print List.length. For these notations not to be too intrusive, they are hidden behind an explicit Export of Datatypes at the end of List. This isn't very pretty, but quite handy. Notation.ml is patched to stop complaining in the case of reloading the same Delimit Scope twice. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12452 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-30Undo 12432 which caused an exponential behavior at Requires. Compilation ↵puech
time should be back to normal. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12451 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-30Attempt to capture on time unification errors for "with" bindings.herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12450 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-30Take constraints into account in the "instantiate" tacticherbelin
(building an example that needs it to do). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12449 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-30Added Coqide highlighting for extraction vernacular.gmelquio
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12448 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-30Removed 'dest' from keyword highlighting.gmelquio
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12447 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-29Hopefully improved layout of fix guardness error message.herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12445 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-29Fix flat_map definition so that it plays nicely with fixglondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12444 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-29Fixed some typos in the reference manual.gmelquio
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12443 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-29Revision 12439 continued, printing part (notations to names behaveherbelin
like the name they refer to). Fixing buggy test-suite implicit.v git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12442 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-29Fix bug in dnet.ml, which missed some results when filtering one term ↵puech
against many patterns. Conflicts: lib/dnet.ml git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12441 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Integrate a few improvements on typeclasses and Program from the equations ↵msozeau
branch and remove equations stuff which moves to a separate plugin. Classes: - Ability to define classes post-hoc from constants or inductive types. - Correctly rebuild the hint database associated to local hypotheses when they are changed by a [Hint Extern] in typeclass resolution. Tactics and proofs: - Change [revert] so that it keeps let-ins (but not [generalize]). - Various improvements to the [generalize_eqs] tactic to make it more robust and produce the smallest proof terms possible. Move [specialize_hypothesis] in tactics.ml as it goes hand in hand with [generalize_eqs]. - A few new general purpose tactics in Program.Tactics like [revert_until] - Make transitive closure well-foundedness proofs transparent. - More uniform testing for metas/evars in pretyping/unification.ml (might introduce a few changes in the contribs). Program: - Better sorting of dependencies in obligations. - Ability to start a Program definition from just a type and no obligations, automatically adding an obligation for this type. - In compilation of Program's well-founded definitions, make the functional a separate definition for easier reasoning. - Add a hint database for every Program populated by [Hint Unfold]s for every defined obligation constant. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12440 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Made that notations to names behave like the names they refer to wrtherbelin
implicit arguments and scope (use Implicit Arguments or Arguments Scope commands instead if not the desired behaviour). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12439 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Fixed a bug when reporting unexisting reference to an inductiveherbelin
(introduced in r12323). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12438 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Clarification in commentsglondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12437 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Remove old compatibility stuff (Tacred.nf)glondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12436 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Make usage of Dyn explicitglondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12435 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Backport fix for indexing of sorts which collapse every Type occurrencemsozeau
into a SortLabel None. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12434 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Typo in the refmanpuech
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12433 85f007b7-540e-0410-9357-904b9bb8a0f7
2009-10-28Fix incorrect registration of objects in libtypes.ml when defining a module.puech
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12432 85f007b7-540e-0410-9357-904b9bb8a0f7