let export_generated_axiomatics tau_of_ctype_logic fmt 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
(export_tau tau_of_ctype_logic) (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 tau_of_ctype_logic fmt f get_f g )
f.Cil_types.fcomp.Cil_types.cfields ;)
else ();
Format.pp_print_newline fmt () ;
Format.pp_print_newline fmt ()