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