Documentation

DescriptiveComplexity.Problems.Wide.DrawAdvKit

The advance kit: one round of a sweep #

The kit wrapping DescriptiveComplexity.Draw.Prog.reaches_fileAdvance – the round every sweep of the EXPSPACE program repeats: erase the working-cell marker and step right, write it at the next address and step on, scan up to the file top, bounce, run the mirror increment down the file, scan back to the marker.

The first of those steps is fired from the caller's phase – the phase that decided to advance – so it is a hypothesis of the discharge, not a kit rule (rules are owned by their source phase). Everything after it is the kit's: the marker write is the single rule of a dedicated phase (guard ⊤, the phase is only ever entered on the fresh marker cell), and the increment and return rules are the ones the third hardening shaped, with the landing phase's single rg = one ∨ wk ≠ one rule serving hold, walk and return.

The advance's shapes #

The phases of an advance: past the erased marker, scanning up, bounced, carrying, and landed.

  • a1 : AdvPh

    On the fresh marker cell, about to write it.

  • a2 : AdvPh

    Scanning up to the file top.

  • a2b : AdvPh

    Bounced off the top, about to re-enter rightwards.

  • a3 : AdvPh

    Running the increment: clearing set digits.

  • a4 : AdvPh

    The increment landed: walking home.

Instances For
    Dependency graph
    Dependency graph
    Dependency graph

    The rule families of an advance.

    • put1 : AdvRule

      Write the marker at the fresh cell, stepping on.

    • up : AdvRule

      Scan right while the file-top mark is clear.

    • b1 : AdvRule

      At the file top: step left into the bounce phase.

    • b2go : AdvRule

      Bounce: step back right into the increment.

    • clear : AdvRule

      At a register with a set digit: clear it, carry on.

    • set : AdvRule

      At a register with a clear digit: set it, land.

    • walk : AdvRule

      Walk left over unmarked cells while carrying.

    • stay : AdvRule

      Hold at registers, walk and return, once landed.

    Instances For
      Dependency graph
      Dependency graph
      Dependency graph

      An advance kit: the walked mirror track, the service slots, and the phases.

      • t : W

        The walked mirror track.

      • rg : W

        The register mark.

      • rl : W

        The file-top mark.

      • wk : W

        The working-cell marker slot.

      • emb : AdvPh → P

        The kit's phases in the program.

      Instances For
        Dependency graph
        def DescriptiveComplexity.Draw.AdvKit.rule {A Q W P : Type} [DecidableEq W] (κ : AdvKit A Q W P) (zero one : A) :
        AdvRule → Rule A Q W P

        The kit's rules.

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

          The discharge #