diff options
Diffstat (limited to 'kernel/conv_oracle.mli')
-rw-r--r-- | kernel/conv_oracle.mli | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/kernel/conv_oracle.mli b/kernel/conv_oracle.mli index c8cfdf62..62991222 100644 --- a/kernel/conv_oracle.mli +++ b/kernel/conv_oracle.mli @@ -1,6 +1,6 @@ (************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) -(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2014 *) +(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2015 *) (* \VV/ **************************************************************) (* // * This file is distributed under the terms of the *) (* * GNU Lesser General Public License Version 2.1 *) @@ -8,11 +8,16 @@ open Names +type oracle + +val empty : oracle + (** Order on section paths for unfolding. If [oracle_order kn1 kn2] is true, then unfold kn1 first. Note: the oracle does not introduce incompleteness, it only tries to postpone unfolding of "opaque" constants. *) -val oracle_order : bool -> 'a tableKey -> 'a tableKey -> bool +val oracle_order : ('a -> constant) -> oracle -> bool -> + 'a tableKey -> 'a tableKey -> bool (** Priority for the expansion of constant in the conversion test. * Higher levels means that the expansion is less prioritary. @@ -22,17 +27,17 @@ val oracle_order : bool -> 'a tableKey -> 'a tableKey -> bool type level = Expand | Level of int | Opaque val transparent : level -val get_strategy : 'a tableKey -> level +(** Check whether a level is transparent *) +val is_transparent : level -> bool + +val get_strategy : oracle -> constant tableKey -> level (** Sets the level of a constant. * Level of RelKey constant cannot be set. *) -val set_strategy : 'a tableKey -> level -> unit +val set_strategy : oracle -> constant tableKey -> level -> oracle -val get_transp_state : unit -> transparent_state +(** Fold over the non-transparent levels of the oracle. Order unspecified. *) +val fold_strategy : (constant tableKey -> level -> 'a -> 'a) -> oracle -> 'a -> 'a + +val get_transp_state : oracle -> transparent_state -(**************************** - Summary operations *) -type oracle -val init : unit -> unit -val freeze : unit -> oracle -val unfreeze : oracle -> unit |