CongruenceClosureRewrite.Rule
type t =
| Regular of {
lhs : Pattern.t;
rhs : Pattern.t;
exclude : CC.Atom.t list;
mutable fire_count : int;
}
| Ellipsis of {
ellipsis : Pattern.ellipsis;
val pp : F.formatter -> t -> unit
val fire_count : t -> int
exception FuelExhausted of {
round_count : int;
val full_rewrite : ?debug:bool -> ?fuel:int -> CC.t -> t list -> int
iterate rewriting until saturation.
FuelExhausted
if fuel exhausted before saturation