From 5b7eafd0f00a16d78f99a27f5c7d5a0de77dc7e6 Mon Sep 17 00:00:00 2001 From: Stephane Glondu Date: Wed, 21 Jul 2010 09:46:51 +0200 Subject: Imported Upstream snapshot 8.3~beta0+13298 --- toplevel/auto_ind_decl.mli | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) (limited to 'toplevel/auto_ind_decl.mli') diff --git a/toplevel/auto_ind_decl.mli b/toplevel/auto_ind_decl.mli index b8fa1710..855f023f 100644 --- a/toplevel/auto_ind_decl.mli +++ b/toplevel/auto_ind_decl.mli @@ -11,17 +11,31 @@ open Names open Libnames open Mod_subst open Sign +open Proof_type +open Ind_tables +(* Build boolean equality of a block of mutual inductive types *) -val subst_in_constr : (object_name*substitution*(inductive*constr)) - -> (inductive*constr) +exception EqNotFound of inductive * inductive +exception EqUnknown of string +exception UndefinedCst of string +exception InductiveWithProduct +exception InductiveWithSort +exception ParameterWithoutEquality of constant +exception NonSingletonProp of inductive -val compute_bl_goal : inductive -> rel_context -> int -> types -val compute_bl_tact : inductive -> rel_context -> int -> unit -val compute_lb_goal : inductive -> rel_context -> int -> types -val compute_lb_tact : inductive -> rel_context -> int -> unit -val compute_dec_goal : inductive -> rel_context -> int -> types -val compute_dec_tact : inductive -> rel_context -> int -> unit +val beq_scheme_kind : mutual scheme_kind +val build_beq_scheme : mutual_inductive -> constr array +(* Build equivalence between boolean equality and Leibniz equality *) -val make_eq_scheme :mutual_inductive -> types array +val lb_scheme_kind : mutual scheme_kind +val make_lb_scheme : mutual_inductive -> constr array + +val bl_scheme_kind : mutual scheme_kind +val make_bl_scheme : mutual_inductive -> constr array + +(* Build decidability of equality *) + +val eq_dec_scheme_kind : mutual scheme_kind +val make_eq_decidability : mutual_inductive -> constr array -- cgit v1.2.3