diff options
author | 2012-03-14 09:52:07 +0000 | |
---|---|---|
committer | 2012-03-14 09:52:07 +0000 | |
commit | 1674ab8bc0b76a1162928d0d9097c6a97486205d (patch) | |
tree | dd96dd33db49cae6b872703c8088d13b0f32e365 /pretyping/coercion.mli | |
parent | 087bf4ee8b4fd3fb54fc94e2b4c339161f251b3e (diff) |
Remove support for "abstract typing constraints" that requires unicity of solutions to unification.
Only allow bidirectional checking of constructor applications, enabled by a program_mode flag:
it is backwards-incompatible due to delta-reduction, constructor parameters might get instantiated
with delta-equivalent but not syntactically equivalent terms.
Prepare for merging the Program-specific version of Pretyping/Cases/Coercion with the main code.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15032 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/coercion.mli')
-rw-r--r-- | pretyping/coercion.mli | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pretyping/coercion.mli b/pretyping/coercion.mli index f312802a8..91cb693ab 100644 --- a/pretyping/coercion.mli +++ b/pretyping/coercion.mli @@ -39,22 +39,22 @@ module type S = sig (** [inh_coerce_to_prod env isevars t] coerces [t] to a product type *) val inh_coerce_to_prod : loc -> - env -> evar_map -> type_constraint_type -> evar_map * type_constraint_type + env -> evar_map -> types -> evar_map * types (** [inh_conv_coerce_to loc env isevars j t] coerces [j] to an object of type [t]; i.e. it inserts a coercion into [j], if needed, in such a way [t] and [j.uj_type] are convertible; it fails if no coercion is applicable *) val inh_conv_coerce_to : loc -> - env -> evar_map -> unsafe_judgment -> type_constraint_type -> evar_map * unsafe_judgment + env -> evar_map -> unsafe_judgment -> types -> evar_map * unsafe_judgment val inh_conv_coerce_rigid_to : loc -> - env -> evar_map -> unsafe_judgment -> type_constraint_type -> evar_map * unsafe_judgment + env -> evar_map -> unsafe_judgment -> types -> evar_map * unsafe_judgment (** [inh_conv_coerces_to loc env isevars t t'] checks if an object of type [t] is coercible to an object of type [t'] adding evar constraints if needed; it fails if no coercion exists *) val inh_conv_coerces_to : loc -> - env -> evar_map -> types -> type_constraint_type -> evar_map + env -> evar_map -> types -> types -> evar_map (** [inh_pattern_coerce_to loc env isevars pat ind1 ind2] coerces the Cases pattern [pat] typed in [ind1] into a pattern typed in [ind2]; |