Documentation

MIPRE.Foundations.Introspection.ClockCompiler

A binary compiler for the complete clocked source decider #

The compiler constructs the actual program syntax from the source description and binary parameter. Both compilation time and output description size are polynomial in their encoded lengths, for fixed exponent and universal machine.

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
      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
          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
              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
                  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

                      An actual ambient compiler for the existing clocked decider program.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem MIPRE.Introspection.ClockSimulation.compiler_runs (k : ℕ) (U : Cost.ClockedUniversalMachine) (source : Cost.Prog) (lam : ℕ) :
                        ∃ time ≤ Polynomial.eval (Cost.esize source + Cost.esize lam + 1) (compiler k U).timeBound, (compiler k U).code.Runs (Cost.encode (source, lam)) (Cost.encode (decider k lam U source).prog) time
                        theorem MIPRE.Introspection.ClockSimulation.compiler_binary_bounds (k : ℕ) (U : Cost.ClockedUniversalMachine) (source : Cost.Prog) (lam : ℕ) :
                        Cost.esize (decider k lam U source).prog ≤ Polynomial.eval (Cost.esize source + 4 * lam.size + 2) (compiler k U).timeBound ∧ ∃ time ≤ Polynomial.eval (Cost.esize source + 4 * lam.size + 2) (compiler k U).timeBound, (compiler k U).code.Runs (Cost.encode (source, lam)) (Cost.encode (decider k lam U source).prog) time

                        The parameter enters both compiler cost and description length through its bits.