Finite-search implementation of the bounded normalization #
def
GenLimit.FiniteWitness.finiteCandidate
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n : ℕ)
(p : List α)
(k : ℕ)
(q : List α)
:
The decidable candidate test with bounded history length and observed checkpoints.
Equations
Instances For
@[instance_reducible]
instance
GenLimit.FiniteWitness.instDecidableFiniteCandidate
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n : ℕ)
(p : List α)
(k : ℕ)
(q : List α)
:
Decidable (finiteCandidate F S n p k q)
Equations
- One or more equations did not get rendered due to their size.
theorem
GenLimit.FiniteWitness.finiteCandidate_iff
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n : ℕ)
(p : List α)
(k : ℕ)
(q : List α)
:
def
GenLimit.FiniteWitness.candidateWords
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n : ℕ)
(p : List α)
(k : ℕ)
:
The finite set of candidate histories within the fixed length bound.
Equations
- GenLimit.FiniteWitness.candidateWords F S n p k = Finset.filter (GenLimit.FiniteWitness.finiteCandidate F S n p k) (GenLimit.FiniteWitness.boundedWords S (2 * n))
Instances For
theorem
GenLimit.FiniteWitness.mem_candidateWords
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n : ℕ)
(p : List α)
(k : ℕ)
(q : List α)
:
Decode the smallest code in a finite candidate set. This definition is executable.
Equations
- GenLimit.FiniteWitness.pickWord C = if h : C.Nonempty then (Encodable.decode ((Finset.image Encodable.encode C).min' ⋯)).getD [] else []
Instances For
def
GenLimit.FiniteWitness.executableRun
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n : ℕ)
:
Iterate bounded finite candidate searches, retaining the history when no candidate exists.
Equations
- One or more equations did not get rendered due to their size.
- GenLimit.FiniteWitness.executableRun F S n 0 = []
Instances For
theorem
GenLimit.FiniteWitness.executableRun_eq
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
(n k : ℕ)
:
def
GenLimit.FiniteWitness.executableNormalized
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
:
α
Evaluate the finite-search history at the sample-size bound.
Equations
Instances For
theorem
GenLimit.FiniteWitness.executableNormalized_eq
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(S : Finset α)
:
theorem
GenLimit.FiniteWitness.executableNormalized_locks
{α : Type u_1}
[DecidableEq α]
[Encodable α]
(F : List α → α)
(hF : Fresh F)
{L : Set α}
(hL : L.Infinite)
(hvalid : EventuallyValid F L)
:
Locks (executableNormalized F) L
A computable fresh repair on the concrete natural-number universe.
Equations
- GenLimit.FiniteWitness.maxRepair G xs = if GenLimit.FiniteWitness.listOutput G xs ∈ xs then xs.toFinset.sup id + 1 else GenLimit.FiniteWitness.listOutput G xs
Instances For
theorem
GenLimit.FiniteWitness.maxRepair_eventuallyValid
{G : Generic.Generator ℕ}
{L : Set ℕ}
(hG : ∀ (stream : Generic.Stream ℕ), Generic.Presents stream L → ∃ (N : ℕ), ∀ n ≥ N, Generic.CorrectAt G L stream n)
:
EventuallyValid (maxRepair G) L
An executable, target-independent normalization, with the whole input set as its argument.
Equations
Instances For
theorem
GenLimit.FiniteWitness.executableNormalization_finite_queries
{G G' : Generic.Generator ℕ}
(S : Finset ℕ)
(h : ∀ q ∈ boundedWords S (2 * S.card), listOutput G q = listOutput G' q)
:
theorem
GenLimit.FiniteWitness.executable_universal_normalization
(G : Generic.Generator ℕ)
(L : Set ℕ)
:
L.Infinite →
(∀ (stream : Generic.Stream ℕ), Generic.Presents stream L → ∃ (N : ℕ), ∀ n ≥ N, Generic.CorrectAt G L stream n) →
Locks (executableNormalization G) L