InvsInvariants are stored in two hash tables mapping them to their certificate. One table is for one-state invariants, the other is for two-state invariants.
val empty : unit -> tThe empty collection of invariants.
val is_empty : t -> boolTrue if no invariants.
val len : t -> int * intNumber of invariants (one-state, two-state).
Bumps invariants.
If second parameter is true, include two-state invariants.
val filter : (bool -> Term.t -> Certificate.t -> bool) -> t -> tFilters some invariants.
Function takes a boolean flag indicating if the invariant is two state.
val add_os : t -> Term.t -> Certificate.t -> unitAdds a one-state invariant.
val add_ts : t -> Term.t -> Certificate.t -> unitAdds a two-state invariant.
val clear : t -> unitRemove all the invariants.
val get_os : t -> Term.TermSet.tThe one-state invariants.
val get_ts : t -> Term.TermSet.tThe two-state invariants.
val find : t -> Term.t -> Certificate.t optionReturns Some cert if term is a known invariant, or None otherwise.
val flatten : t -> (Term.t * Certificate.t) listTemporary. Flattens some invariants into a list.
val fmt : Stdlib.Format.formatter -> t -> unitFormats some invariants.