aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp/implicit_quantifiers.mli
diff options
context:
space:
mode:
authorGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-01-07 22:46:48 +0000
committerGravatar msozeau <msozeau@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-01-07 22:46:48 +0000
commitf76b61be82a4bb83fce667a613f5a4846582dc89 (patch)
treef1281e4b706369da8d5860773e33eb89f972df94 /interp/implicit_quantifiers.mli
parent591e7ae9f979190a1ccaf9df523f6b73b1e6536a (diff)
Cleaner quantifiers for type classes, breaks clrewrite for the moment but implementation is much less add-hoc. Opens possibility of arbitrary prefixes in Class and Instance declarations. Current implementation with eauto is a bit more dangerous... next patch will fix it.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10432 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/implicit_quantifiers.mli')
-rw-r--r--interp/implicit_quantifiers.mli8
1 files changed, 8 insertions, 0 deletions
diff --git a/interp/implicit_quantifiers.mli b/interp/implicit_quantifiers.mli
index d687fe640..3e26b6c72 100644
--- a/interp/implicit_quantifiers.mli
+++ b/interp/implicit_quantifiers.mli
@@ -24,6 +24,7 @@ open Typeclasses
(*i*)
val destClassApp : constr_expr -> identifier located * constr_expr list
+val destClassAppExpl : constr_expr -> identifier located * (constr_expr * explicitation located option) list
val free_vars_of_constr_expr : Topconstr.constr_expr ->
?bound:Idset.t ->
@@ -49,6 +50,13 @@ val nf_named_context : evar_map -> named_context -> named_context
val nf_rel_context : evar_map -> rel_context -> rel_context
val nf_env : evar_map -> env -> env
+val combine_params : Names.Idset.t ->
+ (Names.Idset.t -> Names.identifier option * (Names.identifier * Term.constr option * Term.types) ->
+ Topconstr.constr_expr * Names.Idset.t) ->
+ (Topconstr.constr_expr * Topconstr.explicitation located option) list ->
+ (Names.identifier option * Term.named_declaration) list ->
+ Topconstr.constr_expr list * Names.Idset.t
+
val ids_of_named_context_avoiding : Names.Idset.t ->
Sign.named_context -> Names.Idset.elt list * Names.Idset.t