Computability
Results named in Tau Ceti's TauCeti.Computability modules and in no roadmap's section, as Tau Ceti has them at commit ace60277.
TheoremDegree form of the Friedberg–Muchnik theorem#
TauCeti.exists_incomparable_ce_turingDegrees_mem_Ioo :
∃ A B,
(REPred fun x => x ∈ A) ∧
(REPred fun x => x ∈ B) ∧
toAntisymmetrization TuringReducible A.oracle ∈
Set.Ioo (toAntisymmetrization TuringReducible ∅.oracle)
(toAntisymmetrization TuringReducible ∅.jump.oracle) ∧
toAntisymmetrization TuringReducible B.oracle ∈
Set.Ioo (toAntisymmetrization TuringReducible ∅.oracle)
(toAntisymmetrization TuringReducible ∅.jump.oracle) ∧
¬toAntisymmetrization TuringReducible A.oracle ≤
toAntisymmetrization TuringReducible B.oracle ∧
¬toAntisymmetrization TuringReducible B.oracle ≤
toAntisymmetrization TuringReducible A.oracle
TheoremEilenberg's theorem#
for 2 ≤ k, a sequence is k-automatic if and only if its
k-kernel is finite.
TauCeti.isAutomatic_iff_finite_kernel.{u} {k : ℕ} {Δ : Type u} {a : ℕ → Δ} [NeZero k] (hk : 2 ≤ k) :
TauCeti.IsAutomatic k a ↔ (TauCeti.kernel k a).Finite
TheoremThe Friedberg–Muchnik theorem [S, VII.2.1]#
TauCeti.friedberg_muchnik :
∃ A B,
(REPred fun x => x ∈ A) ∧
(REPred fun x => x ∈ B) ∧
¬TuringReducible A.oracle B.oracle ∧ ¬TuringReducible B.oracle A.oracle
TheoremSoare's Lemma 1#
Let A and C be the limits of monotone stages whose binary codes are
computable, and let requirement e hold, at every stage s, a restraint at least the agreement
restraint of the program c against A s with target C s and fuel s. If only finitely many
numbers injure e, and c relative to the limit of A computes the characteristic function of
the limit of C, then the limit of C is computable.
TauCeti.Oracle.Single.Code.computablePred_mem_stageLimit_of_eval_eq {A C : ℕ → Finset ℕ}
{r : ℕ → ℕ → Option ℕ} {e : ℕ} {c : TauCeti.Oracle.Single.Code} (hA : Monotone A)
(hC : Monotone C) (hAc : Computable fun s => Finset.equivBitIndices.symm (A s))
(hCc : Computable fun s => Finset.equivBitIndices.symm (C s))
(hr :
∀ (s : ℕ),
∃ b,
r e s = some b ∧
TauCeti.Oracle.Single.Code.agreementRestraint
(TauCeti.Oracle.Single.Code.setAnswers ↑(A s)) s c ((↑(C s)).indicator 1) ≤
b)
(hI : (TauCeti.Priority.injurySet A r e).Finite)
(heval :
TauCeti.Oracle.Single.Code.eval (TauCeti.Enumeration.stageLimit A).oracle c =
(TauCeti.Enumeration.stageLimit C).oracle) :
ComputablePred fun x => x ∈ TauCeti.Enumeration.stageLimit C
Lean
Formalized in Tau Ceti as TauCeti.Oracle.Single.Code.computablePred_mem_stageLimit_of_eval_eq.
Other forms
Soare's Lemma 1, correctness of late agreement. Formalized in Tau Ceti as TauCeti.Oracle.Single.Code.mem_stageLimit_iff_of_lt_agreementLength.
TauCeti.Oracle.Single.Code.mem_stageLimit_iff_of_lt_agreementLength {A C : ℕ → Finset ℕ}
{r : ℕ → ℕ → Option ℕ} {e s x : ℕ} {c : TauCeti.Oracle.Single.Code} {s₀ : ℕ} (hA : Monotone A)
(hC : Monotone C)
(hr :
∀ (s : ℕ),
s₀ ≤ s →
∃ b,
r e s = some b ∧
TauCeti.Oracle.Single.Code.agreementRestraint
(TauCeti.Oracle.Single.Code.setAnswers ↑(A s)) s c ((↑(C s)).indicator 1) ≤
b)
(hI : ∀ (s : ℕ), s₀ ≤ s → TauCeti.Priority.injuriesAt A r e s = ∅)
(heval :
∀ y ≤ x,
TauCeti.Oracle.Single.Code.eval (TauCeti.Enumeration.stageLimit A).oracle c y =
(TauCeti.Enumeration.stageLimit C).oracle y)
(hs : s₀ ≤ s)
(hx :
x <
TauCeti.Oracle.Single.Code.agreementLength (TauCeti.Oracle.Single.Code.setAnswers ↑(A s)) s c
((↑(C s)).indicator 1)) :
x ∈ TauCeti.Enumeration.stageLimit C ↔ x ∈ C s
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.