let add g =
begin
let bmap =
try Kfmap.find g.po_fun system.index
with Not_found -> Imap.empty
in
let bhv = match g.po_bhv with None -> "" | Some b -> b in
let pset =
try Imap.find bhv bmap
with Not_found -> WPOset.empty
in
if WPOset.mem g pset then
begin
let pi = ( g.po_model , WpAnnot.property_of_id g.po_pid ) in
Hproof.remove system.proofs pi ;
Hpo.remove system.results g ;
end ;
let pset' = WPOset.add g pset in
let bmap' = Imap.add bhv pset' bmap in
system.index <- Kfmap.add g.po_fun bmap' system.index ;
end