From f907cc977bb80e3654174de03aeaed2cb4aa4a7e Mon Sep 17 00:00:00 2001 From: herbelin Date: Tue, 15 Apr 2008 16:35:54 +0000 Subject: Mises à jour bugs, CHANGES, code mort git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10801 85f007b7-540e-0410-9357-904b9bb8a0f7 --- CHANGES | 6 ++--- pretyping/clenv.ml | 1 - test-suite/bugs/closed/shouldsucceed/1774.v | 18 +++++++++++++ test-suite/bugs/closed/shouldsucceed/1775.v | 39 +++++++++++++++++++++++++++++ test-suite/bugs/opened/shouldnotfail/1774.v | 18 ------------- test-suite/bugs/opened/shouldnotfail/1775.v | 39 ----------------------------- 6 files changed, 60 insertions(+), 61 deletions(-) create mode 100644 test-suite/bugs/closed/shouldsucceed/1774.v create mode 100644 test-suite/bugs/closed/shouldsucceed/1775.v delete mode 100644 test-suite/bugs/opened/shouldnotfail/1774.v delete mode 100644 test-suite/bugs/opened/shouldnotfail/1775.v diff --git a/CHANGES b/CHANGES index 506da926d0..1c3fe7b4c1 100644 --- a/CHANGES +++ b/CHANGES @@ -21,16 +21,16 @@ Commands - Added option Global to "Arguments Scope" for section surviving. (DOC TODO) - Added option "Unset Elimination Schemes" to deactivate the automatic - generation of elimination schemes. (DOC TODO) + generation of elimination schemes. - Modification of the Scheme command so you can ask for the name to be - automatically computed (e.g. Scheme Induction for nat Sort Set). (DOC TODO?) + automatically computed (e.g. Scheme Induction for nat Sort Set). - New command "Combined Scheme" to build combined mutual induction principles from existing mutual induction principles. - New command "Scheme Equality" to build a decidable (boolean) equality for simple inductive datatypes and a decision property over this equality (e.g. Scheme Equality for nat). - Added option "Set Equality Scheme" to make automatic the declaration - of the boolean equality when possible. (DOC TODO?) + of the boolean equality when possible. - Source of universe inconsistencies now printed when option "Set Printing Universes" is activated, - Support for option "[id1 ... idn]", and "-[id1 ... idn]", for the diff --git a/pretyping/clenv.ml b/pretyping/clenv.ml index 072d664fcd..ed9d779ad7 100644 --- a/pretyping/clenv.ml +++ b/pretyping/clenv.ml @@ -231,7 +231,6 @@ let dependent_metas clenv mvs conclmetas = mvs conclmetas let clenv_dependent hyps_only clenv = - let mvs = collect_metas (clenv_value clenv) in let mvs = undefined_metas clenv.evd in let ctyp_mvs = (mk_freelisted (clenv_type clenv)).freemetas in let deps = dependent_metas clenv mvs ctyp_mvs in diff --git a/test-suite/bugs/closed/shouldsucceed/1774.v b/test-suite/bugs/closed/shouldsucceed/1774.v new file mode 100644 index 0000000000..4c24b481bd --- /dev/null +++ b/test-suite/bugs/closed/shouldsucceed/1774.v @@ -0,0 +1,18 @@ +Axiom pl : (nat -> Prop) -> (nat -> Prop) -> (nat -> Prop). +Axiom plImp : forall k P Q, + pl P Q k -> forall (P':nat -> Prop), + (forall k', P k' -> P' k') -> forall (Q':nat -> Prop), + (forall k', Q k' -> Q' k') -> + pl P' Q' k. + +Definition nexists (P:nat -> nat -> Prop) : nat -> Prop := + fun k' => exists k, P k k'. + +Goal forall k (A:nat -> nat -> Prop) (B:nat -> Prop), + pl (nexists A) B k. +intros. +eapply plImp. +2:intros m' M'; econstructor; apply M'. +2:intros m' M'; apply M'. +simpl. +Admitted. diff --git a/test-suite/bugs/closed/shouldsucceed/1775.v b/test-suite/bugs/closed/shouldsucceed/1775.v new file mode 100644 index 0000000000..dab4120b96 --- /dev/null +++ b/test-suite/bugs/closed/shouldsucceed/1775.v @@ -0,0 +1,39 @@ +Axiom pair : nat -> nat -> nat -> Prop. +Axiom pl : (nat -> Prop) -> (nat -> Prop) -> (nat -> Prop). +Axiom plImp : forall k P Q, + pl P Q k -> forall (P':nat -> Prop), + (forall k', P k' -> P' k') -> forall (Q':nat -> Prop), + (forall k', Q k' -> Q' k') -> + pl P' Q' k. + +Definition nexists (P:nat -> nat -> Prop) : nat -> Prop := + fun k' => exists k, P k k'. + +Goal forall s k k' m, + (pl k' (nexists (fun w => (nexists (fun b => pl (pair w w) + (pl (pair s b) + (nexists (fun w0 => (nexists (fun a => pl (pair b w0) + (nexists (fun w1 => (nexists (fun c => pl + (pair a w1) (pl (pair a c) k))))))))))))))) m. +intros. +eapply plImp; [ | eauto | intros ]. +2:econstructor. +2:econstructor. +2:eapply plImp; [ | eauto | intros ]. +3:eapply plImp; [ | eauto | intros ]. +4:econstructor. +4:econstructor. +4:eapply plImp; [ | eauto | intros ]. +5:econstructor. +5:econstructor. +5:eauto. +4:eauto. +3:eauto. +2:eauto. + +assert (X := 1). +clear X. (* very slow! *) + +simpl. (* exception Not_found *) + +Admitted. diff --git a/test-suite/bugs/opened/shouldnotfail/1774.v b/test-suite/bugs/opened/shouldnotfail/1774.v deleted file mode 100644 index 4c24b481bd..0000000000 --- a/test-suite/bugs/opened/shouldnotfail/1774.v +++ /dev/null @@ -1,18 +0,0 @@ -Axiom pl : (nat -> Prop) -> (nat -> Prop) -> (nat -> Prop). -Axiom plImp : forall k P Q, - pl P Q k -> forall (P':nat -> Prop), - (forall k', P k' -> P' k') -> forall (Q':nat -> Prop), - (forall k', Q k' -> Q' k') -> - pl P' Q' k. - -Definition nexists (P:nat -> nat -> Prop) : nat -> Prop := - fun k' => exists k, P k k'. - -Goal forall k (A:nat -> nat -> Prop) (B:nat -> Prop), - pl (nexists A) B k. -intros. -eapply plImp. -2:intros m' M'; econstructor; apply M'. -2:intros m' M'; apply M'. -simpl. -Admitted. diff --git a/test-suite/bugs/opened/shouldnotfail/1775.v b/test-suite/bugs/opened/shouldnotfail/1775.v deleted file mode 100644 index dab4120b96..0000000000 --- a/test-suite/bugs/opened/shouldnotfail/1775.v +++ /dev/null @@ -1,39 +0,0 @@ -Axiom pair : nat -> nat -> nat -> Prop. -Axiom pl : (nat -> Prop) -> (nat -> Prop) -> (nat -> Prop). -Axiom plImp : forall k P Q, - pl P Q k -> forall (P':nat -> Prop), - (forall k', P k' -> P' k') -> forall (Q':nat -> Prop), - (forall k', Q k' -> Q' k') -> - pl P' Q' k. - -Definition nexists (P:nat -> nat -> Prop) : nat -> Prop := - fun k' => exists k, P k k'. - -Goal forall s k k' m, - (pl k' (nexists (fun w => (nexists (fun b => pl (pair w w) - (pl (pair s b) - (nexists (fun w0 => (nexists (fun a => pl (pair b w0) - (nexists (fun w1 => (nexists (fun c => pl - (pair a w1) (pl (pair a c) k))))))))))))))) m. -intros. -eapply plImp; [ | eauto | intros ]. -2:econstructor. -2:econstructor. -2:eapply plImp; [ | eauto | intros ]. -3:eapply plImp; [ | eauto | intros ]. -4:econstructor. -4:econstructor. -4:eapply plImp; [ | eauto | intros ]. -5:econstructor. -5:econstructor. -5:eauto. -4:eauto. -3:eauto. -2:eauto. - -assert (X := 1). -clear X. (* very slow! *) - -simpl. (* exception Not_found *) - -Admitted. -- cgit v1.2.3