Documentation

DescriptiveComplexity.Problems.ThreeDimMatching.Defs

3-dimensional matching: definition #

3-DIMENSIONAL MATCHING (Karp 1972): given three marked classes and a set of triples, one element from each class, is there a set of triples covering every marked element exactly once?

The vocabulary FirstOrder.Language.tripleSys carries three unary marks xEl, yEl, zEl and one ternary relation trip. A yes-instance is one admitting a matching (DescriptiveComplexity.IsMatchingOn): a sub-relation of trip, inside the three classes, that covers each marked element exactly once. Nothing asks the three classes to be disjoint or to exhaust the universe: elements outside them ride along, and the reduction of DescriptiveComplexity.Problems.ThreeDimMatching.Hardness produces disjoint ones anyway.

Perfect matchings force the three classes to have the same size, which is why the problem is the tripartite form of Exact Cover with sets of size three, and why it is the natural source of the exact-cover family.

@[reducible, inline]

yEl a: a belongs to the second class.

Equations
Instances For
    Dependency graph
    Dependency graph
    @[reducible, inline]

    xEl a: a belongs to the first class.

    Equations
    Instances For
      Dependency graph
      @[reducible, inline]

      trip a b c: (a, b, c) is one of the available triples.

      Equations
      Instances For
        Dependency graph
        def FirstOrder.Language.instDecidableEqTripleSysRel.decEq {a✝ : } (x✝ x✝¹ : tripleSysRel a✝) :
        Decidable (x✝ = x✝¹)
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Dependency graph

          The relation symbols of the language.

          Instances For
            Dependency graph
            @[reducible, inline]

            zEl a: a belongs to the third class.

            Equations
            Instances For
              Dependency graph
              Dependency graph

              The relational language of triple systems: three marked classes and a ternary relation.

              Equations
              Instances For
                Dependency graph

                The shorthands of the vocabulary #

                Dependency graph
                Dependency graph
                Dependency graph

                trip a b c: (a, b, c) is one of the available triples.

                Equations
                Instances For
                  Dependency graph

                  Matchings #

                  def DescriptiveComplexity.IsMatchingOn {A : Type} (X Y Z : AProp) (T M : AAAProp) :

                  A matching: a set of triples, taken from T and lying in the three classes, covering every marked element exactly once.

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

                    The problem #

                    A triple system is a yes-instance when some subset of its triples covers each marked element exactly once.

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

                      3-DIMENSIONAL MATCHING, as a problem on triple systems: do some of the triples cover every marked element exactly once?

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