let build_wpos export kf bhv wrn dep propid gpred =
let gpred = Splitter.simplify gpred in
if Wp_parameters.Split.get () || Wp_parameters.Invariants.get () ||
(WpPropId.is_assigns propid && PO.assigns_method() = Mcfg.EffectAssigns)
then
let goals = Splitter.split (PO.assigns_method ()) gpred in
if Bag.is_empty goals then
export_wpo export kf bhv wrn dep propid F.p_true
else
WpAnnot.split (export_wpo export kf bhv wrn dep) propid goals
else
export_wpo export kf bhv wrn dep propid gpred