#include "clausify.h"

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

Contents


Public Routines in File clausify.c

Index

clause_to_formulaclausify_formulasformula_to_clauses
clausify_formulaformula_to_clauseformula_to_literal

Details


Formula clause_to_formula(Clause c);

Plist clausify_formula(Formula f);
This routine translates a Formula f into a Clist of clauses. The translation includes Skolemization, so the result should be unsatisfiable iff f is unsatisfiable. The variables in each clause are renumbered. If there are more than MAX_VARS variables in a clause, a fatal error occurs.

Formula f is not changed


Plist clausify_formulas(Plist formulas);

Clause formula_to_clause(Formula f);
This routine takes a Formula f and returns a Clause representation. If f is not an atom, literal, or disjunction of literals, the returned clause will be NULL or not well formed.

The returned clause is an entirely new copy, and the given formula is not changed.


Plist formula_to_clauses(Formula f);
This routine takes a Formula f and returns a Plist of Clauses representation. If f is not an atom, literal, or disjunction of literals, or a conjunction of those things, the clauses in the returned list may be NULL or not well formed.

The returned clauses are entirely new copies, and the given formula is not changed.


Literal formula_to_literal(Formula f);
This routine takes a Formula f and returns a Literal representation. If the formula is not an ATOM_FORM or the negation of an ATOM_FORM, NULL is returned.

The returned literal is an entirely new copy, and the given formula is not changed.


Public Definitions in File clausify.h


Introduction


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