module Rewrite_rule: sig
.. end
Rewrite Rules
val section : Libzipperposition.Util.Section.t
type
rule_term
val rhs_term : rule_term -> Libzipperposition.FOTerm.t
val pp_rule_term : rule_term CCFormat.printer
type
rule_clause
val rhs_clause : rule_clause -> Literal.t list list
val pp_rule_clause : rule_clause CCFormat.printer
module Set: sig
.. end
Set of Rewrite Rules
val normalize_term : Set.t ->
Libzipperposition.FOTerm.t -> Libzipperposition.FOTerm.t
normalize rules t
computes the normal form of t
w.r.t the set
of rewrite rules
val narrow_term : ?subst:Libzipperposition.Substs.t ->
Set.t Libzipperposition.Scoped.t ->
Libzipperposition.FOTerm.t Libzipperposition.Scoped.t ->
(rule_term * Libzipperposition.Substs.t) Sequence.t
narrow_term rules t
finds the set of rules (l --> r) in rules
and substitutions sigma
such that sigma(l) = sigma(t)
val normalize_clause : Set.t -> Literal.t list -> Literal.t list list option
normalize literals of the clause w.r.t. rules, or return None
if no rule applies
val narrow_lit : ?subst:Libzipperposition.Substs.t ->
Set.t Libzipperposition.Scoped.t ->
Literal.t Libzipperposition.Scoped.t ->
(rule_clause * Libzipperposition.Substs.t) Sequence.t
narrow_term rules lit
finds the set of rules (l --> clauses) in rules
and substitutions sigma
such that sigma(l) = sigma(tit)