Libzipperposition.ClauseContextA clause with a "hole" in it. Filling the whole with a term t is called "applying the context to t".
The point is to relate different applications of the same context.
type term = Logtk.Term.ttype subst = Logtk.Subst.tA context is represented as a regular array of literals, containing at least one specific variable x, paired with this variable x. Applying the context is a mere substitution
val hash : t -> intval make : Logtk.Literals.t -> var:Logtk.Term.var -> tMake a context from a var and literals containing this var.
val extract : Logtk.Literals.t -> term -> t optionextract lits t returns None if t doesn't occur in lits. Otherwise, it creates a fresh var x, replaces t with x within lits, and returns the corresponding context. Basically, if extract lits t = Some c then apply c t = lits
val extract_exn : Logtk.Literals.t -> term -> tUnsafe version of extract.
val trivial : Logtk.Literals.t -> term -> tTrivial context, that contains 0 holes.
val apply : t -> term -> Logtk.Literals.tapply c t fills the hole of c with the given term t. t and c share no free variables.
val apply_same_scope : t -> term -> Logtk.Literals.tSame as apply, but now variables from the context and variables from the term live in the same scope
val raw_lits : t -> Logtk.Literals.tgive access to the underlying literals. Careful not to depend on the variable's actual name.
val pp : t CCFormat.printer