let update_loop_actions kf init inner last (post_st,_) =
let (state,_ as auto) = Data_for_aorai.getAutomata () in
let changed = ref false in
let merge_one_path pre_state post_state =
let trans = Path_analysis.get_transitions_of_state pre_state auto in
if
List.exists (fun x -> post_st.(x.stop.nums).(post_state.nums)) trans
then begin
let action_pre =
Data_for_aorai.get_action_bindings kf init pre_state post_state
in
let action_step =
Data_for_aorai.get_action_bindings kf inner pre_state post_state
in
let has_changed, action =
compute_actions_invariant action_pre action_step
in
changed := !changed || has_changed;
Data_for_aorai.set_action_bindings kf last pre_state post_state action
end
in
ignore (Extlib.product merge_one_path state state);
!changed