aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2011-04-13 14:26:59 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2011-04-13 14:26:59 +0000
commitd98dfbcae463f8d699765e2d7004becd7714d6cf (patch)
tree976e3e3ae284485cabd567d7c3504bc7b8817554 /tactics
parent5113afbb6e8c1f9122b37c37b0561c529c406256 (diff)
Add [Polymorphic] flag for defs
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13988 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/leminv.ml1
-rw-r--r--tactics/rewrite.ml47
-rw-r--r--tactics/tacinterp.ml2
3 files changed, 6 insertions, 4 deletions
diff --git a/tactics/leminv.ml b/tactics/leminv.ml
index 95814302d..b06810a8c 100644
--- a/tactics/leminv.ml
+++ b/tactics/leminv.ml
@@ -236,6 +236,7 @@ let add_inversion_lemma name env sigma t sort dep inv_op =
(DefinitionEntry
{ const_entry_body = invProof;
const_entry_type = None;
+ const_entry_polymorphic = true;
const_entry_opaque = false },
IsProof Lemma)
in ()
diff --git a/tactics/rewrite.ml4 b/tactics/rewrite.ml4
index 9ad419697..4d8fc0e44 100644
--- a/tactics/rewrite.ml4
+++ b/tactics/rewrite.ml4
@@ -1438,7 +1438,7 @@ let declare_an_instance n s args =
let declare_instance a aeq n s = declare_an_instance n s [a;aeq]
let anew_instance global binders instance fields =
- new_instance binders instance (Some (CRecord (dummy_loc,None,fields)))
+ new_instance false binders instance (Some (CRecord (dummy_loc,None,fields)))
~global:(not (Vernacexpr.use_section_locality ())) ~generalize:false None
let declare_instance_refl global binders a aeq n lemma =
@@ -1617,6 +1617,7 @@ let declare_projection n instance_id r =
let cst =
{ const_entry_body = term;
const_entry_type = Some typ;
+ const_entry_polymorphic = false;
const_entry_opaque = false }
in
ignore(Declare.declare_constant n (Entries.DefinitionEntry cst, Decl_kinds.IsDefinition Decl_kinds.Definition))
@@ -1687,7 +1688,7 @@ let add_morphism_infer glob m n =
add_instance (Typeclasses.new_instance (Lazy.force proper_class) None glob (ConstRef cst));
declare_projection n instance_id (ConstRef cst)
else
- let kind = Decl_kinds.Global, Decl_kinds.DefinitionBody Decl_kinds.Instance in
+ let kind = Decl_kinds.Global, false, Decl_kinds.DefinitionBody Decl_kinds.Instance in
Flags.silently
(fun () ->
Lemmas.start_proof instance_id kind instance
@@ -1710,7 +1711,7 @@ let add_morphism glob binders m s n =
[cHole; s; m]))
in
let tac = Tacinterp.interp <:tactic<add_morphism_tactic>> in
- ignore(new_instance ~global:glob binders instance (Some (CRecord (dummy_loc,None,[])))
+ ignore(new_instance ~global:glob false binders instance (Some (CRecord (dummy_loc,None,[])))
~generalize:false ~tac ~hook:(declare_projection n instance_id) None)
VERNAC COMMAND EXTEND AddSetoid1
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index 505ab161b..735de9371 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -1238,7 +1238,7 @@ let solvable_by_tactic env evi (ev,args) src =
Environ.named_context_of_val evi.evar_hyps =
Environ.named_context env ->
let id = id_of_string "H" in
- start_proof id (Local,Proof Lemma) evi.evar_hyps evi.evar_concl
+ start_proof id (Local,false,Proof Lemma) evi.evar_hyps evi.evar_concl
(fun _ _ -> ());
begin
try