let actions_to_range_step kf ki st1 trans =
  let map = Data_for_aorai.get_action_bindings kf ki st1 trans.start in
  let treat_one_action acc =
    function
      | Counter_init lv ->
        let t = tlval lv in
        (t,(Cil.lzero(), Fixed 1)) :: acc
      | Counter_incr lv ->
        let t = tlval lv in
        (try
           (let bindings = Cil_datatype.Term.Map.find t map in
            let abs =
              try 
                let r = Cil_datatype.Term.Map.find (Cil.lzero()) bindings in
                let r = add_one ~is_absolute:true r in
                (t, (Cil.lzero(), r)) :: acc
              with Not_found -> acc
            in
            try
              let r = Cil_datatype.Term.Map.find t bindings in
              let r = add_one ~is_absolute:false r in
              (t, (t,r)) :: acc
            with Not_found -> abs)
         with Not_found ->
           (* adds an absolute binding *)
           (t, (Cil.lzero(), Data_for_aorai.absolute_range t 1))::acc)
      | Pebble_init(_,_,c) -> (* TODO: put post-conds on pebble sets *)
        let t = Logic_const.tvar c in
        (t,(t,Fixed 1)) :: acc
      | Pebble_move _ -> acc (* TODO: put post-conds on pebble sets *)
      | Copy_value (lv,t) ->
        let loc = tlval lv  in
        (loc,(t,Fixed 0)) :: acc
  in List.fold_left treat_one_action [] (snd trans.cross)