aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* More debugging of handling of open constrs with typeclasses:Gravatar msozeau2008-10-25
| | | | | | | | avoid trying to resolve classes early in open constr arguments for Ltac, the tactics themselves should do whatever's appropriate with the constraints. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11503 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fix for bug #1981, correct the mismatch between the meta types used inGravatar msozeau2008-10-25
| | | | | | | clenv and the ones found in the refiner. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11502 85f007b7-540e-0410-9357-904b9bb8a0f7
* Raise informative errors instead of Failures or anomalies in case a metaGravatar msozeau2008-10-24
| | | | | | | | type contains a meta as this is currently unsupported in the refiner. Fixes bugs #1980 and #1981. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11501 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fix doc of apply in (see coq-club message 26 September 2008)Gravatar herbelin2008-10-24
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11499 85f007b7-540e-0410-9357-904b9bb8a0f7
* Forgot one file which had other local modifications...Gravatar msozeau2008-10-23
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11498 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fix bug #1977 by allowing the [apply] variants to take an [open_constr]Gravatar msozeau2008-10-23
| | | | | | | | | | instead of a completely resolved [constr] as input. The propagation of the evars associated to the lemma is only allowed when the evar flag is on (i.e. for [eapply]), otherwise they should be resolved by the end of the application. Should be completely backwards compatible... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11497 85f007b7-540e-0410-9357-904b9bb8a0f7
* Open notation for declaring record instances.Gravatar msozeau2008-10-23
| | | | | | | | | | | | | | | | | | | | It solves feature request 1852, makes me and Arnaud happy and will permit to factor some more code in typeclasses. - Records are introduced using the syntax "{| x := t; y := foo |}" and "with" clauses are currently parsed but not yet supported in the elaboration. You are invited to suggest other syntaxes :) - Missing fields are turned into holes, extra fields cause an error message. The current implementation finds the type of the record at pretyping time, from the typing constraint alone (and just expects an inductive with one constructor). It is then impossible to use scope information to parse the bodies: that may be wrong. The other solution I see is using the fields to detect the type earlier, before internalisation of the bodies, but then we get in name clash hell. - In funind/contrib/interface I mostly put [assert false] everywhere to avoid warnings. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11496 85f007b7-540e-0410-9357-904b9bb8a0f7
* Generalized implementation of generalization.Gravatar msozeau2008-10-23
| | | | | | | | | | | | | | | | | | | | | - New constr_expr construct [CGeneralization of loc * binding_kind * abstraction_kind option * constr_expr] to generalize the free vars of the [constr_expr], binding these using [binding_kind] and making a lambda or a pi (or deciding from the scope) using [abstraction_kind option] (abstraction_kind = AbsLambda | AbsPi) - Concrete syntax "`( a = 0 )" for explicit binding of [a] and "`{ ... }" for implicit bindings (both "..(" and "_(" seem much more difficult to implement). Subject to discussion! A few examples added in a test-suite file. - Also add missing syntax for implicit/explicit combinations for _binders_: "{( )}" means implicit for the generalized (outer) vars, explicit for the (inner) variable itself. Subject to discussion as well :) - Factor much typeclass instance declaration code. We now just have to force generalization of the term after the : in instance declarations. One more step to using Instance for records. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11495 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fix bugs #1975 and #1976.Gravatar msozeau2008-10-22
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11494 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fix for bug #1973 provided by Brian Campbell.Gravatar msozeau2008-10-22
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11492 85f007b7-540e-0410-9357-904b9bb8a0f7
* Various coqdoc improvements:Gravatar msozeau2008-10-22
| | | | | | | | | | | | | - New "color" option to the coqdoc latex style file to typeset using the xcolor package, still following the McBride convention. - Work on proper indentation and spacing of output code and allow users to customise indentation (setting a base indentation length) and line skips for empty lines of code. - Also add new environments to distinguish code and documentation, doing nothing right now. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11491 85f007b7-540e-0410-9357-904b9bb8a0f7
* A much better implementation of implicit generalization:Gravatar msozeau2008-10-22
| | | | | | | | | | | | | - Do it after internalisation (esp. after notation expansion) - Generalize it to any constr, not just typeclasses - Prepare for having settings on the implicit status of generalized variables (currently only impl,impl and expl,expl are supported). - Simplified implementation! (Still some refactoring needed in typeclasses parsing code). This patch contains a fix for bug #1964 as well. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11490 85f007b7-540e-0410-9357-904b9bb8a0f7
* Affichage des notations récursives:Gravatar herbelin2008-10-22
| | | | | | | | | | | | | - Prise en compte des notations applicatives - Remplacement du codage des arguments liste des notations récursives sous forme de terme par une représentation directe (permet notamment de résoudre un problème de stack overflow de la fonction d'affichage) + Correction bug affichage Lemma dans ppvernac.ml + Divers util.ml git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11489 85f007b7-540e-0410-9357-904b9bb8a0f7
* More OCaml-3.11-friendly configure scriptGravatar glondu2008-10-21
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11487 85f007b7-540e-0410-9357-904b9bb8a0f7
* warning message when a qualid to extract can be both a module or a cstGravatar letouzey2008-10-21
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11485 85f007b7-540e-0410-9357-904b9bb8a0f7
* duplicated open of PpconstrGravatar letouzey2008-10-21
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11484 85f007b7-540e-0410-9357-904b9bb8a0f7
* Correction bug #1969.Gravatar soubiran2008-10-21
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11483 85f007b7-540e-0410-9357-904b9bb8a0f7
* Renommage "Global Instance" en "Instance Global" pour uniformisationGravatar herbelin2008-10-20
| | | | | | | de l'utilisation des modificateurs Global/Local git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11480 85f007b7-540e-0410-9357-904b9bb8a0f7
* Zdiv: eqm (equality modulo some N) can now be declared as Parametric RelationGravatar letouzey2008-10-20
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11476 85f007b7-540e-0410-9357-904b9bb8a0f7
* Syntaxe de COQBINGravatar notin2008-10-20
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11475 85f007b7-540e-0410-9357-904b9bb8a0f7
* Suite 11472 et 11473Gravatar herbelin2008-10-19
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11474 85f007b7-540e-0410-9357-904b9bb8a0f7
* Suite 11472Gravatar herbelin2008-10-19
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11473 85f007b7-540e-0410-9357-904b9bb8a0f7
* - Export de pattern_ident vers les ARGUMENT EXTEND and co.Gravatar herbelin2008-10-19
| | | | | | | | | | | | - Extension du test de réversibilité acyclique des notations dures aux notations de type abbréviation (du genre inhabited A := A). - Ajout options Local/Global à Transparent/Opaque. - Retour au comportement 8.1 pour "move" (dependant par défaut et mot-clé dependent retiré). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11472 85f007b7-540e-0410-9357-904b9bb8a0f7
* Retour en arrière sur la mise en paramètre du premier argument deGravatar herbelin2008-10-19
| | | | | | | | | Coq.Relation.Relation_Operators.clos_refl_sym_trans car cela échange les arguments de rst_sym et casse la compatibilité (cf p.ex. Rocq/PTS). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11471 85f007b7-540e-0410-9357-904b9bb8a0f7
* Retour en arrière pour raison de compatibilité sur la suppression du nf_evar Gravatar herbelin2008-10-19
| | | | | | | | | | | | | | | | | | dans clos_norm_flags (cf échec dans CoRN.Transc.InvTrigonom.Tan_ilim). Ceci dit : - cela ne me parait pas moral que clos_norm_flags s'occupe de normaliser les evars, - mais comme "evar" n'est pas un flag supporté par closure.ml, on ne peut pas le donner à la demande comme argument de clos_norm_flags (question: pourrait-on faire supporter la réduction Evar par closure.ml ??). Plus généralement, il y a un problème avec la propagation des instantiations des evars à travers les buts (cf lemme eapply_evar dans test-suite/success/apply.v). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11470 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fixed bug #1966, wrong handling of evars.Gravatar msozeau2008-10-18
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11468 85f007b7-540e-0410-9357-904b9bb8a0f7
* Optimisation de clenv.ml pour que meta_instance ne soit pas appeléGravatar herbelin2008-10-18
| | | | | | | | | | abusivement sur les clauses. Nettoyage au passage de metamap qui était utilisé à la fois pour les substitutions de meta et pour les contextes de typage de meta. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11467 85f007b7-540e-0410-9357-904b9bb8a0f7
* Expérience de simplification de Ndigits compte tenu des tactiques existantGravatar herbelin2008-10-18
| | | | | | | actuellement git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11466 85f007b7-540e-0410-9357-904b9bb8a0f7
* - Merge modifs coq_makefile.ml4 de la 8.1 vers le trunk (commit 11429)Gravatar herbelin2008-10-18
| | | | | | | | | - Makefile: typo apparente avec .ml4.preprocessed - test-suite: ajout d'un test sur eta qui trainait dans le coin git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11465 85f007b7-540e-0410-9357-904b9bb8a0f7
* Que Time n'empêche pas la colorisation des mots-clés.Gravatar herbelin2008-10-18
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11464 85f007b7-540e-0410-9357-904b9bb8a0f7
* Intégration et formattage du développement de Pierre Castéran sur lesGravatar herbelin2008-10-18
| | | | | | | | définitions alternatives de la transitivé d'une relation git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11462 85f007b7-540e-0410-9357-904b9bb8a0f7
* Suppression de la dépendance de install-doc envers doc :Gravatar notin2008-10-17
| | | | | | | | | | - make install ne compile plus la doc - make world compile la doc (sauf si option --with-doc no) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11460 85f007b7-540e-0410-9357-904b9bb8a0f7
* Extraction of Module with eq = ... : fix for bug #1853Gravatar letouzey2008-10-16
| | | | | | | | (unrelated: a useless pattern variable becomes _ in Extract_env) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11458 85f007b7-540e-0410-9357-904b9bb8a0f7
* Extraction of mutual types with alias: fix for bug #1965Gravatar letouzey2008-10-16
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11456 85f007b7-540e-0410-9357-904b9bb8a0f7
* Attempt to clarify Extract_env.extract_seb_specGravatar letouzey2008-10-16
| | | | | | | | | | | | | | | | | | | | | | -The use of Modops.type_of_mb seems to be sometimes an overkill : it expands the situation where mb.mod_type=SEBident... we use a simplier my_type_of_mb instead -No more "truetype" boolean argument to this function. Normally, the use of my_type_of_mb should ensure that all seb we inspect are "true" module types, see the invariant written before this function. -Remove the use of replicate_msid: it was commented out since a few months, no problem appeared, and anyway the handling of "With ..." has completely changed since Elie's work. -And by the way, cleanup of whitespaces at the end of lines... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11455 85f007b7-540e-0410-9357-904b9bb8a0f7
* Report des commits 11417 et 11437 de la v8.2Gravatar soubiran2008-10-15
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11454 85f007b7-540e-0410-9357-904b9bb8a0f7
* report de la révision r11451 (nouveau style html pour le manuel de référence)Gravatar notin2008-10-14
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11452 85f007b7-540e-0410-9357-904b9bb8a0f7
* Dumpglob.dump_modref : fix an assert failureGravatar letouzey2008-10-14
| | | | | | | | | | | | | | | | | The list obtained as second part of a Lib.split_modpath *can* be empty, for instance when mp is a MPfile, so calling on it Util.list_drop_last may fail. Can somebody knowledgeable in the dump mechanism (Jean-Marc ?) check that my simplistic fix is correct ? For information, I've ended on this failure while playing with a rather unnatural example: take a .v file, consider it as a module and apply it to a functor... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11450 85f007b7-540e-0410-9357-904b9bb8a0f7
* test-suite: more utf8 tests, a test of ! ? and so on in rewritesGravatar letouzey2008-10-14
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11449 85f007b7-540e-0410-9357-904b9bb8a0f7
* ugly comment erroneously left in the minus definitionGravatar letouzey2008-10-14
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11448 85f007b7-540e-0410-9357-904b9bb8a0f7
* Backporting 11445 from 8.2 to trunk (negative conditions inGravatar herbelin2008-10-11
| | | | | | | | SearchAbout + referring objects by their notation). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11446 85f007b7-540e-0410-9357-904b9bb8a0f7
* * Fixed constr_cmp again to handle universes subtyping correctlyGravatar puech2008-10-09
| | | | | | | | | | * Fixed typo in unify_0 regarding conv_pb * First attempt to fix a problem related to rels in w_merge. Seems to be unsuccessful at this point git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11443 85f007b7-540e-0410-9357-904b9bb8a0f7
* Fix bug #1959 (remember: never use a partial functions mindlessly).Gravatar msozeau2008-10-08
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11439 85f007b7-540e-0410-9357-904b9bb8a0f7
* Améliorations de l'affichage des coercions suggérées par Georges :Gravatar herbelin2008-10-08
| | | | | | | | | | | | | | | | | | - Suppression d'un hack bancal qui permettait d'afficher des notations dont les arguments du premier niveau applicatif n'étaient pas syntaxiquement entourés de coercions dans la définition de la notation alors qu'ils ne pouvaient que l'être dans les termes effectifs (ex: 'Notation ... := (true /\ True)' pouvait être reconnu malgré l'absence de la coercion de bool vers Prop). - Propagation de l'information "in context" aux branches des if/let/match par symmétrie avec l'inférence de type qui propage l'information EXTERNE de type vers les branches (stratégie moins "défensive" pour la suppression des coercions). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11438 85f007b7-540e-0410-9357-904b9bb8a0f7
* fixing r11433 again:Gravatar barras2008-10-07
| | | | | | | | | | | | | - backtrack on kernel modifications: the monomorphic instance of an inductive type is constrained to live in an universe higher (or equal) than all the instances - improved support for polymorphic inductive types at the refiner level: introduced type_of_inductive_knowing_conclusion that computes the instance to match the current conclusion universe. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11435 85f007b7-540e-0410-9357-904b9bb8a0f7
* fixed pb with r11433Gravatar barras2008-10-07
| | | | git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11434 85f007b7-540e-0410-9357-904b9bb8a0f7
* bug #1951: polymorphic indtypes: universe subst was not performed in the ↵Gravatar barras2008-10-06
| | | | | | type of the arguments; refiner: relaxed universe cstrs for poly indtypes git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11433 85f007b7-540e-0410-9357-904b9bb8a0f7
* ## Lines starting with '## ' will be removed from the log message.Gravatar msozeau2008-10-06
| | | | | | | | | | | | | | | | ## File(s) to commit: ## tools/coqdoc/index.mll ## tools/coqdoc/output.ml ## tools/coqdoc/pretty.mll Various improvements to coqdoc: - (Hopefully) better handling of brackets and notations like \in (debugger with Stéphane Lescuyer). - More indexed tactics and commands. - Fix bug(?) in parsing of "[[" comments. - Better interpolation of module and library names. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11432 85f007b7-540e-0410-9357-904b9bb8a0f7
* (Try to) use the conversion oracle also in w_unify to choose which constant toGravatar msozeau2008-10-03
| | | | | | | | | | | | unfold first. The patch changes the usual order of unifications so some may differ (only one example in the stdlib breaks because of more unification happening). Actually this change was trigerred because of an incompleteness which is not resolved here. At least this way unfolding is consistent between w_unify and the kernel. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11427 85f007b7-540e-0410-9357-904b9bb8a0f7
* Minor fixes related to coqdoc and --interpolate and the dependentGravatar msozeau2008-10-03
| | | | | | | induction test-suite script. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11426 85f007b7-540e-0410-9357-904b9bb8a0f7