let ip_contract f =
let ip_behaviors =
List.map
(fun bhv -> Property.IPBehavior(f,Kglobal,bhv))
f.spec.spec_behavior
in
let ip_rte =
if not (rte_generated f) then
Wp_parameters.warning ~current:false ~once:true
"Missing RTE guards" ;
[ (*TODO: these dependencies should be put on the emitter at Wpo level *) ]
in
ip_behaviors @ ip_complete f @ ip_disjoint f @ ip_rte