/usr/include/ladr/clist.h is in libladr-dev 0.0.200902a-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | /* Copyright (C) 2006, 2007 William McCune
This file is part of the LADR Deduction Library.
The LADR Deduction Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License,
version 2.
The LADR Deduction Library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with the LADR Deduction Library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef TP_CLIST_H
#define TP_CLIST_H
#include "topform.h"
/* INTRODUCTION
This package handles Clists, which are doubly-linked lists of (pointers
to) clauses. This is the "official" way of building lists of clauses.
(If you need a temporary, singly linked list, you can use Plist instead.)
<P>
An important property of Clists is that each clause knows what Clists
it is on. In particular, each clause has a (singly linked) list of
containing Clists, constructed from the same nodes as the ordinary Clist
(see the definition of struct clist_pos).
*/
/* Public definitions */
typedef struct clist_pos * Clist_pos;
typedef struct clist * Clist;
struct clist {
char *name;
Clist_pos first, last;
int length;
};
struct clist_pos {
Clist_pos prev, next; /* previous and next member of Clist */
Clist_pos nocc; /* next member of containment list */
Clist list; /* the head of the list */
Topform c; /* pointer to the clause */
};
/* End of public definitions */
/* Public function prototypes from clist.c */
void fprint_clist_mem(FILE *fp, BOOL heading);
void p_clist_mem();
Clist clist_init(char *name);
void name_clist(Clist p, char *name);
void clist_free(Clist p);
void clist_append(Topform c, Clist l);
void clist_prepend(Topform c, Clist l);
void clist_insert_before(Topform c, Clist_pos pos);
void clist_insert_after(Topform c, Clist_pos pos);
void clist_remove(Topform c, Clist l);
void clist_remove_all_clauses(Clist l);
int clist_remove_all(Topform c);
int clist_member(Topform c, Clist l);
void fprint_clist(FILE *fp, Clist l);
void p_clist(Clist l);
void clist_zap(Clist l);
void clist_check(Clist l);
void clist_append_all(Clist l1, Clist l2);
BOOL clist_empty(Clist lst);
int clist_length(Clist l);
int max_wt_in_clist(Clist l);
BOOL horn_clist(Clist l);
BOOL unit_clist(Clist l);
BOOL equality_in_clist(Clist l);
BOOL neg_nonunit_in_clist(Clist l);
Plist clauses_in_clist(Plist p, Clist l);
void clist_swap(Topform a, Topform b);
void clist_move_clauses(Clist a, Clist b);
Plist move_clist_to_plist(Clist a);
Plist copy_clist_to_plist_shallow(Clist a);
Clist plist_to_clist(Plist p, char *name);
void clist_reverse(Clist l);
Clist_pos pos_in_clist(Clist lst, Topform c);
void clist_append_plist(Clist lst, Plist clauses);
Plist prepend_clist_to_plist(Plist p, Clist c);
int clist_number_of_weight(Clist lst, int weight);
void sort_clist_by_id(Clist lst);
Plist neg_clauses_in_clist(Clist a);
void fprint_clause_clist(FILE *fp, Clist lst);
#endif /* conditional compilation of whole file */
|