let define axdef =
      if not (Hashtbl.mem index axdef.a_name) then
        begin
          let signature = List.map F.tau_of_var axdef.a_implicit in
          D.add_declaration {
            d_name = axdef.a_hyp_name ;
            d_section = S_userdef ;
            d_title = (fun fmt -> pp_axiomdef_title fmt axdef) ;
            d_descr = (fun fmt -> pp_axiomdef_descr fmt axdef) ;
            d_source = None ;
            d_item = Formula.Predicate signature ;
          } ;
          D.add_declaration {
            d_name = axdef.a_def_name ;
            d_section = S_userdef ;
            d_title = (fun fmt -> pp_axiomdef_title fmt axdef) ;
            d_descr = (fun fmt -> pp_axiomdef_descr fmt axdef) ;
            d_source = None ;
            d_item = Formula.Axiom axdef.a_property ;
          } ;
          Hashtbl.add index axdef.a_name () ;
        end