let print_section_init (role_instances : role_instance list) : unit= 
  let init_state =
    List.flatten
      (List.map 
         (fun role_instance ->
           role_instance#get_initial_state)
         role_instances)
  in
  if (init_state <> []) then
    (print_initial_stateA init_state);
    
        
  List.iter
    (fun x ->
            let k = (ground_if_value_to_string x) in
        if(not(List.mem k !intruder_knowledge)) then intruder_knowledge :=  k::(!intruder_knowledge))
    !Globals.i_knowledge;

  contains_term_list := (Utils.remove_duplicate !contains_term_list);
  List.iter
    (fun (a,b) ->
    add_in_set "x" (atom_ground_value_to_string a) "x" (atom_ground_value_to_string b))
    !contains_term_list;
  contains_term_list := [];