Langlib

Langlib.Automata.LinearBounded.CertifiedRowSystem.Complement.Construction

Certified-row complement protocol construction #

This module implements the synchronous scanners and row actions of the inductive-counting complement protocol.

Boot action #

State of the first, initialization scan.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      noncomputable def CertifiedRowSystem.Complement.bootLocalOK {A : Type u_1} [Fintype A] [Nonempty A] [DecidableEq A] (old new : ProtocolCell A) :

      Cell-local conditions of the boot transition, apart from the LSD-first one check on the new oldCount track.

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

        One cell of the initialization scan. The certificate must request boot in every cell; OneState.first makes the first count digit one and every later digit zero.

        Equations
        Instances For

          Run only the boot verifier across aligned rows.

          Equations
          Instances For
            theorem CertifiedRowSystem.Complement.evalBoot_eq_evalStep {A : Type u_1} [Fintype A] [Nonempty A] [DecidableEq A] (q : BootVerifier) (old new : ProtocolRow A) (actions : List ProtocolAction) :
            evalBoot q old new actions = { inputCell := fun (cell : ProtocolCell A) => cell, stepStart := BootVerifier.start, stepCell := bootStepCell, stepDone := bootDone, finalStart := true, finalCell := fun (ok : Bool) (x : ProtocolCell A) => ok, finalDone := id }.evalStep q old new actions

            evalBoot is the ordinary certified-row evaluator for bootStepCell.

            noncomputable def CertifiedRowSystem.Complement.bootSystem {I : Type u_1} {A : Type u_2} [Fintype A] [Nonempty A] [DecidableEq A] (sourceCell : IA) :

            A certified row system exposing the initialization action. It is also the prefix of the complete protocol system: subsequent actions extend BootVerifier with the counting scanners while leaving this transition unchanged.

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

              Integrated protocol system #

              inductive CertifiedRowSystem.Complement.ProtocolVerifier (Q : Type u_1) (F : Type u_2) :
              Type (max u_1 u_2)

              Finite verifier state of the complete protocol. The outer constructor records which small synchronous scanner was selected by the repeated action certificate.

              Instances For
                def CertifiedRowSystem.Complement.instDecidableEqProtocolVerifier.decEq {Q✝ : Type u_1} {F✝ : Type u_2} [DecidableEq Q✝] [DecidableEq F✝] (x✝ x✝¹ : ProtocolVerifier Q✝ F✝) :
                Decidable (x✝ = x✝¹)
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  noncomputable def CertifiedRowSystem.Complement.startProtocolAction {I : Type u_1} {A : Type u_2} {Q : Type u_3} {F : Type u_4} [Fintype A] [Nonempty A] [DecidableEq A] (D : CertifiedRowSystem I A Unit Q F) (old new : ProtocolCell A) :

                  Select and run the first cell of the scanner named by an action.

                  Equations
                  Instances For
                    noncomputable def CertifiedRowSystem.Complement.protocolStepCell {I : Type u_1} {A : Type u_2} {Q : Type u_3} {F : Type u_4} [Fintype A] [Nonempty A] [DecidableEq A] (D : CertifiedRowSystem I A Unit Q F) :

                    One cell of the complete complement-protocol verifier.

                    Equations
                    Instances For

                      The full inductive-counting row system for a source system whose edge verifier is deterministic (Unit-certified).

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

                        A protocol row is final exactly when every cell carries the accepting phase.

                        noncomputable def CertifiedRowSystem.Complement.complementSystem {I : Type u_1} {A : Type u_2} {C : Type u_3} {Q : Type u_4} {F : Type u_5} [Fintype A] [Nonempty A] [DecidableEq A] [Fintype C] [Fintype Q] [DecidableEq Q] [Fintype F] (S : CertifiedRowSystem I A C Q F) :

                        Machine-independent Immerman--Szelepcsényi construction for an arbitrary finite certified row system. The source edge verifier is determinized before the counting protocol is installed.

                        Equations
                        Instances For

                          Machine-independent protocol relation #

                          List-level initialization action implemented by the boot scanner.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem CertifiedRowSystem.Complement.isBoot_input_initialized {I : Type u_1} {A : Type u_2} [Fintype A] [Nonempty A] [DecidableEq A] (sourceCell : IA) {input : List I} (hne : input []) :
                            IsBoot (List.map (inputProtocolCell sourceCell) input) (initializedProtocolRow (List.map sourceCell input))

                            Every nonempty input row performs the canonical boot action.

                            def CertifiedRowSystem.Complement.ProtocolStep {I : Type u_1} {A : Type u_2} {Q : Type u_3} {F : Type u_4} [Fintype A] [Nonempty A] [DecidableEq A] (D : CertifiedRowSystem I A Unit Q F) (old new : ProtocolRow A) :

                            The union of all semantic actions in one complement-protocol step.

                            This relation is independent of the compiler to an LBA. Its source parameter is already deterministic, so both D.RowStep and its negation are certified synchronously.

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