Documentation

Marginis.Miller2022

Effectivizing Lusin’s Theorem #

RUSSELL MILLER

The paper discusses Turing degrees among other things. Here we formalize Turing reducibility (Degrees of unsolvability).

(Mathlib has a reduce.lean file that can be reconciled with this.)

This file introduces many-one reducibility (mapping reducibility) and proves its basic properties.

We work with a couple of classes of functions:

We show over mon₁ that the degrees are not rigid, using complementation.

Over monₘ we show that the degrees form an upper semilattice and has an automorphism that simply swaps ⊥ := ⟦∅⟧ₘ and ⊤ := ⟦ℕ⟧ₘ.

The halting problem K is defined in this context and its basic degree-theoretic properties established.

The Turing degrees 𝓓ₜ are constructed.

The injective functions can be used in defining 1-degrees, 𝓓₁.

Equations
Instances For
    instance instFintypeForallFinBool_marginis (u : ) (n : ) :
    Fintype (Fin (u n)Bool)
    Equations
    instance instFintypeForallForallFinBool_marginis (u : ) (n : ) :
    Fintype ((Fin (u n)Bool)Bool)
    Equations
    instance instPrimcodableForallFinBool_marginis_1 (u : ) (n : ) :
    Primcodable (Fin (u n)Bool)
    Equations
    Equations
    Equations
    Instances For
      def isprefix (u : (k : ) × (Fin kBool)) (v : (k : ) × (Fin kBool)) :

      Thanks to ChatGPT.

      Equations
      Instances For
        def turingFunctional (f : (k : ) × (Fin kBool)Part Bool) :

        Defining Turing functionals without using List.

        Equations
        Instances For
          def turingFunctional' (f : (k : ) × (Fin kBool)Part Bool) :
          Equations
          Instances For
            Equations
            Instances For
              def turingReducible (A : Bool) (B : Bool) :
              Equations
              Instances For
                def turing_reducible (A : Bool) (B : Bool) :
                Equations
                Instances For
                  def get_part (σ : List Bool) (k : ) :
                  Equations
                  Instances For
                    def getPart (σ : List Bool) (k : ) :
                    Equations
                    Instances For
                      def getlist' (β : Part Bool) (l : ) (h : ∀ (k : Fin l), β k Part.none) :
                      Equations
                      Instances For
                        inductive Partrec_in (A : →. ) :
                        Instances For

                          Returns a code for the constant function outputting a particular natural.

                          Equations
                          Instances For

                            Given a code c taking a pair as input, returns a code using n as the first argument to c.

                            Equations
                            Instances For

                              An encoding of a Nat.Partrec.Code as a ℕ.

                              Equations
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                noncomputable def Nat.Partrec_in.Code.jump (A : Bool) :
                                Bool
                                Equations
                                Instances For
                                  Equations
                                  Instances For
                                    def Computable_in (f : ) (g : ) :
                                    Equations
                                    Instances For
                                      def T_reducible (A : Bool) (B : Bool) :
                                      Equations
                                      Instances For
                                        inductive use_bound {A : } :
                                        ( →. )Prop
                                        Instances For

                                          ∀ B, B ≤ₜ C → (∀ A, A ≤ₜ B → A ≤ₜ C).

                                          def T_equivalent (A : Bool) (B : Bool) :
                                          Equations
                                          Instances For
                                            instance 𝓓_setoid :
                                            Equations
                                            Equations
                                            Instances For

                                              The Turing degree 0 contains all computable sets, but by definition it is just the Turing degree of ∅.

                                              Equations

                                              To do calc proofs with m-reducibility we create a Trans instance.

                                              Equations

                                              T-reducibility is transitive.

                                              theorem T_upper_cones_eq (A : Bool) (B : Bool) (h : T_equivalent A B) :

                                              Equivalent reals have equal upper cones.

                                              theorem T_degrees_eq (A : Bool) (B : Bool) (h : T_equivalent A B) :

                                              Equivalent reals have equal degrees.

                                              theorem T_reducible_congr_equiv (A : Bool) (C : Bool) (D : Bool) (hCD : T_equivalent C D) :
                                              def le_T' (A : Bool) (b : 𝓓ₜ) :

                                              As an auxiliary notion, we define [A]ₜ ≤ b.

                                              Equations
                                              Instances For
                                                theorem T_reducible_congr_equiv' (b : 𝓓ₜ) (C : Bool) (D : Bool) (hCD : T_equivalent C D) :
                                                le_T' C b = le_T' D b
                                                def le_T (a : 𝓓ₜ) (b : 𝓓ₜ) :

                                                The ordering of the T-degrees.

                                                Equations
                                                Instances For

                                                  The ordering of T-degrees is reflexive.

                                                  The ordering of T-degrees is transitive.

                                                  The nontrivial computable sets form the T-degree 0.

                                                  Equations
                                                  theorem idExists :
                                                  Equations
                                                  Instances For
                                                    instance blah :
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    theorem encode_decode (k : ) :
                                                    Encodable.encode (Encodable.decode k) = if k < 4 then k.succ else 0

                                                    Make sure ♯ binds stronger than ≤ₘ.

                                                    Equations
                                                    Instances For
                                                      structure monₜₜextends monₘ :
                                                      Instances For
                                                        theorem monₜₜ.ttrefl (self : monₜₜ) :
                                                        self.func fun (n : ) => Encodable.encode ((Denumerable.ofNat ((k : ) × (Fin k.succBool)) n).snd (Denumerable.ofNat ((k : ) × (Fin k.succBool)) n).fst)
                                                        def tt_reducible (A : Bool) (B : Bool) :
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For