diff options
author | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-04-13 14:26:59 +0000 |
---|---|---|
committer | msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-04-13 14:26:59 +0000 |
commit | d98dfbcae463f8d699765e2d7004becd7714d6cf (patch) | |
tree | 976e3e3ae284485cabd567d7c3504bc7b8817554 /tactics | |
parent | 5113afbb6e8c1f9122b37c37b0561c529c406256 (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.ml | 1 | ||||
-rw-r--r-- | tactics/rewrite.ml4 | 7 | ||||
-rw-r--r-- | tactics/tacinterp.ml | 2 |
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 |