let add_axiom name labels predicate =    
    if not (UserAxiomDefs.is_defined name) then
      if labels = [] then
        compile_and_define user_axioms name predicate
          compile_user_axiom
          (fun name _ -> UserAxiom.define name)
      else
        compile_and_define user_axiomlabels name (labels,predicate)
          compile_user_axiom_labels
          (fun _ axdef -> UserAxiomDefs.define axdef)