let extract_init_infos =
let rec extract_rec = function
Equal(Base(Var(l)),r)::lpred ->
let (ll,lr,lp) = extract_rec lpred in
(l::ll,r::lr,lp)
| Equal(_)::lpred ->
let (ll,lr,lp) = extract_rec lpred in
(ll,lr,lp)
| (Event(e,l))::lpred ->
let (ll,lr,lp) = extract_rec lpred in
(ll,lr,(Base(e),l)::lp)
| _::lpred ->
displayWarning 0 "Warning: init section: predicate not supported";
extract_rec lpred
| [] -> ([],[],[])
in
extract_rec