#include "resolve.h"

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

Contents


Public Routines in File resolve.c

Index

hyper_resolutionres_instance_prunesxx_resolve2
binary_factorsinstantiate_clauseresolve2
binary_resolutionmerge_literalsresolve3
copy_inferencemerge_literals0ur_resolution

Details



void resolution_options(BOOL ordered_res,
			BOOL check_res_instances,
			char *lit_selection,
			BOOL initial_nuclei,
			int ur_nucleus_limit);

void binary_factors(Topform c, void (*proc_proc) (Topform));

void binary_resolution(Topform c,
		       BOOL positive_res,
		       Lindex idx,
		       void (*proc_proc) (Topform));
Binary resolution.
Topform copy_inference(Topform c);
This makes a "copy" inference; that is, a copy of the clause in which the justification is "copy". All attributes are copied (not just the inheritible attributes). An ID is not assigned.
void hyper_resolution(Topform c, BOOL positive, Lindex idx,
		      void (*proc_proc) (Topform));
Hyperresolution.
Topform instantiate_clause(Topform c, Context subst);

void merge_literals(Topform c);

void merge_literals0(Topform c);

int res_instance_prunes();

Topform resolve2(Topform c1, int n1, Topform c2, int n2, BOOL renumber_vars);
Resolve, if possible, two clauses on the literals (specified by literals, counting from 1). Include justification, transfer inheritable attributes, but do not assign an ID. Renumbering of variables is optional.

if n2 < 0, then the literal is abs(n2), and it should be flipped.


Topform resolve3(Topform c1, Literals l1, Topform c2, Literals l2, BOOL renumber_vars);
Similar to resolve2(), but literals are given instead of integers.
void ur_resolution(Topform c, int target_constraint, Lindex idx,
		   void (*proc_proc) (Topform));
Unit-resulting resolution.
Topform xx_resolve2(Topform c, int n, BOOL renumber_vars);
Resolve, if possible, a clause with x=x. Renumber vars, include justification, transfer inheritable attributes, but do not assign an ID.

Public Definitions in File resolve.h

enum {  /* literal selection */
  LIT_SELECTION_MAXIMAL,
  LIT_SELECTION_ALL,
  LIT_SELECTION_FIRST_MAXIMAL,
  LIT_SELECTION_FIRST
};

enum {  /* types of resolution (binary, hyper, UR) */
  POS_RES,  /* positive */
  NEG_RES,  /* negative */
  ALL_RES   /* unrestricted */
};


Introduction