Module Fol_split


module Fol_split: sig .. end
Splitting Goals

module Env: Map.Make(Fol.Var)
val is_zone : 'a Fol.d_term -> bool
val e_unfold : 'a Fol.d_term Env.t -> 'a Fol.d_term -> 'a Fol.d_term
val p_unfold : 'a Fol.d_term Env.t -> 'a Fol.d_term Fol.t_pred -> 'a Fol.d_pred
val flatten : 'a Fol.d_term list -> 'a Fol.d_term -> 'a Fol.d_term list
val zunion : 'a Fol.d_term list -> 'a Fol.d_term
val included : 'a Fol.d_term -> 'a Fol.d_term -> 'a Fol.d_pred Bag.t
val dispatch : 'a Fol.d_term Fol.t_pred -> 'a Fol.d_pred Bag.t
Splits conjunctions and unfold the definition of included over zones.
type pred = unit Fol.d_pred 
val split : Mcfg.assigns_method -> 'a Fol.d_term Fol.t_pred -> 'a Fol.d_pred Bag.t
First, unfold zones when method is effect-assigns. Then applies dispatch.