Documentation

LeanPool.LanguageGeneration.FiniteWitness.Normalization

Universal normalization by finite priorities #

The checkpoints here are target elements whose ambient codes are below the stage number. They replace the paper's first-k-target-element checkpoints; both exhaust each target and agree between a sufficiently confirmed sample and that target. The sample search retains the 2 * S.card length cutoff.

noncomputable def GenLimit.FiniteWitness.belowCodes (β : Type u_2) [Encodable β] (n : ℕ) :

The finite set of elements whose encoding is strictly below the given bound.

Equations
Instances For
    @[simp]
    theorem GenLimit.FiniteWitness.mem_belowCodes {β : Type u_2} [Encodable β] {n : ℕ} {x : β} :
    noncomputable def GenLimit.FiniteWitness.leastCode {β : Type u_2} [Encodable β] (P : β → Prop) (h : ∃ (x : β), P x) :
    β

    Select the element of least encoding satisfying an inhabited predicate.

    Equations
    Instances For
      theorem GenLimit.FiniteWitness.leastCode_spec {β : Type u_2} [Encodable β] (P : β → Prop) (h : ∃ (x : β), P x) :
      P (leastCode P h)
      theorem GenLimit.FiniteWitness.leastCode_le {β : Type u_2} [Encodable β] (P : β → Prop) (h : ∃ (x : β), P x) {x : β} (hx : P x) :
      noncomputable def GenLimit.FiniteWitness.checkpoint {α : Type u_1} [Encodable α] (L : Set α) (k : ℕ) :

      The elements of a target language whose codes are below the checkpoint bound.

      Equations
      Instances For
        @[simp]
        theorem GenLimit.FiniteWitness.mem_checkpoint {α : Type u_1} [Encodable α] {L : Set α} {k : ℕ} {x : α} :
        theorem GenLimit.FiniteWitness.checkpoint_subset {α : Type u_1} [Encodable α] (L : Set α) (k : ℕ) :
        ↑(checkpoint L k) ⊆ L
        theorem GenLimit.FiniteWitness.checkpoint_mono {α : Type u_1} [Encodable α] {L : Set α} {j k : ℕ} (hjk : j ≤ k) :
        theorem GenLimit.FiniteWitness.checkpoint_agrees {α : Type u_1} [Encodable α] {L : Set α} {S : Finset α} {j k : ℕ} (hSL : ↑S ⊆ L) (hseen : checkpoint L k ⊆ S) (hjk : j ≤ k) :
        checkpoint (↑S) j = checkpoint L j
        theorem GenLimit.FiniteWitness.content_mono {α : Type u_1} [DecidableEq α] {p q : List α} (hpq : p <+: q) :
        def GenLimit.FiniteWitness.BadExtension {α : Type u_1} [Encodable α] [DecidableEq α] (F : List α → α) (L : Set α) (p : List α) (k : ℕ) (q : List α) :

        The target-dependent genuine errors used only in the proof.

        Equations
        Instances For
          noncomputable def GenLimit.FiniteWitness.trueRun {α : Type u_1} [Encodable α] [DecidableEq α] (F : List α → α) (L : Set α) :
          ℕ → List α

          The canonical sequence of least-code bad extensions for a fixed target language.

          Equations
          Instances For
            theorem GenLimit.FiniteWitness.trueRun_next {α : Type u_1} [Encodable α] [DecidableEq α] {F : List α → α} {L : Set α} {k : ℕ} (h : ∃ (q : List α), BadExtension F L (trueRun F L k) k q) :
            BadExtension F L (trueRun F L k) k (trueRun F L (k + 1))
            theorem GenLimit.FiniteWitness.trueRun_prefix {α : Type u_1} [Encodable α] [DecidableEq α] (F : List α → α) (L : Set α) (k : ℕ) :
            trueRun F L k <+: trueRun F L (k + 1)
            theorem GenLimit.FiniteWitness.trueRun_stops {α : Type u_1} [Encodable α] [DecidableEq α] {F : List α → α} {L : Set α} (hvalid : EventuallyValid F L) :
            ∃ (m : ℕ), ¬∃ (q : List α), BadExtension F L (trueRun F L m) m q

            Exhaustiveness rules out a genuine error at every stage.