Documentation

DescriptiveComplexity.Problems.CycleCover.Drawing

The drawing of the reduction of #1-in-SAT to #Cycle Cover #

DescriptiveComplexity.SatCover.drawInterp draws, over the ordered expansion of a CNF formula, the ladder expansion of the base graph with Valiant's gadgets attached: its universe is in bijection with the nodes and the rungs of the ladder graph (DescriptiveComplexity.SatCover.drawEquiv), its arcs are the ladder edges (DescriptiveComplexity.SatCover.drawArc_iff), plus one isolated node with a self-loop so that the universe is never empty.

The number of cycle covers of the drawn digraph is then the permanent of the ladder expansion, and the number of exactly-one models is read off it by a remainder modulo 2 ^ L + 1, L the number of levels, and a quotient by 4 to the number of occurrences, both definable cardinalities (DescriptiveComplexity.sharpOneInSat_oneCall_sharpCycleCover).

The two definable cardinalities #

The occurrences, as a relativized interpretation into the empty vocabulary.

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

    The universe of the interpretation of the occurrences is the occurrences.

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

      There are at least three levels per occurrence.

      Dependency graph

      The drawing #

      @[reducible, inline]

      The tags of the drawing: the nodes and the rungs of the ladder graph, and one extra node.

      Equations
      Instances For
        Dependency graph

        Coordinates 2 to 5 pinned to coordinate 0.

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

          The domain of each tag: the nodes, pinned; the rungs, a node, a node, a level and an index below the width; the extra node, all coordinates the least element.

          Equations
          Instances For
            Dependency graph

            The arcs: the ladder edges, and the self-loop of the extra node.

            Equations
            Instances For
              Dependency graph

              The drawing: the ladder expansion of the attached graph, with an extra node.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Dependency graph
                theorem DescriptiveComplexity.SatCover.realize_drawDomF_base {A : Type} [FirstOrder.Language.sat.Structure A] [LinearOrder A] {t : VTag} {w : Fin 6 → A} :
                (drawDomF (Sum.inl (Sum.inl t))).Realize w ↔ VDom t (w 0) (w 1) ∧ w 2 = w 0 ∧ w 3 = w 0 ∧ w 4 = w 0 ∧ w 5 = w 0
                Dependency graph
                theorem DescriptiveComplexity.SatCover.realize_drawDomF_extra {A : Type} [FirstOrder.Language.sat.Structure A] [LinearOrder A] {w : Fin 6 → A} :
                (drawDomF (Sum.inr ())).Realize w ↔ (∀ (y : A), w 0 ≤ y) ∧ w 1 = w 0 ∧ w 2 = w 0 ∧ w 3 = w 0 ∧ w 4 = w 0 ∧ w 5 = w 0
                Dependency graph
                Dependency graph

                A pair is a rung: two nodes, a level, and the index below the width.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  Dependency graph
                  Dependency graph
                  def DescriptiveComplexity.SatCover.pin {A : Type} (p : A × A) :
                  Fin 6 → A

                  The pair of a node, pinned into a 6-tuple.

                  Equations
                  Instances For
                    Dependency graph

                    The tuple of a rung.

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

                      The least element.

                      Equations
                      Instances For
                        Dependency graph

                        The universe of the drawing: the nodes and the rungs of the ladder graph, and the extra node.

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

                          The arcs #

                          Dependency graph

                          The arcs of the drawing are the edges of the ladder graph, and the self-loop of the extra node.

                          Dependency graph