let export_get_set_other fmt pp_tau 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
pp_tau (Fol_decl.Tau.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 ()