diff options
author | 2010-04-20 08:49:15 +0000 | |
---|---|---|
committer | 2010-04-20 08:49:15 +0000 | |
commit | de5631d1793834eb26f17f82d5e198b778008f64 (patch) | |
tree | 480012375450c2d58242c445dcd5c470cd9ead5a | |
parent | dc1a605a165f85244f80ef6af17c59cba66587a5 (diff) |
Fixed bug #2999 (destruct was not refreshing universes of what it generalized *)
+ changed printing of universe Type(0) to Set, so not to show that the
implementation starts numbering with Set=Type(0) while documentation uses
Type(0) for the common type of Prop and Set.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12956 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | kernel/univ.ml | 4 | ||||
-rw-r--r-- | tactics/tactics.ml | 1 | ||||
-rw-r--r-- | test-suite/bugs/closed/shouldsucceed/2299.v | 13 |
3 files changed, 16 insertions, 2 deletions
diff --git a/kernel/univ.ml b/kernel/univ.ml index ef2024c7a..0a22733d0 100644 --- a/kernel/univ.ml +++ b/kernel/univ.ml @@ -56,7 +56,7 @@ let cmp_univ_level u v = match u,v with else compare dp1 dp2 let string_of_univ_level = function - | Set -> "0" + | Set -> "Set" | Level (d,n) -> Names.string_of_dirpath d^"."^string_of_int n module UniverseLMap = @@ -603,7 +603,7 @@ let pr_constraints c = in pp_std ++ pr_uni_level u1 ++ str op_str ++ pr_uni_level u2 ++ fnl () ) c (str "") -(* Dumping constrains to a file *) +(* Dumping constraints to a file *) let dump_universes output g = let dump_arc _ = function diff --git a/tactics/tactics.ml b/tactics/tactics.ml index 51aa86613..41fab4e71 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -2903,6 +2903,7 @@ let apply_induction_with_discharge induct_tac elim indhyps destopt avoid names t let apply_induction_in_context hyp0 elim indvars names induct_tac gl = let env = pf_env gl in let statuslists,lhyp0,indhyps,deps = cook_sign hyp0 indvars env in + let deps = List.map (on_pi3 refresh_universes_strict) deps in let tmpcl = it_mkNamedProd_or_LetIn (pf_concl gl) deps in let dephyps = List.map (fun (id,_,_) -> id) deps in let deps_cstr = diff --git a/test-suite/bugs/closed/shouldsucceed/2299.v b/test-suite/bugs/closed/shouldsucceed/2299.v new file mode 100644 index 000000000..c0552ca7b --- /dev/null +++ b/test-suite/bugs/closed/shouldsucceed/2299.v @@ -0,0 +1,13 @@ +(* Check that destruct refreshes universes in what it generalizes *) + +Section test. + +Variable A: Type. + +Inductive T: unit -> Type := C: A -> unit -> T tt. + +Let unused := T tt. + +Goal T tt -> False. + intro X. + destruct X. |