diff options
author | vsiles <vsiles@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2007-10-05 13:02:23 +0000 |
---|---|---|
committer | vsiles <vsiles@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2007-10-05 13:02:23 +0000 |
commit | cf136fb80c1b461b16d733830d8a320e6d03d06b (patch) | |
tree | cf35437a1b92529cbe6ad95fb7c0e225478fbb5f /toplevel/ind_tables.mli | |
parent | 20720975c49e5c48f6b03a96df0186b56557eb3e (diff) |
Added the automatic generation of the boolean equality if possible and the
decidability of the usual equality
Major changes:
* andb_prop & andb_true_intro have been moved from Bool.v to Datatypes.v
* added 2 files:
* toplevel/ind_tables.ml* : tables where the boolean eqs and the
decidability proofs are stored
* toplevel/auto_ind_decl.ml* : code of the schemes that are automatically
generated from inductives types (currently boolean eq & decidability )
* improvement of injection: if the decidability have been correctly computed,
injection can now break the equalities over dependant pair
How to use:
Set Equality Scheme. to set the automatic generation of the equality when you
create a new inductive type
Scheme Equality for I. tries to create the equality for the already declared
type I
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10180 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/ind_tables.mli')
-rw-r--r-- | toplevel/ind_tables.mli | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/toplevel/ind_tables.mli b/toplevel/ind_tables.mli new file mode 100644 index 000000000..2edb294f9 --- /dev/null +++ b/toplevel/ind_tables.mli @@ -0,0 +1,40 @@ +(************************************************************************) +(* 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 *) +(************************************************************************) + +open Term +open Names +open Libnames +open Mod_subst +open Sign + + +val cache_scheme :(object_name*(Indmap.key*constr)) -> unit +val export_scheme : (Indmap.key*constr) -> (Indmap.key*constr) option + +val find_eq_scheme : Indmap.key -> constr +val check_eq_scheme : Indmap.key -> bool + +val cache_bl: (object_name*(Indmap.key*constr)) -> unit +val cache_lb: (object_name*(Indmap.key*constr)) -> unit +val cache_dec : (object_name*(Indmap.key*constr)) -> unit + +val export_bool_leib : (Indmap.key*constr) -> (Indmap.key*constr) option +val export_leib_bool : (Indmap.key*constr) -> (Indmap.key*constr) option +val export_dec_proof : (Indmap.key*constr) -> (Indmap.key*constr) option + +val find_bl_proof : Indmap.key -> constr +val find_lb_proof : Indmap.key -> constr +val find_eq_dec_proof : Indmap.key -> constr + +val check_bl_proof: Indmap.key -> bool +val check_lb_proof: Indmap.key -> bool +val check_dec_proof: Indmap.key -> bool + + + + |