diff options
author | Stephane Glondu <steph@glondu.net> | 2010-07-21 09:46:51 +0200 |
---|---|---|
committer | Stephane Glondu <steph@glondu.net> | 2010-07-21 09:46:51 +0200 |
commit | 5b7eafd0f00a16d78f99a27f5c7d5a0de77dc7e6 (patch) | |
tree | 631ad791a7685edafeb1fb2e8faeedc8379318ae /toplevel/indschemes.mli | |
parent | da178a880e3ace820b41d38b191d3785b82991f5 (diff) |
Imported Upstream snapshot 8.3~beta0+13298
Diffstat (limited to 'toplevel/indschemes.mli')
-rw-r--r-- | toplevel/indschemes.mli | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/toplevel/indschemes.mli b/toplevel/indschemes.mli new file mode 100644 index 00000000..9aa32b7b --- /dev/null +++ b/toplevel/indschemes.mli @@ -0,0 +1,56 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(************************************************************************) + +(*i $Id$ i*) + +(*i*) +open Util +open Names +open Term +open Environ +open Libnames +open Rawterm +open Genarg +open Vernacexpr +open Ind_tables +(*i*) + +(* See also Auto_ind_decl, Indrec, Eqscheme, Ind_tables, ... *) + +(* Build and register the boolean equalities associated to an inductive type *) + +val declare_beq_scheme : mutual_inductive -> unit + +val declare_eq_decidability : mutual_inductive -> unit + +(* Build and register a congruence scheme for an equality-like inductive type *) + +val declare_congr_scheme : inductive -> unit + +(* Build and register rewriting schemes for an equality-like inductive type *) + +val declare_rewriting_schemes : inductive -> unit + +(* Mutual Minimality/Induction scheme *) + +val do_mutual_induction_scheme : + (identifier located * bool * inductive * rawsort) list -> unit + +(* Main calls to interpret the Scheme command *) + +val do_scheme : (identifier located option * scheme) list -> unit + +(* Combine a list of schemes into a conjunction of them *) + +val build_combined_scheme : env -> constant list -> constr * types + +val do_combined_scheme : identifier located -> identifier located list -> unit + +(* Hook called at each inductive type definition *) + +val declare_default_schemes : mutual_inductive -> unit |