let pp_annots fmt acc =
let pp_pred k b p =
Format.fprintf fmt "%s%s: %a@."
k (if b then "" else " (h)") !Ast_printer.d_predicate_named p
in
let pp_pred_list k l = List.iter (fun (_,p) -> pp_pred k true p) l in
let pp_pred_b_list k l = List.iter (fun (b, (_,p)) -> pp_pred k b p) l in
let pp_assign_opt k a = match a with
| None -> ()
| Some (_,a) -> Format.fprintf fmt "%s(@@%a): %a@." k
Wp_error.pp_logic_label a.a_label
Wp_error.pp_assigns a.a_assigns
in pp_pred_list "H" acc.p_hyp;
pp_pred_list "G" acc.p_goal;
pp_pred_b_list "H+G" acc.p_both;
pp_pred_b_list "C" acc.p_cut;
pp_pred_b_list "I" acc.p_inv;
pp_assign_opt "HA" acc.a_hyp;
pp_assign_opt "GA" acc.a_goal;