Conv_oracletype evaluable = | EvalVarRef of Names.Id.t |
| EvalConstRef of Names.Constant.t |
| EvalProjectionRef of Names.Projection.Repr.t |
Evaluable references (whose transparency can be controlled).
val empty : oracleOrder 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.
Like oracle_order but returns Same when neither constant is preferred based on the oracle alone. This allows the caller to apply additional heuristics.
Priority for the expansion of constant in the conversion test. * Higher levels means that the expansion is less prioritary. * (And Expand stands for -oo, and Opaque +oo.) * The default value (transparent constants) is Level 0.
val transparent : levelval is_transparent : level -> boolCheck whether a level is transparent
Sets the level of a constant. * Level of RelKey constant cannot be set.
Fold over the non-transparent levels of the oracle. Order unspecified.
val get_transp_state : oracle -> TransparentState.t