let set_result g p r =
begin
let rs =
try Hpo.find system.results g
with Not_found ->
let rs = Results.create () in
Hpo.add system.results g rs ; rs
in
Results.replace rs p r ;
set_po_result g r ;
end