let export_get_set_other tau_of_ctype_logic fmt f get_f g =
  let set_g = set_field g in
  Format.pp_print_newline fmt () ;
  Format.fprintf fmt
    "(* Definition of the commutativity of the get field %s over the set field %s*)@\n"
    f.Cil_types.fname g.Cil_types.fname;
  Format.pp_print_newline fmt () ;
  Format.fprintf fmt "axiom GetSetOther_%s_%s@,:@\n" f.Cil_types.fname g.Cil_types.fname;
  Format.fprintf fmt "forall r:%s.@,forall v:%a.@\n"
    f.Cil_types.fcomp.Cil_types.cname
    (export_tau tau_of_ctype_logic) (tau_of_ctype_logic g.Cil_types.ftype);
  Format.fprintf fmt "%s(%s(r,v))@,=@, %s(r)@\n" get_f set_g get_f;
  Format.pp_print_newline fmt ()