Documentation

MIPRE.Foundations.Introspection.AuxiliaryReadProgram

Executable full-register Introspect/Read comparison #

The binary register length and original answer cutoff are input data. All register fields have the full padded length. In particular the Read dual answer is not required to vanish outside the original source register: the same-depth padding puts those coordinates in the first zero-map factor. The program checks canonical tuple syntax, the separate original answer cutoff, and the strict outer cutoff before comparing the two relevant fields.

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.
    Instances For

      Full-Q pair format, including the original answer cutoff.

      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.
        Instances For

          Full-Q Read format: there is deliberately no original-subspace test on the dual field.

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

            The actual Introspect/Read branch, with all bounds supplied in binary.

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

              Exact acceptance on full-register parsed answers, including arbitrary dual labels.

              Reject arbitrary noncanonical input trees before running the supplied pure check.

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

                Total runtime on every raw tree, independently of source-program termination.

                theorem MIPRE.Introspection.AuxiliaryProgram.readingCheck_typed {PauliType : Type u_1} {PauliAnswer : Type u_2} {Q R ℓ : ℕ} (L : Bool → CL.CLFun CL.𝔽₂ (Fin Q) ℓ) (X Z : PauliType) (projectPauli : PauliAnswer → Fin Q → CL.𝔽₂) (D : (Fin Q → CL.𝔽₂) → (Fin Q → CL.𝔽₂) → Cost.BitStr → Cost.BitStr → Bool) (DP : PauliType → PauliType → PauliAnswer → PauliAnswer → Bool) (hQ : 4 ≤ Q) (hR : 3 * R ≤ Q) (n s : ℕ) (w : Bool) (y z zp : Fin Q → CL.𝔽₂) (a b : Cost.BitStr) :