module Pos:sig..end
type split = {
|
lit_pos : |
|
term_pos : |
|
term : |
lit_pos: the literal-prefix of the positionterm_pos: the suffix that describes a subterm positionterm: the term root, just under the literal itself.
given this, applying T.Pos.at to the subterm position and
the root term we obtain the sub-term itself.val split : Literal.t -> Libzipperposition.Position.t -> splitInvalid_argument if the position is incorrectval at : Literal.t -> Libzipperposition.Position.t -> Literal.termInvalid_argument if the position is invalidval replace : Literal.t -> at:Libzipperposition.Position.t -> by:Literal.term -> Literal.tInvalid_argument if the position is invalidval cut : Literal.t ->
Libzipperposition.Position.t ->
Libzipperposition.Position.t * Libzipperposition.Position.t
it always holds that let a,b = cut p in Position.append a b = p
val root_term : Literal.t -> Libzipperposition.Position.t -> Literal.termroot_term lit p = [at lit (fst (cut p))].val term_pos : Literal.t -> Libzipperposition.Position.t -> Libzipperposition.Position.tterm_pos lit p = snd (cut lit p), the subterm position.val is_max_term : ord:Libzipperposition.Ordering.t ->
Literal.t -> Libzipperposition.Position.t -> bool