Lang.FSourceval e_open :
pool:pool ->
?forall:bool ->
?exists:bool ->
?lambda:bool ->
term ->
(Qed.Logic.binder * var) list * termOpen all the specified binders (flags default to `true`, so all consecutive top most binders are opened by default). The pool must contain all free variables of the term.
Closes all specified binders
Context used by pp_term, pp_pred, pp_var, ppvars for printing the term. Allows to keep the same disambiguation.
Returns a list of terms to be shared among all shared or marked subterms. The order of terms is consistent with definition order: head terms might be used in tail ones.
Constant time.
Constant time.
Computes equality
Constant time
val typeof :
?field:(Field.t -> tau) ->
?record:(Field.t -> tau) ->
?call:(Fun.t -> tau option list -> tau) ->
term ->
tauTry to extract a type of term. Parameterized by optional extractors for field and functions. Extractors may raise Not_found ; however, they are only used when the provided kinds for fields and functions are not precise enough.
The functions below register simplifiers for function f. The computation code may raise Not_found, in which case the symbol is not interpreted.
If f is an operator with algebraic rules (see type operator), the children are normalized before builtin call.
Highest priority is 0. Recursive calls must be performed on strictly smaller terms.
Empty local caches