Documentation

CslibFrontier.Computability.Complexity.Problems.SAT.Incidence

The finite incidence graph of a CNF formula #

Variables receive consecutive names in first-occurrence order. Clause names follow the variable names, with one vertex for each clause position, including repeated and empty clauses. Edges are in literal-occurrence order. Repeated literals therefore give repeated edge records; their incidences remain distinct when drawing routes or bounding degrees.

The representation is the existing binary-encoded Cslib.Complexity.Graph, rather than a new graph type. Natural source variable labels are compared as binary strings and never determine the number of vertices.

Main definitions #

Main results #

References #

This finite-list incidence presentation and its native computation proof are original.

The finite incidence graph, with one edge record for every literal occurrence.

Instances For

    There is one vertex per distinct variable and per clause position.

    Every literal occurrence gives exactly one edge record.

    The edge records join the variable and clause parts of the declared vertex interval.

    Every edge endpoint occurs in the list of declared vertices.

    The variable and clause name intervals are disjoint, so incidence edges are not loops.