| Age | Commit message (Collapse) | Author |
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9800 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9799 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
uniformisation des messages d'erreur wrt instantiate
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9798 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9796 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
delta-reduction at fonctor application.
Example:
Module Type S.
Parameter Inline N : Set.
End S.
Module F (X:S).
Definition t := X.N.
End F.
Module M.
Definition N := nat.
End M.
Module G := F M.
Print G.t.
G.t = nat
: Set
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9795 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
Now the warning will be printed when the flag verbose is on.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9794 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
des schémas d'élimination standard de JMeq, plutôt que "Reset JMeq_rect".
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9793 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
(restera à accorder les .spec)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9792 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9791 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
commandes vernac considérées par Coqdoc)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9790 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9789 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9787 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
(les let-in étaient comptés comme des produits, introduisant une incohérence
sur le nombre de produits à instancier dans les lemmes appelés par apply).
- Export simplest_eapply pour utilisation dans Sophia/RecursiveDefinition.
- Doc développeur
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9785 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9784 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
bugs in pattern-matching
compilation with multiple matched objects.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9783 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9782 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
immediately follow sectioning commands insides those sectioning commands.
If \label{...} is placed after \section{...}, then, when clicking on the
link in the HTML file produced by Hevea, we are moved to the correct
section, but the section header is just above the screen. Hevea manual
recommends writing \section{...\label{...}} and similarly for index.
On the other hand, writing commands inside the argument of sectioning
commands is potentially dangerous because these arguments are reproduced
not only to produce the section header but also to produce headers
and/or table of contents entries. Thus, \index{...} and \labels{...} may
be executed several times. Indeed, if we put a \typeout{...} instruction
inside the argument to a sectioning command then it will be executed,
besides the section itself, in the table of contents and once for every
appearance of the header.
However, it seems that the \label command are not executed several times
unless they are prefixed with \protect, and \index command is not
executed multiple times even then. So maybe it's OK to put \label and
\index inside sectioning commands.
When hyperref package is used, the \newlabel command left in .aux file
has an extra group {...} which includes another \label command! This may
lead to trouble when we use \nameref (?).
However, the most reliable way would be to use the optional argument of
sectioning commands. Then the text only goes to the optional argument and
the text plus \label plus \index goes to the main argument. The optional
argument is used for headers and table of contents. This works fine with
Hevea as well.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9781 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
Set Elimination Schemes.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9780 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9779 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9778 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9777 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9776 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9775 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9774 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
preferences (first fixed in rev. 9716).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9773 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
labels and not other environment labels (such as enumerate or theorem).
This facility was added to Hevea, which is available at
http://hevea.inria.fr/distri/unstable/hevea-2007-04-16.tar.gz
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9772 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
de la réduction paresseuse du lemme [eapply n'en profitait pas], et
l'un et l'autre profite de l'unification2nd ordre sur la forme réduite
du lemme [apply n'en profitait pas]).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9771 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9770 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9769 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
reduce_to_ind et reduce_to_ref a révélé que ceux-ci pouvaient contourner
l'opacité des constantes lorsque celles-ci apparaissaient comme argument
d'un match ou d'un fix (et ce depuis la V5.10 environ). Exemple:
Definition f (A B:Set) := pair A B. Opaque f.
Goal fst (f unit unit) -> True. intro H. destruct H. (* bypassed opacity *)
Definition f (A:Set) := A. Opaque f.
Goal (f unit) -> True. intro H. destruct H. (* didn't bypass opacity *)
Contourner le statut Opaque quand on recherche un inductif (ce qui est
le rôle de reduce_to_ind) ne paraît pas problématique (et il se trouve
d'ailleurs que CoRN/ftc/TaylorLemma.v en profitait). Ce contournement
de l'opacité a donc été généralisé au cas de constantes arrivant en
tête sans être argument d'un match ou d'un fix.
Contourner le statut Opaque quand on recherche une constante
particulière (ce qui est le rôle général de reduce_to_ref qui est
maintenant le seul à reposer sur one_step_reduce) paraît en revanche
plus douteux. Plus de contournement d'opacité pour reduce_to_ref donc.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9768 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9767 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
exemple de divergence soumis par Andrew Appel) [on renonce à
normaliser pour trouver l'ensemble minimal de variables liées dans le
2e membre d'une égalité dépendante]
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9765 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9764 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9763 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9761 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
fix/cofix avec réutilisation du nom de la constante dans les appels
récursifs), avec notamment uniformisation des comportements et des
noms de fonctions de réduction. En particulier, on a les changements
sémantiques suivants :
- léger changement de simpl: si appliqué à un fix explicite, il sait
réduire l'argument en un constructeur comme si le fix était caché
derrière une constante (cf exemple dans test-suite/output/reduction.v);
- léger changement de hnf: si appliqué à un match ou un fix explicite
et que l'argument de ce match ou de ce fix nécessite un calcul
impliquant des constantes récursives, il sait conserver les noms (à
la manière de simpl) comme il sait déjà le faire si ce match ou ce fix
était caché derrière une constante (cf exemple dans
test-suite/output/reduction.v);
- changement similaire de one_step_reduce utilisé dans reduce_to_*_ref
(difficile d'imaginer les effets mais sans doute très peu)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9760 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9759 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
in the reference manual.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9758 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9757 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
un problème dû à la non réversibilité de la suppression de règles
camlp4 vis à vis de l'insertion : lorsqu'un niveau existant vide est
étendu, la suppression non seulement efface l'extension mais aussi le
niveau lui-même. Ceci a un effet sur les niveaux vides 8 et 99. Nous
n'avons pas trouvé de bonne solution à ce problème et l'utilisation
d'extensions aux niveaux 99 ou 8 (anciennement 5 avant ce commit)
continue de corrompre le parser si effectuées à l'intérieur de section
ou de modules. Voici un exemple montrant le problème :
Print Grammar constr. (* le niveau "8" existe *)
Section A.
Notation "{{ x }}" := (S x) (at level 8).
End A.
Print Grammar constr. (* le niveau "8" n'existe plus *)
Goal True.
apply I. (* appelle le niveau constr qui continue d'appeler "8"... échec *)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9756 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
tout en évitant que les .. soient dans constr)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9755 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9754 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9753 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
from commands about headers; where appropriate, surrounded those by
%BEGIN LATEX ... %END LATEX. Removed some \newcommands that were
ignored. Removed redefinitions of \land, \lor, \lnot: there are nicely
handled by Hevea.
Split headers.tex file into headers.sty (for LaTeX) and headers.hva
(for Hevea). This allowed removing comments like %BEGIN LATEX and %HEVEA
and also commands \makeatletter, \makeatother.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9752 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9750 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
On peut desormais utiliser:
compute delta [f g ...] pour cbv beta iota zera delta [f g ...] et
compute delta - [f g ...] pour cbv beta iota zera delta - [f g ...]
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9749 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
(version P.Courtieu).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9748 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
acceptes par la vm)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9747 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
Function.
=> Changement d'ordre et de forme des obligations de preuve generees (pas de la semantique des obligations).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9746 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
Redefined the \index command in doc/refman/headers.tex only for Hevea.
Now all sectioning commands (from \part to \subparagraph) store the
value of their counter in the command \@indexlabel. It is this command
that is used inside the new \index. Thus, the index shows only the
the most recent sectioning command, but not \index, \theorem, etc.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9745 85f007b7-540e-0410-9357-904b9bb8a0f7
|