Module Libzipperposition_avatar

Basic Splitting à la Avatar

We don't implement all the stuff from Avatar, in particular all clauses are active whether or not their trail is satisfied in the current model. Trails are only used to make splits easier currently.

Future work may include locking clauses whose trails are unsatisfied.

Depends optionally on the "meta" extension.

module UnionFind : sig ... end
type 'a printer = Stdlib.Format.formatter -> 'a -> unit

Avatar: splitting+sat

val flag_cut_introduced : Libzipperposition.SClause.flag
module Make : functor (E : Libzipperposition.Env.S) -> functor (Sat : Libzipperposition.Sat_solver.S) -> S with module E = E and module Solver = Sat
val k_avatar : (module S) Logtk.Flex_state.key
val k_simplify_trail : bool Logtk.Flex_state.key
val k_avatar_enabled : bool Logtk.Flex_state.key
val get_env : (module Libzipperposition.Env.S) -> (module S)
val extension : Libzipperposition.Extensions.t

Extension that enables Avatar splitting and create a new SAT-solver.