Module Jst.Eqtrans


module Eqtrans: sig  end
Justifying equality Transformers


type t = Term.t -> Term.t * Jst.jst
val id : t
id a returns (a, rho) such that rho |- a = a.
Parameters:
a : 'a
val compose : t -> t -> t
If g a = (b, rho) and f b = (c, tau) with rho |- a = b and tau |- b = c, then compose f g a returns (c, sigma) with sigma |- a = c.
Parameters:
f : t
g : t
a : 'a
val compose3 : t -> t -> t -> t
compose3 f g h is defined as compose f (compose g h).
Parameters:
f : t
g : t
h : t
val totalize : t -> t
Parameters:
f : t
a : 'a
val compose_partial1 : t -> t -> t
compose_partial1 f g a behaves like compose f g a when f does not throw an exception. In this case, the result is g a.
Parameters:
f : t
g : t
a : 'a
val replace : Term.map -> t -> t
Parameters:
map : Term.map
f : t
a : 'a
val apply : Term.apply -> (Term.t * Term.t) * Jst.jst -> t
Parameters:
app : Term.apply
(e,rho) : (Term.t * Term.t) * Jst.jst
a : 'a
val pointwise : t -> Term.t list -> Term.t list * Jst.jst
Parameters:
f : t
al : Term.t list
val mapargs : (Sym.t -> Term.t list -> Term.t * Jst.jst) ->
(Sym.t -> t) -> t
mapargs app f a maps f op over the arguments al of an application a of the form op(al). If a is not an application, Not_found is raised.
Parameters:
mk_app : Sym.t -> Term.t list -> Term.t * Jst.jst
f : Sym.t -> t
a : Term.t
val trace : Trace.level -> string -> t -> t
Parameters:
lvl : Trace.level
name : string
? : t