Implication graph

Directed graph representing a Boolean expression
title: "Implication graph" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["boolean-algebra", "application-specific-graphs", "directed-graphs", "graph-families"] description: "Directed graph representing a Boolean expression" topic_path: "general/boolean-algebra" source: "https://en.wikipedia.org/wiki/Implication_graph" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Directed graph representing a Boolean expression ::
::figure[src="https://upload.wikimedia.org/wikipedia/commons/2/2f/Implication_graph.svg" caption="[[2-satisfiability]]}} instance \scriptscriptstyle (x_0\lor x_2)\land(x_0\lor\lnot x_3)\land(x_1\lor\lnot x_3)\land(x_1\lor\lnot x_4)\land(x_2\lor\lnot x_4)\land{}\atop\quad\scriptscriptstyle(x_0\lor\lnot x_5)\land (x_1\lor\lnot x_5)\land (x_2\lor\lnot x_5)\land (x_3\lor x_6)\land (x_4\lor x_6)\land (x_5\lor x_6)."] ::
In mathematical logic and graph theory, an implication graph is a skew-symmetric, directed graph composed of vertex set V and directed edge set E. Each vertex in V represents the truth status of a Boolean literal, and each directed edge from vertex u to vertex v represents the material implication "If the literal u is true then the literal v is also true". Implication graphs were originally used for analyzing complex Boolean expressions.
Applications
A 2-satisfiability instance in conjunctive normal form can be transformed into an implication graph by replacing each of its disjunctions by a pair of implications. For example, the statement (x_0\lor x_1) can be rewritten as the pair (\neg x_0 \rightarrow x_1), (\neg x_1 \rightarrow x_0). An instance is satisfiable if and only if no literal and its negation belong to the same strongly connected component of its implication graph; this characterization can be used to solve 2-satisfiability instances in linear time.
In CDCL SAT-solvers, unit propagation can be naturally associated with an implication graph that captures all possible ways of deriving all implied literals from decision literals, which is then used for clause learning.
References
References
- (1979). "A linear-time algorithm for testing the truth of certain quantified boolean formulas". Information Processing Letters.
- (2003). "Understanding the Power of Clause Learning".
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::