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
    @[implicit_reducible]
    instance instFintypeForallFinBool_marginis (u : ) (n : ) :
    Fintype (Fin (u n)Bool)
    Equations
    @[implicit_reducible]
    instance instFintypeForallForallFinBool_marginis (u : ) (n : ) :
    Fintype ((Fin (u n)Bool)Bool)
    Equations
    Equations
    Instances For
      def isprefix (u 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 B : Bool) :
              Equations
              Instances For
                def turing_reducible (A B : Bool) :
                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

                        A relativized version of Nat.Partrec.Code.

                        Instances For

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

                          Equations
                          Instances For
                            theorem Nat.Partrec_in.Code.const_inj {n₁ n₂ : } :
                            Code.const n₁ = Code.const n₂n₁ = n₂

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

                            Equations
                            Instances For
                              Equations
                              Instances For
                                def Computable_in (f g : ) :
                                Equations
                                Instances For
                                  def T_reducible (A B : Bool) :
                                  Equations
                                  Instances For

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

                                    def T_equivalent (A B : Bool) :
                                    Equations
                                    Instances For
                                      Equations
                                      Instances For
                                        @[implicit_reducible]
                                        instance 𝓓_setoid :
                                        Equations
                                        Equations
                                        Instances For
                                          @[implicit_reducible]

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

                                          Equations
                                          @[implicit_reducible]

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

                                          Equations

                                          T-reducibility is transitive.

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

                                          Equivalent reals have equal upper cones.

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

                                          Equivalent reals have equal degrees.

                                          theorem T_reducible_congr_equiv (A C 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 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.

                                              T-reducibility is a preorder.

                                              Equations
                                              Instances For
                                                @[implicit_reducible]

                                                𝓓ₜ is a partial order.

                                                Equations
                                                @[implicit_reducible]

                                                The nontrivial computable sets form the T-degree 0.

                                                Equations
                                                Equations
                                                Instances For
                                                  @[implicit_reducible]
                                                  instance blah :
                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  @[implicit_reducible]
                                                  instance blah₂ :
                                                  Equations
                                                  • One or more equations did not get rendered due to their size.

                                                  Make sure ♯ binds stronger than ≤ₘ.

                                                  Equations
                                                  Instances For
                                                    def tt_reducible (A B : Bool) :
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For