Chapter 8 Reducibility Among Combinatorial Problems
Richard M. Karp
Introduction by Richard M. Karp
Throughout the 1960s I worked on combinatorial optimization problems including logic circuit design with Paul Roth and assembly line balancing and the traveling salesman problem with Mike Held. These experiences made me aware that seemingly simple discrete optimization problems could hold the seeds of combinatorial explosions. The work of Dantzig, Fulkerson, Hoffman, Edmonds, Lawler and other pioneers on network flows, matching and matroids acquainted me with the elegant and efficient algorithms that were sometimes possible. Jack Edmonds’ papers and a few key discussions with him drew my attention to the crucial distinction between polynomial-time and superpolynomial-time solvability. I was also influenced by Jack’s emphasis on min-max theorems as a tool for fast verification of optimal solutions, which foreshadowed Steve Cook’s definition of the complexity class NP. Another influence was George Dantzig’s suggestion that integer programming could serve as a universal format for combinatorial optimization problems.
Throughout the ’60s I followed developments in computational complexity theory, pioneered by Rabin, Blum, Hartmanis, Stearns and others. In the late ’60s I studied Hartley Rogers’ beautiful book on recursive function theory while teaching a course on the subject at the Polytechnic Institute of Brooklyn. This experience brought home to me the key role of reducibilities in recursive function theory, and started me wondering whether subrecursive reducibilities could play a similar role in complexity theory, but I did not yet pursue the analogy.
Cook’s 1971 paper [1], in which he defined the class NP and showed that propositional satisfiability was an NP-complete problem, brought together for me the two strands of complexity theory and combinatorial optimization. It was immediately apparent to me that many familiar combinatorial problems were likely to have the same universal role as satisfiability. I enjoyed constructing the polynomial-time reductions that verified this intuition. Most of them were easy to find, but I failed to prove the NP-completeness of the undirected hamiltonian circuit problem; that reduction was provided independently by Lawler and Tarjan. I was also frustrated by my inability to classify linear programming, graph isomorphism and primality.
As I recall I first presented my results at an informal seminar at Don Knuth’s home, and a few months later, in April 1972, I exposed the work more broadly at an IBM symposium. In the next couple of years many results more refined than my own were added to the accumulation of NP-completeness proofs, and later the Garey-Johnson book [2] presented the concepts to a wide audience.
Heuristic algorithms often find near-optimal solutions to NP-hard optimization problems. For some time in the mid-1970s I tried to explain this phenomenon by departing from worst-case analysis, and instead analyzing the performance of simple heuristics on instances drawn from simple probability distributions. This work was technically successful but gained limited traction, because there was no way to show that the problem instances drawn from these probability distributions are representative of those arising in practice. The surprising success of many heuristics remains a mystery.
1 INTRODUCTION
All the general methods presently known for computing the chromatic number of a graph, deciding whether a graph has a Hamilton circuit, or solving a system of linear inequalities in which the variables are constrained to be 0 or 1, require a combinatorial search for which the worst case time requirement grows exponentially with the length of the input. In this paper we give theorems which strongly suggest, but do not imply, that these problems, as well as many others, will remain intractable perpetually.
† This research was partially supported by National Science Foundation Grant GJ-474.
We are specifically interested in the existence of algorithms that are guaranteed to terminate in a number of steps bounded by a polynomial in the length of the input. We exhibit a class of well-known combinatorial problems, including those mentioned above, which are equivalent, in the sense that a polynomial-bounded algorithm for any one of them would effectively yield a polynomial-bounded algorithm for all. We also show that, if these problems do possess polynomial-bounded algorithms then all the problems in an unexpectedly wide class (roughly speaking, the class of problems solvable by polynomial-depth backtrack search) possess polynomial-bounded algorithms.
The following is a brief summary of the contents of the paper. For the sake of definiteness our technical development is carried out in terms of the recognition of languages by one-tape Turing machines, but any of a wide variety of other abstract models of computation would yield the same theory. Let be the set of all finite strings of 0's and 1's. A subset of is called a language. Let be the class of languages recognizable in polynomial time by one-tape deterministic Turing machines, and let be the class of languages recognizable in polynomial time by one-tape nondeterministic Turing machines. Let be the class of functions from into computable in polynomial time by one-tape Turing machines. Let L and M be languages. We say that (L is reducible to M) if there is a function such that . If and then . We call L and M equivalent if and . Call L (polynomial) complete if and every language in is reducible to L. Either all complete languages are in , or none of them are. The former alternative holds if and only if .
The main contribution of this paper is the demonstration that a large number of classic difficult computational problems, arising in fields such as mathematical programming, graph theory, combinatorics, computational logic and switching theory, are complete (and hence equivalent) when expressed in a natural way as language recognition problems.
This paper was stimulated by the work of Stephen Cook (1971), and rests on an important theorem which appears in his paper. The author also wishes to acknowledge the substantial contributions of Eugene Lawler and Robert Tarjan.
2 THE CLASS $P$
There is a large class of important computational problems which involve the determination of properties of graphs, digraphs, integers, finite families of finite sets, boolean formulas and elements of other countable domains. It is a reasonable working hypothesis, championed originally by Jack Edmonds (1965) in connection with problems in graph theory and integer programming, and by now widely accepted, that such a problem can be regarded as tractable if and only if there is an algorithm for its solution whose running time is bounded by a polynomial in the size of the input. In this section we introduce and begin to investigate the class of problems solvable in polynomial time.
We begin by giving an extremely general definition of "deterministic algorithm", computing a function from a countable domain D into a countable range R.
For any finite alphabet A, let be the set of finite strings of elements of A; for , let denote the length of x.
A deterministic algorithm is specified by: a countable set D (the domain) a countable set R (the range) a finite alphabet such that an encoding function a transition function .
The computation of on input is the unique sequence such that for all i and, if the sequence is finite and ends with , then . Any string occurring as an element of a computation is called an instantaneous description. If the computation of on input is finite and of length , then is the running time of on input . is terminating if all its computations are finite. A terminating algorithm computes the function such that is the last element of the computation of on .
If then is called a recognition algorithm. A recognition algorithm in which is called a string recognition algorithm. If is a string recognition algorithm then the language recognized by is . If then is called a string mapping algorithm. A terminating algorithm with domain operates in polynomial time if there is a polynomial such that, for every , .
To discuss algorithms in any practical context we must specialize the concept of deterministic algorithm. Various well known classes of string recognition algorithms (Markov algorithms, one-tape Turing machines, multitape and multihead Turing machines, random access machines, etc.) are delineated by restricting the functions E and T to be of certain very simple types. These definitions are standard [Hopcroft & Ullman (1969)] and will not be repeated here. It is by now commonplace to observe that many such classes are equivalent in their capability to recognize languages; for each such class of algorithms, the class of languages recognized is the class of recursive languages. This invariance under changes in definition is part of the evidence that recursiveness is the correct technical formulation of the concept of decidability.
The class of languages recognizable by string recognition algorithms which operate in polynomial time is also invariant under a wide range of changes in the class of algorithms. For example, any language recognizable in time p(·) by a multihead or multitape Turing machine is recognizable in time p^2(·) by a one-tape Turing machine. Thus the class of languages recognizable in polynomial time by one-tape Turing machines is the same as the class recognizable by the ostensibly more powerful multihead or multitape Turing machines. Similar remarks apply to random access machines.
Definition 1. P is the class of languages recognizable by one-tape Turing machines which operate in polynomial time.
Definition 2. Π is the class of functions from into defined by one-tape Turing machines which operate in polynomial time.
The reader will not go wrong by identifying P with the class of languages recognizable by digital computers (with unbounded backup storage) which operate in polynomial time and Π with the class of string mappings performed in polynomial time by such computers.
Remark. If f: is in Π then there is a polynomial p(·) such that .
We next introduce a concept of reducibility which is of central importance in this paper.
Definition 3. Let L and M be languages. Then L M (L is reducible to M) if there is a function f such that f(x) .
Lemma 1. If L M and M then L .
Proof. The following is a polynomial-time bounded algorithm to decide if x : compute f(x); then test in polynomial time whether f(x) .
We will be interested in the difficulty of recognizing subsets of countable domains other than . Given such a domain D, there is usually a natural one-one encoding . For example we can represent a positive integer by the string of 0's and 1's comprising its binary representation, a 1-dimensional integer array as a list of integers, a matrix as a list of 1-dimensional arrays, etc.; and there are standard techniques for encoding lists into strings over a finite alphabet, and strings over an arbitrary finite alphabet as strings of 0's and 1's. Given such an encoding , we say that a set is recognizable in polynomial time if . Also, given sets and , and encoding functions and we say if .
As a rule several natural encodings of a given domain are possible. For instance a graph can be represented by its adjacency matrix, by its incidence matrix, or by a list of unordered pairs of nodes, corresponding to the arcs. Given one of these representations, there remain a number of arbitrary decisions as to format and punctuation. Fortunately, it is almost always obvious that any two "reasonable" encodings and of a given problem are equivalent; i.e., . One important exception concerns the representation of positive integers; we stipulate that a positive integer is encoded in a binary, rather than unary, representation. In view of the invariance of recognizability in polynomial time and reducibility under reasonable encodings, we discuss problems in terms of their original domains, without specifying an encoding into .
We complete this section by listing a sampling of problems which are solvable in polynomial time. In the next section we examine a number of close relatives of these problems which are not known to be solvable in polynomial time. Appendix 1 establishes our notation.
Each problem is specified by giving (under the heading "INPUT") a generic element of its domain of definition and (under the heading "PROPERTY") the property which causes an input to be accepted.
SATISFIABILITY WITH AT MOST 2 LITERALS PER CLAUSE [Cook (1971)] INPUT: Clauses , each containing at most 2 literals PROPERTY: The conjunction of the given clauses is satisfiable; i.e., there is a set such that a) does not contain a complementary pair of literals and b) .
MINIMUM SPANNING TREE [Kruskal (1956)] INPUT: PROPERTY: There exists a spanning tree of weight .
SHORTEST PATH [Dijkstra (1959)] INPUT: G, w, W, s, t PROPERTY: There is a path between s and t of weight .
MINIMUM CUT [Edmonds & Karp (1972)] INPUT: G, w, W, s, t PROPERTY: There is an s,t cut of weight .
ARC COVER [Edmonds (1965)] INPUT: G, k PROPERTY: There is a set such that and every node is incident with an arc in Y.
ARC DELETION INPUT: G, k PROPERTY: There is a set of k arcs whose deletion breaks all cycles.
BIPARTITE MATCHING [Hall (1948)] INPUT: S PROPERTY: There are p elements of S, no two of which are equal in either component.
SEQUENCING WITH DEADLINES INPUT: , , k PROPERTY: Starting at time 0, one can execute jobs 1,2,...,n, with execution times and deadlines , in some order such that not more than k jobs miss their deadlines.
SOLVABILITY OF LINEAR EQUATIONS INPUT: PROPERTY: There exists a vector such that, for each i, .
3 NONDETERMINISTIC ALGORITHMS AND COOK'S THEOREM
In this section we state an important theorem due to Cook (1971) which asserts that any language in a certain wide class is reducible to a specific set S, which corresponds to the problem of deciding whether a boolean formula in conjunctive normal form is satisfiable.
Let denote the class of subsets of which are recognizable in polynomial time. Given and a polynomial p, we define a language L as follows:
.
We refer to L as the language derived from by p-bounded existential quantification.
Definition 4. NP is the set of languages derived from elements of by polynomial-bounded existential quantification.
There is an alternative characterization of NP in terms of nondeterministic Turing machines. A nondeterministic recognition algorithm A is specified by:
a countable set D (the domain) a finite alphabet such that an encoding function E: a transition relation such that, for every , the set has fewer than elements, where is a constant. A computation of A on input is a sequence such that , for all i, and, if the sequence is finite and ends with , then . A string which occurs in some computation is an instantaneous description. A finite computation ending in ACCEPT is an accepting computation. Input x is accepted if there is an accepting computation for x. If then A is a nondeterministic string recognition algorithm and we say that A operates in polynomial time if there is a polynomial such that, whenever A accepts x, there is an accepting computation for x of length .
A nondeterministic algorithm can be regarded as a process which, when confronted with a choice between (say) two alternatives, can create two copies of itself, and follow up the consequences of both courses of action. Repeated splitting may lead to an exponentially growing number of copies; the input is accepted if any sequence of choices leads to acceptance.
The nondeterministic 1-tape Turing machines, multitape Turing machines, random-access machines, etc. define classes of nondeterministic string recognition algorithms by restricting the encoding function E and transition relation to particularly simple forms. All these classes of algorithms, restricted to operate in polynomial time, define the same class of languages. Moreover, this class is NP.
Theorem 1. if and only if L is accepted by a nondeterministic Turing machine which operates in polynomial time.
Proof. Suppose . Then, for some and some polynomial p, L is obtained from by p-bounded existential quantification. We can construct a nondeterministic machine which first guesses the successive digits of a string y of length and then tests whether . Such a machine clearly recognizes L in polynomial time.
Suppose L is accepted by a nondeterministic Turing machine T which operates in time p. Assume without loss of generality that, for any instantaneous description Z, there are at most two instantaneous descriptions that may follow Z (i.e., at most two primitive transitions are applicable). Then the sequence of choices of instantaneous descriptions made by T in a given computation can be encoded as a string y of 0's and 1's, such that .
Thus we can construct a deterministic Turing machine T', with as its domain of inputs, which, on input , simulates the action of T on input x with the sequence of choices y. Clearly T' operates in polynomial time, and L is obtained by polynomial bounded existential quantification from the set of pairs of strings accepted by T'.
The class NP is very extensive. Loosely, a recognition problem is in NP if and only if it can be solved by a backtrack search of polynomial bounded depth. A wide range of important computational problems which are not known to be in P are obviously in NP. For example, consider the problem of determining whether the nodes of a graph G can be colored with k colors so that no two adjacent nodes have the same color. A nondeterministic algorithm can simply guess an assignment of colors to the nodes and then check (in polynomial time) whether all pairs of adjacent nodes have distinct colors.
In view of the wide extent of NP, the following theorem due to Cook is remarkable. We define the satisfiability problem as follows:
SATISFIABILITY INPUT: Clauses PROPERTY: The conjunction of the given clauses is satisfiable; i.e., there is a set such that a) S does not contain a complementary pair of literals and b)
Theorem 2 (Cook). If then
The theorem stated by Cook (1971) uses a weaker notion of reducibility than the one used here, but Cook's proof supports the present statement.
Corollary 1.
Proof. If SATISFIABILITY then, for each , since . If SATISFIABILITY , then, since clearly SATISFIABILITY .
Remark. If then is closed under complementation and polynomial-bounded existential quantification. Hence it is also closed under polynomial-bounded universal quantification. It follows that a polynomial-bounded analogue of Kleene's Arithmetic Hierarchy [Rogers (1967)] becomes trivial if .
Theorem 2 shows that, if there were a polynomial-time algorithm to decide membership in SATISFIABILITY then every problem solvable by a polynomial-depth backtrack search would also be solvable by a polynomial-time algorithm. This is strong circumstantial evidence that SATISFIABILITY .
4 COMPLETE PROBLEMS
The main object of this paper is to establish that a large number of important computational problems can play the role of SATISFIABILITY in Cook's theorem. Such problems will be called complete.
Definition 5. The language is (polynomial) complete if {#karp-1972-reducibility-def-5 .statement tag=050A} a) and b) SATISFIABILITY .
Theorem 3. Either all complete languages are in , or none of them are. The former alternative holds if and only if .
We can extend the concept of completeness to problems defined over countable domains other than .
Definition 6. Let be a countable domain, e a "standard" one-one encoding and T a subset of D. Then T is complete if and only if is complete.
Lemma 2. Let D and D' be countable domains, with one-one encoding functions e and e'. Let and . Then if there is a function such that {#karp-1972-reducibility-lem-2 .statement tag=050D} a) and b) there is a function such that whenever is defined.
The rest of the paper is mainly devoted to the proof of the following theorem.
Main Theorem. All the problems on the following list are complete.
- SATISFIABILITY
COMMENT: By duality, this problem is equivalent to determining whether a disjunctive normal form expression is a tautology.
- 0-1 INTEGER PROGRAMMING
INPUT: integer matrix C and integer vector d PROPERTY: There exists a 0-1 vector x such that Cx = d.
- CLIQUE
INPUT: graph G, positive integer k PROPERTY: G has a set of k mutually adjacent nodes.
- SET PACKING
INPUT: Family of sets {S_j}, positive integer PROPERTY: contains mutually disjoint sets.
5 NODE COVER
INPUT: graph G', positive integer PROPERTY: There is a set such that and every arc is incident with some node in R.
6 SET COVERING
INPUT: finite family of finite sets , positive integer k PROPERTY: There is a subfamily containing sets such that .
7 FEEDBACK NODE SET
INPUT: digraph H, positive integer k PROPERTY: There is a set such that every (directed) cycle of H contains a node in R.
8 FEEDBACK ARC SET
INPUT: digraph H, positive integer k PROPERTY: There is a set such that every (directed) cycle of H contains an arc in S.
9 DIRECTED HAMILTON CIRCUIT
INPUT: digraph H PROPERTY: H has a directed cycle which includes each node exactly once.
10 UNDIRECTED HAMILTON CIRCUIT
INPUT: graph G PROPERTY: G has a cycle which includes each node exactly once.
11 SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE
INPUT: Clauses D₁,D₂,...,Dₖ, each consisting of at most 3 literals from the set {u₁,u₂,...,uₘ} ∪ {ū₁,ū₂,...,ūₘ} PROPERTY: The set {D₁,D₂,...,Dₖ} is satisfiable.
12 CHROMATIC NUMBER
INPUT: graph G, positive integer k PROPERTY: There is a function φ: N → Zₖ such that, if u and v are adjacent, then φ(u) ≠ φ(v).
13 CLIQUE COVER
INPUT: graph G', positive integer ℓ PROPERTY: N' is the union of ℓ or fewer cliques.
14 EXACT COVER
INPUT: family {Sⱼ} of subsets of a set {uᵢ, i = 1,2,...,t} PROPERTY: There is a subfamily {Tⱼ} ⊆ {Sⱼ} such that the sets Tⱼ are disjoint and .
15 HITTING SET
INPUT: family {Uᵢ} of subsets of {sⱼ, j = 1,2,...,r} PROPERTY: There is a set W such that, for each i, .
16 STEINER TREE
INPUT: graph G, R ⊆ N, weighting function w: A → Z, positive integer k PROPERTY: G has a subtree of weight ≤ k containing the set of nodes in R.
17 3-DIMENSIONAL MATCHING
INPUT: set U ⊆ T × T × T, where T is a finite set PROPERTY: There is a set W ⊆ U such that |W| = |T| and no two elements of W agree in any coordinate.
18 KNAPSACK
INPUT: (a₁,a₂,...,aᵣ,b) ∈ Z^{n+1} PROPERTY: has a 0-1 solution.
19 JOB SEQUENCING
INPUT: "execution time vector" (T₁,...,Tₚ) ∈ Z^P, "deadline vector" (D₁,...,Dₚ) ∈ Z^P "penalty vector" (P₁,...,Pₚ) ∈ Z^P positive integer k PROPERTY: There is a permutation π of {1,2,...,p} such that
Figure.
FIGURE 1 - Complete Problems
20 PARTITION
INPUT: PROPERTY: There is a set such that
21 MAX CUT
INPUT: graph , weighting function , positive integer PROPERTY: There is a set such that
It is clear that these problems (or, more precisely, their encodings into ), are all in . We proceed to give a series of explicit reductions, showing that SATISFIABILITY is reducible to each of the problems listed. Figure 1 shows the structure of the set of reductions. Each line in the figure indicates a reduction of the upper problem to the lower one.
To exhibit a reduction of a set to a set , we specify a function which satisfies the conditions of Lemma 2. In each case, the reader should have little difficulty in verifying that does satisfy these conditions.
SATISFIABILITY 0-1 INTEGER PROGRAMMING
SATISFIABILITY CLIQUE
CLIQUE SET PACKING
Assume . The elements of the sets are those two-element sets of nodes not in .
CLIQUE NODE COVER
is the complement of .
NODE COVER SET COVERING
Assume . The elements are the arcs of . is the set of arcs incident with node . .
NODE COVER FEEDBACK NODE SET
NODE COVER FEEDBACK ARC SET
.
NODE COVER DIRECTED HAMILTON CIRCUIT
Without loss of generality assume . .
DIRECTED HAMILTON CIRCUIT UNDIRECTED HAMILTON CIRCUIT
SATISFIABILITY SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE
Replace a clause , where the are literals and , by
where is a new variable. Repeat this transformation until no clause has more than three literals.
SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE CHROMATIC NUMBER
Assume without loss of generality that .
k = r + 1
CHROMATIC NUMBER CLIQUE COVER
G' is the complement of G .
CHROMATIC NUMBER EXACT COVER
The set of elements is
The sets are the following: for each , and each ,
for each and each pair such that
where and are the two nodes incident with .
EXACT COVER HITTING SET
The hitting set problem has sets and elements , such that .
EXACT COVER STEINER TREE
EXACT COVER 3-DIMENSIONAL MATCHING
Without loss of generality assume for each . Let . Let be an arbitrary one-one function from into T. Let be a permutation such that, for each fixed j, is a cycle of .
EXACT COVER KNAPSACK
Let . Let . Let
KNAPSACK SEQUENCING
KNAPSACK PARTITION
PARTITION MAX CUT
Some of the reductions exhibited here did not originate with the present writer. Cook (1971) showed that SATISFIABILITY SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE. The reduction
SATISFIABILITY CLIQUE is implicit in Cook (1970), and was also known to Raymond Reiter. The reduction
NODE COVER FEEDBACK NODE SET was found by the Algorithms Seminar at the Cornell University Computer Science Department. The reduction
NODE COVER FEEDBACK ARC SET was found by Lawler and the writer, and Lawler discovered the reduction
EXACT COVER 3-DIMENSIONAL MATCHING
The writer discovered that the exact cover problem was reducible to the directed traveling-salesman problem on a digraph in which the arcs have weight zero or one. Using refinements of the technique used in this construction, Tarjan showed that
EXACT COVER DIRECTED HAMILTON CIRCUIT and, independently, Lawler showed that
NODE COVER DIRECTED HAMILTON CIRCUIT .
The reduction
DIRECTED HAMILTON CIRCUIT UNDIRECTED HAMILTON CIRCUIT was pointed out by Tarjan.
Below we list three problems in automata theory and language theory to which every complete problem is reducible. These problems are not known to be complete, since their membership in is presently in doubt. The reader unacquainted with automata and language theory can find the necessary definitions in Hopcroft and Ullman (1969).
EQUIVALENCE OF REGULAR EXPRESSIONS INPUT: A pair of regular expressions over the alphabet PROPERTY: The two expressions define the same language.
EQUIVALENCE OF NONDETERMINISTIC FINITE AUTOMATA INPUT: A pair of nondeterministic finite automata with input alphabet PROPERTY: The two automata define the same language.
CONTEXT-SENSITIVE RECOGNITION INPUT: A context-sensitive grammar and a string PROPERTY: is in the language generated by .
First we show that
SATISFIABILITY WITH AT MOST 3 LITERALS PER CLAUSE EQUIVALENCE OF REGULAR EXPRESSIONS .
The reduction is made in two stages. In the first stage we construct a pair of regular expressions over an alphabet . We then convert these regular expressions to regular expressions over .
The first regular expression is (more exactly, is written out as , and represents n copies of the expression for concatenated together). The second regular expression is
where
Now let m be the least positive integer , and let be a 1-1 function from into . Replace each regular expression by a regular expression over , by making the substitution for each occurrence of each element of .
EQUIVALENCE OF REGULAR EXPRESSIONS EQUIVALENCE OF NONDETERMINISTIC FINITE AUTOMATA
There are standard polynomial-time algorithms [Salomaa (1969)] to convert a regular expression to an equivalent nondeterministic automaton. Finally, we show that, for any ,
Suppose is recognized in time by a nondeterministic Turing machine. Then the following language over the alphabet is accepted by a nondeterministic linear bounded automaton which simulates the Turing machine:
Hence is context-sensitive and has a context-sensitive grammar . Thus iff
is an acceptable input to CONTEXT-SENSITIVE RECOGNITION.
We conclude by listing the following important problems in which are not known to be complete.
GRAPH ISOMORPHISM INPUT: graphs and PROPERTY: is isomorphic to .
NONPRIMES INPUT: positive integer PROPERTY: is composite.
LINEAR INEQUALITIES INPUT: integer matrix , integer vector PROPERTY: has a rational solution.
Appendix I
Notation and Terminology Used in Problem Specification
PROPOSITIONAL CALCULUS
propositional variables complements of propositional variables literals clauses
A clause contains no complementary pair of literals.
SCALARS, VECTORS, MATRICES
GRAPHS AND DIGRAPHS
The weight of a subgraph is the sum of the weights of its arcs.
SETS