/* ---------------------------------------------------------- % (C)1992 Institute for New Generation Computer Technology % (Read COPYRIGHT for detailed information.) ----------------------------------------------------------- */ /*===================================================================== * cu-Prolog III (Constraint Unification Prolog) * Copyright: Institute for New Generation Computer Technology,Japan * 1989--91 ==================================================================== */ /*-------------------------------------------------------------------- * <<< funclist.h >>> * external function definitions --------------------------------------------------------------------*/ /* extern function def */ /* main.c */ void prepare(),error_detail(), error(),systemcommand(); void oscommand(),set_inputfile(),readfile(),set_eof(),trans_routine(); void questionclause(),defclause(),push_status(),pop_status(),init_status(); void garbagecollect(),edit_predicate(); void open_title(), prolog_execution(); void defnewfunc(), rename_var_names(), truncate_varname(); void renum_pvars(), preprocess_constraints(); /* mainsub.c */ void traceswitch(),stepswitch(),spyswitch(),showdef(),loghandle(); void check_recursion(); void recalc_f_roles(); int not_vacuous(); void reduceswitch(),putcursor(),disp_func_def(); void allspy(),helpmenu(),filewrite(); void freeheap(); void printtime(),settimer(),quit_prolog(); void delete_tmp(); /* defsysp.c */ void init_syspred(); void init_atoms(); void init_operator(); void defsyspred(); int system_function(); int cut_pred(); int fail_pred(); int halt_pred(); int abomb_pred(); int true_pred(); int op_pred(); int isop_pred(); void index_op(); int not_pred(); int unbreak_pred(); int pnames_pred(), pvalue_pred(), type_pred(); int default_pred(), subsume(), subsume_pst(); int subsume_pstlist(); void pst_add_unify(), pst_add_unify_sub(); int reset_timer_pred(), timer_pred(); int stay_pred(); /* syspred1.c */ int memb_pred(); int apnd_pred(); int execute_pred(); int or_pred(); int read_pred(); int open_pred(); int see_pred(); int seen_pred(); int tell_pred(); int told_pred(); int close_pred(); int project_pred(); int pcon_pred(); int attach_pred(); int cunify_pred(); int write_pred(); int nl_pred(); int tab_pred(); int var_pred(); int equal_pred(); int nequal_pred(); int eq_pred(); int eq_pred_sub(); int equalpred(); int assertz_pred(); int assert_pred(); void general_assert(); struct clause *list_to_clause(); int retract_pred(); int retract_pred_sub(); void clear_predicate(); int abolish_pred(); int makelist_pred(); int Llevel(); void LtoP(); struct clause *PtoL(); int name_pred(); void LtoC(); struct term *CtoL(); int arg_pred(); int functor_pred(); int make_func(); int match_func(); int clause_pred(); struct term *Clause_to_List(); /* syspred2.c */ int sum_pred(); int multiply_pred(); int calc_pred(); int calc_1(); int calc_2(); int greater_pred(); int less_pred(); int geq_pred(); int leq_pred(); int numcomp_pred(); int compare_pred(); int concat_pred(); int app_str(); int diff_str(); int concat2_pred(); int divstr_pred(); int strlen_pred(); int strcmp_pred(); int atom_to_str_pred(); int count_pred(); int gensym_pred(); int default_pred(); int substr_pred(); /* jpsgsub.c */ void show_category(); void init_category(); void list_to_cat(); void set_category(); int tree_pred(); void Ptree(); void oldlink(); void treeprint(); int null_or_nil(); void PCat(); void Psubcat(); char *termname(); int pickname(); struct term *cnlistmake(); int cname_pred(); /* new.c */ int *salloc(),*alloc(); struct pair *ealloc(); char *nalloc(); int hash(); void print_hash_table(); /* name flag for nalloc() */ char *nalloc(); void index_func(), index_funclist(); struct itrace *index_newflist(); void reset_voccurrence(),recalc_voccurrence(); void recalc_pred_value(); struct operator *op_search(); struct term *Nvar(),*Nterm(); struct term *Nnum(), *Nnum_val(), *Nstr(), *Nfile(); struct pst *Npst(); struct term *Npst_item(); void initialize_psttable(), clear_psttable(); struct pst_item *find_pstitem(); struct pst_item *remove_pstitem(),*remove_pstitem_if_not_equal(), *record_pstobjects(); struct eclause *record_pstlists(); struct clause *Nlist(), *Nclause(); struct func *Nfunc(),*funcsearch(); struct func *Predicate(),*exist_fname(); struct term *varsearch(); struct pair *Nenv(); struct node *Nnode(); struct cnode *Ncnode(); struct eclause *Neclause(); struct allvar *Nallvars(); void check_pred_defcount(); void upush(),undo(),add_set(),index_set(); struct term *literalcopy(); void show_heap_max(),init_heap_max(); /* print.c */ void Pterm(),Pterm_core(),Psequence(),Pallvar(),Pvar(), Pfunctor(); void writenewfunc(), Ppst(); void Pclause(),P_var(), P_dclause(); void Showhorn(),Showfunc(),Shownewfunc(); void Pgoal(); int quote_needed(); void Peclause(); /* read.c */ void adv(); int check(), skip(), keyread(), alldigit(); void period(), next(), read_hexa(), read_digits(); void read_comments(), read_spechar(); int Rtoken(), is_term_end(), prefix_is_atom(); struct term *Rlist(),*Rterm(), *Rterm_half(), *Rterm_leftover(); struct term *Rform(),*Rhead(); struct clause *Rclause(); struct clause *Rconstraint(); struct term *Rliteral(), *Rvar(), *Rpst(); void register_psttable(); struct eclause *insert_pstobj(); /* modular.c */ void modular(); int cu(); struct term *tolist(),*termset(), *up_pst(); struct eclause *termset_pstobj(), *termset_pstobj_sub(); void up_init(); void up_restore(); struct clause *up_eclause(); struct clause *up_list_to_clause(); struct clause *up_itrace_clause(); struct set *up_func_def(); struct eclause *onestep_reduce(), *eclause_append(); struct term *up_atomic(), *up_const(), *up_const_functor(); struct term *try_fold(); struct eclause *transform(); int match_term(); /* refute.c */ int refute(); struct node *Newnode(); struct node *backtrack_node(); struct set *init_set(); int Panswer(); /* unify.c */ int tunify(); int ocheck(),unify(),safe_unify(); int pst_unify(); int unify_pstlist_objects(), unify_merge_psts(); /* transform.c */ int check_INITDEF(); void clear_up_DEF(); void add_to_set(); struct clause *startmodular(); struct clause *modular_form(); struct compartment *Ncomp(); struct clause *copy_clause(); struct term *copy_term(); struct term *var_trans(); struct clause *new_constraint(); struct clause *new_pred_def(); void set_new_def(); int need_trans(); /* struct clause *restore_head(); */ struct term *restore_term(); struct term *var_reverse(); struct cset *target_clause(); struct cset *target_def(); void delete_csets(); int foldunfold(); int unfold(); int apply(); struct set *one_def_literal(); void register_newpred(); void Pvpair(); void Pcomp(); int stat(); void Pcset_def(); void Pcset_cstr(); void P_csnumber(); void P_status(); struct vpair *Nvpair(); struct cset *Ncset(); void add_clause(); void add_cs_to_set(); struct eclause *reduce_clause(); void reorder_clause(); int satisfiable(); struct clause *target_literal(); int energy(); struct clause *surface_copy_clause(); struct clause *ctail(); struct eclause *ectail(); int has_pred(); int is_vacuous(); int is_modular_clause(); int is_modular_literal(); int has_no_var(); /* struct clause *Nhornclause(); */ struct eclause *eclause_conc(); struct clause *sort_clause(); struct clause *insert_clause(); int greater_term(); int arg_type(); int greater_arg(); int cmp_var(); int cmp_cplxt(); int cmp_list(); int cmp_flt(); int cmp_int(); int cmp_str(); int cmp_fp(); int have_def(); void init_unfoldfold(); void end_unfoldfold(); int step_asking(); struct cset *nth_cset(); struct clause *nth_literal(); void abandon_transformation(); void quit_transformation(); void skip_cr(); void show_newdefs(); struct compartment *split(); void clear_vconstraint(); void delete_constraint(); int attach(); void attach_term(); void attach_arg(); void replace_terms();