back_subsume | forward_subsume | subsumes | unit_delete |
back_subsume_one | nonunit_subsumption_tests | subsumes_bt | |
back_unit_del_by_index | simplify_literals | unit_conflict_by_index |
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.)
Plist back_unit_del_by_index(Clause unit, Lindex idx);Given a unit clause and a literal index, return the Plist of clauses containing literals that are instances of the negation of the unit clause.
Such clauses can be "back unit deleted".
Clause forward_subsume(Clause d, Lindex idx);
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.
Plist unit_conflict_by_index(Clause c, int max, Lindex idx);Look in idx for unit conflicts (up to max).
void unit_delete(Clause c, Lindex idx);Given a clause and a literal index, remove the literals that can be removed by "unit deletion" with units in the index. Update the clause's justification for each removed literal.
These activities are projects of the Mathematics and Computer Science Division of Argonne National Laboratory.