#include "subsume.h"

This page has information from files subsume.h and subsume.c.

Contents


Public Routines in File subsume.c

Index

any_subsumesforward_subsumexsubsumesunit_deletion_failures
back_subsumeforward_subsumeysubsumes_bt
back_subsume_onenonunit_subsumption_testsunit_conflict_by_index
forward_subsumesimplify_literalsunit_delete

Details


Clause any_subsumes(Plist g, Clause d, Uniftype utype);
Return the first clause in Plist g that subsumes Clause d. (We don't consider clasues in g that are longer than Clause d.)
Plist back_subsume(Clause c, Lindex idx);
Look in the index and return the list of clauses subsumed by c.
Clause back_subsume_one(Clause c, Lindex idx);
Look in the index for a clause subsumed by c. The first one found is returned. (It is not necessarily the first of the subsumees that was inserted into the index.)
Clause forward_subsume(Clause d, Lindex idx);

Clause forward_subsumex(Clause d, Lindex idx);

Clause forward_subsumey(Clause d, Lindex idx);
like ordinary forward_subsume, except that we keep a list of "tried-and-failed" candidates, and don't repeat the test on them.
int nonunit_subsumption_tests(void);

void simplify_literals(Clause c);

BOOL subsumes(Clause c, Clause d);
This routine checks if Clause c subsumes Clause d. Ordinary unification is used; in particular, symmetry of equality is not built-in.


BOOL subsumes_bt(Clause c, Clause d);
This routine checks if Clause c subsumes Clause d. Backtrack unification is used; in particular, AC and commutative/symmetric matching are applied where appropriate.
Clause unit_conflict_by_index(Clause c, Lindex idx);

void unit_delete(Clause c, Lindex idx);

int unit_deletion_failures(void);

Public Definitions in File subsume.h


Introduction


These activities are projects of the Mathematics and Computer Science Division of Argonne National Laboratory.