Documentation

DescriptiveComplexity.Relativized

Relativized first-order interpretations (definable target universes) #

An DescriptiveComplexity.FOInterpretation fixes the target universe to all of Tag × A^dim. That is convenient for subset-style problems – a yes-witness lives on part of the universe and junk elements sit isolated and unused – but it cannot target a spanning problem such as HAMILTON CIRCUIT, where a yes-witness (a tour) must visit every universe element: junk points with no valid incident edges make every interpreted instance a no-instance.

The textbook remedy (Immerman 1999) is a domain formula: the target universe is a definable subset of Tag × A^dim. This file adds it as a layer on top of FOInterpretation, so that no existing interpretation, reduction or problem file changes:

This is the hardness-side machinery of relativized reductions; it is what a hardness proof for a spanning problem needs. Membership closure under relativized reductions is deferred, and not needed when membership is a direct second-order sentence.

A relativized tagged first-order interpretation: an ordinary interpretation together with, for each tag, a domain formula on the dim coordinates. The target universe is cut down to the tagged tuples whose coordinates satisfy their tag's domain formula.

Instances For
    Dependency graph

    The universe of the relativized interpretation in A: the tagged tuples whose coordinates satisfy their tag's domain formula. A subtype (not a def of a product) so that the definable restriction is real; the L'-structure on it reads its relations through Subtype.val, exactly as FOInterpretation.Map does.

    Equations
    Instances For
      Dependency graph
      @[instance_reducible]

      The L'-structure interpreted on the definable subset.

      Equations
      • One or more equations did not get rendered due to their size.
      Dependency graph
      theorem DescriptiveComplexity.RelFOInterpretation.relMap_mapRel {L L' : FirstOrder.Language} {Tag : Type} {dim : } (I : RelFOInterpretation L L' Tag dim) (A : Type) [L.Structure A] [L'.IsRelational] {n : } (R : L'.Relations n) (xs : Fin nI.MapRel A) :
      FirstOrder.Language.Structure.RelMap R xs (I.relFormula R fun (i : Fin n) => (↑(xs i)).1).Realize fun (p : Fin n × Fin dim) => (↑(xs p.1)).2 p.2
      Dependency graph

      The relativized universe of a finite structure over finite tags is finite.

      Dependency graph

      Functoriality on isomorphisms #

      def DescriptiveComplexity.RelFOInterpretation.mapRelLEquiv {L L' : FirstOrder.Language} {Tag : Type} {dim : } [L'.IsRelational] (I : RelFOInterpretation L L' Tag dim) {M N : Type} [L.Structure M] [L.Structure N] (e : L.Equiv M N) :
      L'.Equiv (I.MapRel M) (I.MapRel N)

      Relativized interpretations are functorial on L-isomorphisms: the domain formula is an L-formula, so its truth transports, and the induced map of subtypes is an L'-isomorphism.

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

        The whole-universe case is an ordinary interpretation #

        Any interpretation is a relativized one whose domain formula is : the target universe is all of Tag × A^dim, as before.

        Equations
        • I.toRel = { toFOInterpretation := I, domFormula := fun (x : Tag) => }
        Instances For
          Dependency graph
          def DescriptiveComplexity.FOInterpretation.toRelLEquiv {L L' : FirstOrder.Language} {Tag : Type} {dim : } [L'.IsRelational] (I : FOInterpretation L L' Tag dim) (A : Type) [L.Structure A] :
          L'.Equiv (I.Map A) (I.toRel.MapRel A)

          The transparency of the domain: the relativized universe of I.toRel is L'-isomorphic to the ordinary universe of I. (Not a definitional equality – a subtype over is not the product on the nose.)

          Equations
          • I.toRelLEquiv A = { toFun := fun (a : I.Map A) => a, , invFun := fun (x : I.toRel.MapRel A) => x, left_inv := , right_inv := , map_fun' := , map_rel' := }
          Instances For
            Dependency graph

            Relativized ordered reductions #

            An ordered first-order reduction through a relativized interpretation: like DescriptiveComplexity.OrderedFOReduction, but the target universe is the definable subset carved out by the domain formula. The Nonempty Tag field of the ordinary reduction is replaced by dom_nonempty, since a definable domain may be empty even when the tags and the input are not.

            Instances For
              Dependency graph

              An ordered first-order reduction through a relativized interpretation: like DescriptiveComplexity.OrderedFOReduction, but the target universe is the definable subset carved out by the domain formula. The Nonempty Tag field of the ordinary reduction is replaced by dom_nonempty, since a definable domain may be empty even when the tags and the input are not.

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

                The relativized universe of the output of a reduction is nonempty on nonempty finite ordered inputs.

                Dependency graph

                An ordinary ordered FO reduction is a relativized one with domain: the correctness is transported across DescriptiveComplexity.FOInterpretation.toRelLEquiv, and the domain is inhabited by any tag and any constant tuple.

                Equations
                Instances For
                  Dependency graph

                  A relativized reduction can be transported along an agreement of the source problems on finite structures.

                  Equations
                  Instances For
                    Dependency graph