diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-08-04 18:10:48 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2008-08-04 18:10:48 +0000 |
commit | 7d515acbc5d83aa2300b71a9b7712b3da1d3d2e3 (patch) | |
tree | 01b9d71f3982ebee13c41cd9c2d5d6960c317eee /test-suite | |
parent | 0721090dea4d9018f4c4cad8cefa1a10fb0d5a71 (diff) |
Évolutions diverses et variées.
- Correction divers messages d'erreur
- lorsque rien à réécrire dans une hyp,
- lorsqu'une variable ltac n'est pas liée,
- correction anomalie en présence de ?id dans le "as" de induction,
- correction mauvais env dans message d'erreur de unify_0.
- Diverses extensions et améliorations
- "specialize" :
- extension au cas (fun x1 ... xn => H u1 ... un),
- renommage au même endroit.
- "assert" et "pose proof" peuvent réutiliser la même hyp comme "specialize".
- "induction"
- intro des IH toujours au sommet même si induction sur var quantifiée,
- ajout d'un hack pour la reconnaissance de schémas inductifs comme
N_ind_double mais il reste du boulot pour reconnaître (et/ou
réordonner) les composantes d'un schéma dont les hypothèses ne sont pas
dans l'ordre standard,
- vérification de longueur et éventuelle complétion des
intropatterns dans le cas de sous-patterns destructifs dans induction
(par exemple "destruct n as [|[|]]" sur "forall n, n=0" ne mettait pas
le n dans le contexte),
- localisation des erreurs d'intropattern,
- ajout d'un pattern optionnel après "as" pour forcer une égalité et la
nommer (*).
- "apply" accepte plusieurs arguments séparés par des virgules (*).
- Plus de robustesse pour clear en présence d'evars.
- Amélioration affichage TacFun dans Print Ltac.
- Vieux pb espace en trop en tête d'affichage des tactiques EXTEND résolu
(incidemment, ça remodifie une nouvelle fois le test output Fixpoint.v !).
- Fusion VTactic/VFun dans l'espoir.
- Mise en place d'un système de trace de la pile des appels Ltac (tout en
préservant certains aspects de la récursivité terminale - cf bug #468).
- Tactiques primitives
- ajout de "move before" dans les tactiques primitives et ajout des
syntaxes move before et move dependent au niveau utilisateur (*),
- internal_cut peuvent faire du remplacement de nom d'hypothèse existant,
- suppression de Intro_replacing et du code sous-traitant
- Nettoyage
- Suppression cible et fichiers minicoq non portés depuis longtemps.
(*) Extensions de syntaxe qu'il pourrait être opportun de discuter
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11300 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'test-suite')
-rw-r--r-- | test-suite/failure/evarclear1.v | 10 | ||||
-rw-r--r-- | test-suite/failure/evarclear2.v | 9 | ||||
-rw-r--r-- | test-suite/output/Fixpoint.out | 10 | ||||
-rw-r--r-- | test-suite/output/Tactics.out | 2 |
4 files changed, 25 insertions, 6 deletions
diff --git a/test-suite/failure/evarclear1.v b/test-suite/failure/evarclear1.v new file mode 100644 index 000000000..2e9fa0f35 --- /dev/null +++ b/test-suite/failure/evarclear1.v @@ -0,0 +1,10 @@ +Set Printing Existential Instances. +Set Printing All. +Goal forall y, let z := S y in exists x, x = 0. +intros. +eexists. +unfold z. +clear y z. +(* should fail because the evar should no longer be allowed to depend on z *) +instantiate (1:=z). + diff --git a/test-suite/failure/evarclear2.v b/test-suite/failure/evarclear2.v new file mode 100644 index 000000000..e606a06f1 --- /dev/null +++ b/test-suite/failure/evarclear2.v @@ -0,0 +1,9 @@ +Set Printing Existential Instances. +Set Printing All. +Goal let y:=0 in exists x:y=y, x = x. +intros. +eexists. +rename y into z. +unfold z at 1 2. +(* should fail because the evar type depends on z *) +clear z. diff --git a/test-suite/output/Fixpoint.out b/test-suite/output/Fixpoint.out index 09bc00886..c69d31f40 100644 --- a/test-suite/output/Fixpoint.out +++ b/test-suite/output/Fixpoint.out @@ -13,13 +13,13 @@ fix even_pos_odd_pos 2 with (odd_pos_even_pos (n:_) (H:odd n) {struct H} : n >= 1). intros. destruct H. - omega. + omega. - apply odd_pos_even_pos in H. - omega. + apply odd_pos_even_pos in H. + omega. intros. destruct H. - apply even_pos_odd_pos in H. - omega. + apply even_pos_odd_pos in H. + omega. diff --git a/test-suite/output/Tactics.out b/test-suite/output/Tactics.out index 287e84883..ac5eedc17 100644 --- a/test-suite/output/Tactics.out +++ b/test-suite/output/Tactics.out @@ -1,4 +1,4 @@ -intro H; split; [ a H | e H ]. +intro H; split; [ a H | e H ]. intros; match goal with | |- context [if ?X then _ else _] => case X |