let export_generated_axiomatics fmt pp_tau f = 
    let get_f = get_field f in 
    let set_f = set_field f in
    Format.fprintf fmt 
            "(* Definition of the good properties of the field %s*)@\n" f.Cil_types.fname;
    Format.pp_print_newline fmt () ; 
    Format.fprintf fmt "axiom GetSetSame_%s@,:@\n" f.Cil_types.fname; 
    Format.fprintf fmt "forall r:%s.@,forall v:%a.@\n" 
      f.Cil_types.fcomp.Cil_types.cname 
      pp_tau (Fol_decl.Tau.tau_of_ctype_logic f.Cil_types.ftype); 
    Format.fprintf fmt "%s(%s(r,v))@,=@, v@\n" get_f set_f ; 
    Format.pp_print_newline fmt () ; 
    if f.Cil_types.fcomp.Cil_types.cstruct then
    (List.iter (fun g -> 
                  if Cil_datatype.Fieldinfo.equal f g then () else 
                    export_get_set_other fmt pp_tau f get_f g) 
      f.Cil_types.fcomp.Cil_types.cfields ;)
    else ();
    Format.pp_print_newline fmt () ;
    Format.pp_print_newline fmt ()