Documentation

DescriptiveComplexity.Problems.Wide.TilingHard.Emit

The tile system a machine is drawn as, and its grid #

The instance the hardness reduction emits, read semantically: a FirstOrder.Language.wtile-structure on the tagged triples DescriptiveComplexity.TilePt, with the tiles of DescriptiveComplexity.Problems.Wide.TilingHard.Tiles and an order whose digits come last.

That last point is what makes the grid the right size. A coordinate of DescriptiveComplexity.WideTiling is an address holding digits alone, so the square is indexed by the subsets of the diagonal – one per subset of the machine's own instance, which is exactly one per tape address and one per time step. The other points of the emitted universe are tiles, and they are ordered below every digit, so they never enter a coordinate and never disturb the binary-number order the coordinates are compared by: two coordinates differ at a digit, and there the emitted order is the machine's own.

The order on the emitted universe #

Dependency graph

The order the emitted instance carries: the points that are not digits first, in the lexicographic order of their tag and their triple, then the digits in the machine's own order.

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

    The lexicographic order on the emitted universe is linear – Mathlib's, read through DescriptiveComplexity.tagTupleLe_iff_le.

    Dependency graph
    theorem DescriptiveComplexity.TilingHard.eq_of_tpDig {A : Type} {p q : TilePt A} (hp : TPDig p) (hq : TPDig q) (h : p.2 0 = q.2 0) :
    p = q

    A digit is determined by the element it is the digit of.

    Dependency graph

    The emitted order is linear, given that the machine's is: the digits carry the machine's order, and everything else the lexicographic one.

    Dependency graph

    Between two digits the emitted order is the machine's.

    Dependency graph

    The structure the reduction emits #

    @[instance_reducible]

    The tile system a wide machine is drawn as: the tiles of DescriptiveComplexity.Problems.Wide.TilingHard.Tiles on the tagged triples, with the digits last in the order. This is the instance the hardness reductions emit, read semantically – the formulas that write it down come later, and are checked against exactly this.

    The bottom row is a parameter, because it is the one thing the two machines this drawing serves describe differently: the clocked machine's tape is a register file and the space-bounded machine's the ruler of all the segments. Everything else – the tiles, the two compatibilities, the edges and the corner – is the same drawing.

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

      The drawing of the clocked machine: the tile system above with the register file for its bottom row.

      Equations
      Instances For
        Dependency graph
        @[instance_reducible]

        The drawing of the space-bounded machine: the same tile system with the ruler of all the segments for its bottom row.

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