Documentation

DescriptiveComplexity.Exponential.GamePhase

The sentences a phased game is made of #

Every game this development builds over a tag-extended block – DescriptiveComplexity.SOGameSpec.exBlock in DescriptiveComplexity.Exponential.GameSO, and the graph game that carries DescriptiveComplexity.EXPTIME to SO-GAME – says the same three things and nothing else:

Exponential.GameSO proves these for its own block; here they are stated once for an arbitrary block and an arbitrary finite tag type, which is what the graph game needs, its states being the nodes of DescriptiveComplexity.ExpExpansion.nodeBlock – a merged tuple of rounds rather than a DescriptiveComplexity.SOBlock.cons.

The phase of a state #

The state is a well-formed one carrying the tag p.

Equations
Instances For
    Dependency graph

    The tag bit of p in the second copy of a move.

    Equations
    Instances For
      Dependency graph

      The second copy of a move carries exactly the tag p: its bit is set and no other is. This is what keeps a junk state out of play.

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

        Freezing part of a state #

        @[reducible, inline]

        The variable i of the block, in the first copy of a move.

        Equations
        Instances For
          Dependency graph
          @[reducible, inline]

          The variable i of the block, in the second copy of a move.

          Equations
          Instances For
            Dependency graph

            The variable i is unchanged by the move.

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

              The listed variables are unchanged by the move.

              Equations
              Instances For
                Dependency graph

                What they say #

                theorem DescriptiveComplexity.realize_atTagF {L : FirstOrder.Language} {C : SOBlock} {T : Type} [Finite T] {A : Type} [instL : L.Structure A] [LinearOrder A] (p q : T) (ν : C.Assignment A) :
                A atTagF L C T p p = q
                Dependency graph
                theorem DescriptiveComplexity.realize_tagTwoF' {L : FirstOrder.Language} {C : SOBlock} {T : Type} [Finite T] {A : Type} [instL : L.Structure A] [LinearOrder A] (p : T) (σ τ : (C.withTag T).Assignment A) (x : Fin ((C.withTag T).arity (Sum.inl p))A) :
                A tagTwoF L C T p τ (Sum.inl p) x
                Dependency graph
                theorem DescriptiveComplexity.realize_tagTwoF {L : FirstOrder.Language} {C : SOBlock} {T : Type} [Finite T] {A : Type} [instL : L.Structure A] [LinearOrder A] (p q : T) (σ : (C.withTag T).Assignment A) (ν : C.Assignment A) :
                A tagTwoF L C T p p = q
                Dependency graph
                theorem DescriptiveComplexity.realize_atTagTwoF {L : FirstOrder.Language} {C : SOBlock} {T : Type} [Finite T] {A : Type} [instL : L.Structure A] [LinearOrder A] (p q : T) (σ : (C.withTag T).Assignment A) (ν : C.Assignment A) :
                A atTagTwoF L C T p p = q
                Dependency graph
                theorem DescriptiveComplexity.exists_tagAssign_two {L : FirstOrder.Language} {C : SOBlock} {T : Type} [Finite T] {A : Type} [instL : L.Structure A] [LinearOrder A] (p : T) (σ τ : (C.withTag T).Assignment A) (h : A atTagTwoF L C T p) :

                The guarded phase of the second copy pins its shape.

                Dependency graph