aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-05-30Memory optimisation for modules and constrs substitutions.soubiran
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9872 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-30mul_norm for Q fixedthery
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9871 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-29Corrected the treatment of negative numbers for the bigZ parser. And aspiwack
corrected a small typo in an error message (bogN instead of bigN). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9870 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-29Correction d'un bug dans l'affichage du message d'erreur real_cleanherbelin
(cas d'un terme sans Rel libre), introduction au passage d'un nouveau type d'evar EvarGoal pour raffinement du message d'erreur. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9868 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-28comparison functions should be Defined not Qedletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9867 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-28Contrôle de la compatibilité de apply via une information dans lesherbelin
métas permettant de savoir si une instance de méta vient d'un with-binding ou d'une unification, et si elle a déjà été typée ou pas. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9866 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-28Retour à un message d'erreur d'apply qui montre un échec sans sans réduction herbelin
de la conclusion du lemme git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9865 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-28Réaffichage des Structure/Record sous la forme Recordherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9864 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-27As suggested by Pierre Casteran, fold for FSets/FMaps now takes a letouzey
(A:Type) instead of a (A:Set). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9863 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-25fix for bug #1347 (no more Scope pollution by FSets)letouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9861 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-25Modification of VernacScheme to handle a new scheme: Equality (equality invsiles
boolean, will be added later) and update so everything is fine with the new syntax. New Type: type scheme = | InductionScheme of bool * lreference * sort_expr | EqualityScheme of lreference ... | VernacScheme of (lident * scheme) list git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9860 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-25git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9859 ↵soubiran
85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-25Correction of (PR#1576).soubiran
The construction of the resolver was bugged during the join operation of two substitutions. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9858 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-24fixed (PR#1483)corbinea
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9857 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-24Unification suite: petits affinements pour préserver la compatibilitéherbelin
(en particulier, la décision de quelle instance garder quand une méta a plusieurs solutions importe; comment trouver une critère objectif ? la compatibilité demande à donner préférence aux instances trouvées par with-bindings). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9855 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-23Tentative d'insertion de coercions avant unification si le type de laherbelin
métavariable est clos. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9854 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-23A fix for bug #1397: letouzey
setoid_reflexivity may discover it is doing plain Leibniz stuff (see exception Optimize in setoid_replace), and falls back to the usual reflexivity. Except that this one, due to the lack of delta-red, refuses to handle the job, and gives it back to setoid_reflexivity: a loop is born. quick fix for the moment: add some whd_betadeltaiota to reflexivity in the special situation where reflexivity is called back by setoid_reflexivity. Similar issue & fix for symmetry, transitivity. rewrite has potentially the same problem, but I can't manage to trigger a wild loop in practice. This code clearly deserves a closer look someday... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9852 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-23Suite restructuration unification et division des problèmesherbelin
d'unification des types des with-bindings en deux: les problèmes d'unification susceptibles d'introduire une coercion sont retardés (comme dans le commit r9850) et ceux susceptibles de fournir d'autres instances restent faits au plus tôt (comme avant le commit r9850). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9851 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-22Nouvelle stratégie d'unification des types des with-bindings dansherbelin
apply afin de reculer au plus tard les décisions irréversibles et en particulier de pouvoir typer les with-bindings modulo coercions : - l'unification des types des métas données en with-bindings est retardé à après l'unification (unify_0) de telle sorte que les instances trouvées par unify_0 soient prioritaires et que la décision d'insérer éventuellement des coercions autour des valeurs données en with-bindings se fasse au dernier moment; - toujours pour permettre d'insérer ultimement des coercions, l'instantiation des with-bindings ne se fait plus l'appel unify_0 (cf clenv_unique_resolver); - pour permettre ce retardement sans limiter le test de conversion que unify_0 fait sur les termes clos, on transmet à unify_0 les métas données en with-bindings (ainsi l'instantiation de ces métas peut être faite dynamiquement au moment du test de clôture); - parce que les métas données en with-bindings qui sont en position de rédex (cas d'un "apply f_equal with (f:=fun ...)" peuvent simplifier le problème d'unification (et elles ne sont pas de toutes façons pas réinférables au premier ordre), on continue à les substituer avant l'appel à unify_0 (cf meta_reducible_instance); - pour l'unification du second-ordre, on continue d'instancier les with-bindings et d'unifier les types des with-bindings avant unification; - reste à régler un problème de compatibilité lorsque le résultat de l'unification des types des with-bindings est utilisé pour rendre un terme clos et pour permettre à unify_0 d'utiliser la conversion. + meilleure compatibilité de apply, split, left, right pour le code qui l'utilise avec des bindings clos + nettoyage et uniformisation des clenv_match_args, clenv_missing, et assimilés git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9850 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-22Comparaison JMeq/eq_depherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9849 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-22Par compatibilité, les implicites terminaux sont maximaux aussi quandherbelin
inférés automatiquement (pas seulement si donnés manuellement) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9848 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-21Essai d'une nouvelle heuristique pour clenv_unique_resolver : si leherbelin
lemme n'est pas un lemme d'induction (plus précisément si la tête de la conclusion n'est pas une variable), alors on n'instancie pas les with-bindings pour que les unifications venant du filtrage de la conclusion du lemme avec le but soient prioritaires (en effet l'utilisation des types des with-bindings pour inférer des instances -- portion du commit r9842 -- ne produit pas des solutions exactes mais seulement des sous-types de solutions exactes alors que l'unification avec le but produit des solutions exactes qui doivent donc être considérées en priorité). Toutefois, dans certains cas, du fait que unify_0 travaille modulo conversion uniquement sur les termes clos, il faut quand même donner crédit aux instances données en with-bindings pour que la conversion puisse être prise en compte et ainsi retrouver un comportement au moins identique au précédent. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9847 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-21Added Z and Q implementations with int31.aspiwack
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9846 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-21add_mul_pos uses int31 onlythery
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9845 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-21MAJherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9844 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-21Protection d'un warning par if_verboseherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9843 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-20- Propagation des evars non résolues vers les with_bindings; permet par exempleherbelin
de résoudre des buts comme celui-ci : Record nat_retract : Type := {f1 : nat -> nat; f2 : nat -> nat; f1_o_f2 : forall x, f1 (f2 x) = x}. Goal nat_retract. exists (fun x => x) (fun x => x). - Nouvelle tentative d'utilisation des types des metas/evars pour inférer de nouvelles instances de metas/evars; permet par exemple d'utiliser f_equal sans option with, mais aussi, avec la modif précédente, de résoudre des buts tels que Goal exists f:bool->Prop, f true = True. exists (fun x => True). [Les expériences passées avaient montré qu'en prenant en compte les types dans l'unification, on peut unifier trop tôt une evars à une mauvaise sorte; à défaut de mécanisme de prise en compte des problème d'unification avec sous-typage, on s'est interdit ici d'unifier des types qui sont des arités.] - Tout les constr de tactic_expr deviennent des open_constr (même si seul with_bindings les accepte au final... c'est pas l'idéal). - Renommage env -> evd et templenv -> env dans clausenv. - Renommage closed_generic_argument -> typed_generic_argument. - Renommage closed_abstract_argument_type -> typed_abstract_argument_type. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9842 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-19Backtrack sur l'effacement dans le contexte de but des lieursherbelin
apparaissant sans nom dans "refine" (quelques incompatibilités, par exemple dans les preuves de Lannion/continuations/Nxaccu_ex.core_V1, Bordeaux/Additions/log2_spec.ceiling_log2, et Bordeaux/NewSearchTree/search_tree.rm). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9841 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-18Interprétation des listes de VarArgType dans les notations faisantherbelin
référence à des arguments génériques git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9839 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-18Wish #1582 (3eme)herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9838 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-18Quelques essais autour du wish implicite au rapport de bug #1582 (2eme)herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9837 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-18Quelques essais autour du wish implicite au rapport de bug #1582herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9836 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-17correction de bug dans Function et augmentation de la classe des fonctions ↵jforest
supportees git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9833 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-17Nettoyage et standardisation des messages d'erreurs.herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9831 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-17Correction des bugs #1537 (anomalie sur signature incomplète) et #1536herbelin
(anomalie sur types non convertibles) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9830 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-17Fixed bug #1540 (typo on name .coqide-gtk2rc)herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9828 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-16Correction bug calcul des implicites en présence d'evars dans les typesherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9827 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-16- MAJ entêtes des fichiers produits par coq_makefileherbelin
- Correction de bugs dans la reconnaissance d'un "*)" potentiel dans les lignes correspondant au mécanisme "section" de coqdoc git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9826 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-15Correction du pretty-printing des big-int (la sous-fonction get_height aspiwack
faisait n'importe quoi). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9825 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-15pos_mod fixedthery
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9824 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-15Correction de sqrt312 (racine carree d'un nombre represente comme un aspiwack
couple de Int31). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9823 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-15corrections bug dans l'implem de int31bgregoir
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9822 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-11Processor integers + Print assumption (see coqdev mailing list for the aspiwack
details). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9821 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-11Made some places in the reference manual clearer. Correctedemakarov
an example about modules that produced a Coq error. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9820 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-10Prise en compte réversibilité des notations de la forme "Notation Nil := ↵herbelin
@nil". Ajout @ref au niveau constr pour allègement syntaxe. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9819 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-07Correction du bug #1509notin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9818 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-05-06Nouveaux changements autour des implicites (notamment suite àherbelin
discussion avec Georges) - La notion d'insertion maximale n'est plus globale mais attachée à chaque implicite - Correction de petits bugs dans le calcul des implicites - Raffinement de la notion "sous contexte" pour l'affichage des coercions git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9817 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-04-30Modification syntaxe de Testherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9816 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-04-29Orthographe en passantherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9815 85f007b7-540e-0410-9357-904b9bb8a0f7
2007-04-29Quelques exemples sur l'asymétrie de la conversionherbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9814 85f007b7-540e-0410-9357-904b9bb8a0f7