Documentation

DescriptiveComplexity.Problems.ThreeColorability.CountDraw

#3-Colorability is one-call #P-complete #

The gadget graph of DescriptiveComplexity.Problems.ThreeColorability.CountGadget, drawn over the ordered expansion of a CNF formula (DescriptiveComplexity.SatToColCount.drawInterp): its universe is the set of vertices of the gadget graph (DescriptiveComplexity.SatToColCount.drawEquiv), its edges those of the gadget graph read in both directions. The number of proper 3-colorings is 6 · 8 ^ g times the number of models, g the number of non-first occurrences, a definable cardinality: one division recovers #SAT (DescriptiveComplexity.sharpSat_oneCall_sharpThreeCol).

Tags #

The tags of the drawing.

  • pal (p : Pal) : CTag

    A palette vertex, at the pair of least elements.

  • lit (s : Bool) : CTag

    The literal of sign s of a variable x, at (x, x).

  • gate (s b : Bool) : CTag

    The Boolean vertex of polarity b of the gate of the occurrence of sign s of x in c, at (c, x).

  • spoil : CTag

    The spoiler of an empty clause c, at (c, c).

  • tri (s : Bool) (j r : Fin 3) : CTag

    The vertex r of the triangle j of the gate of the occurrence of sign s of x in c, at (c, x).

Instances For
    Dependency graph
    Dependency graph
    Equations
    Instances For
      Dependency graph
      Dependency graph
      Dependency graph
      Dependency graph

      Points #

      Dependency graph

      The least element.

      Equations
      Instances For
        Dependency graph
        Dependency graph

        The formulas #

        x is a variable of the formula.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Dependency graph
          Dependency graph
          Dependency graph

          What a triangle vertex is attached to.

          • z : OKind

            The gate output.

          • negP : OKind

            The negated predecessor.

          • negL : OKind

            The negated literal.

          • palF : OKind

            The palette F.

          Instances For
            Dependency graph

            What the vertex r of the triangle j of a gate is attached to.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Dependency graph

              The point of tag t' at (1, ·) is what a triangle vertex of the gate of sign s at (0, ·) is attached to, of kind k.

              Equations
              Instances For
                Dependency graph
                Dependency graph

                Realization #

                Dependency graph
                Dependency graph
                theorem DescriptiveComplexity.SatToColCount.prefixBv_eq_gate {A : Type} [FirstOrder.Language.sat.Structure A] [LinearOrder A] {c x : A} {s : Bool} (h : SatOcc.OccIn c x s) {c' x' : A} {s' : Bool} (h' : SatOcc.Chained c' x' s') (b : Bool) :
                prefixBv h = (Sum.inr ⟨(c', x', s'), h'⟩, b) ↔ ¬SatOcc.MinOcc c x s ∧ (c, x, s) = (c', x', s') ∧ b = true
                Dependency graph

                The drawing #

                Exchanging the two points of an edge formula.

                Equations
                Instances For
                  Dependency graph

                  The drawing of the gadget graph: the edges in both directions.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    Dependency graph

                    The number of proper 3-colorings of the drawing is that of the gadget graph.

                    Dependency graph

                    The reduction #

                    The number of gates, as a polynomial term: the non-first occurrences of either sign.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      Dependency graph

                      The gates of one sign.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Dependency graph

                        The gates, by sign.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Dependency graph
                          Dependency graph

                          #SAT reduces to #3-Colorability with one call: the count of the drawing is divided by 6 · 8 ^ g, g the number of non-first occurrences.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Dependency graph
                            Dependency graph