Documentation

LeanPool.MooreBound.PrimeNumberTheoremAnd.Sobolev

Ported for Lean Pool from PrimeNumberTheoremAnd commit 0c7abf7be7765dc5ffd21afc1c37b018199ec3c9, via wewantmoore commit d59bd80ea93fabb9faf769e790ab47692645e022 (both Apache-2.0). The port adds the MooreBound namespace and updates Mathlib APIs and proof style. Wiener and Consequences retain the PNT and prime-interval dependency closure; unrelated later developments and LeanArchitect annotations are omitted.

structure MooreBound.CS (n : ℕ) (E : Type u_2) [NormedAddCommGroup E] [NormedSpace ℝ E] :
Type u_2

A function with n continuous derivatives and compact support.

Instances For
    theorem MooreBound.CS.ext_iff {n : ℕ} {E : Type u_2} {inst✝ : NormedAddCommGroup E} {inst✝¹ : NormedSpace ℝ E} {x y : CS n E} :
    x = y ↔ x.toFun = y.toFun
    theorem MooreBound.CS.ext {n : ℕ} {E : Type u_2} {inst✝ : NormedAddCommGroup E} {inst✝¹ : NormedSpace ℝ E} {x y : CS n E} (toFun : x.toFun = y.toFun) :
    x = y

    A compactly supported C² cutoff equal to one on [-1,1] and zero outside (-2,2).

    Instances For
      structure MooreBound.W1 (n : ℕ) (E : Type u_2) [NormedAddCommGroup E] [NormedSpace ℝ E] :
      Type u_2

      A Cⁿ function whose derivatives through order n are integrable.

      Instances For
        @[reducible, inline]

        Complex C² functions with integrable derivatives through order two.

        Equations
        Instances For
          noncomputable def MooreBound.funscale {E : Type u_2} (g : ℝ → E) (R x : ℝ) :
          E

          Precompose a function with multiplication by the reciprocal scale.

          Equations
          Instances For
            theorem MooreBound.tendsto_funscale {E : Type u_1} [NormedAddCommGroup E] {f : ℝ → E} (hf : ContinuousAt f 0) (x : ℝ) :
            Filter.Tendsto (fun (R : ℝ) => funscale f R x) Filter.atTop (nhds (f 0))
            @[instance_reducible]
            instance MooreBound.CS.instCoeFunForallReal {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} :
            CoeFun (CS n E) fun (x : CS n E) => ℝ → E
            Equations
            @[instance_reducible]
            Equations
            def MooreBound.CS.neg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : CS n E) :
            CS n E

            Pointwise negation preserves smoothness and compact support.

            Equations
            Instances For
              @[instance_reducible]
              instance MooreBound.CS.instNeg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} :
              Neg (CS n E)
              Equations
              @[simp]
              theorem MooreBound.CS.neg_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {f : CS n E} {x : ℝ} :
              (-f).toFun x = -f.toFun x
              def MooreBound.CS.smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (R : ℝ) (f : CS n E) :
              CS n E

              Multiply a compactly supported smooth function by a real scalar.

              Equations
              Instances For
                @[instance_reducible]
                instance MooreBound.CS.instHSMulReal {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} :
                HSMul ℝ (CS n E) (CS n E)
                Equations
                @[simp]
                theorem MooreBound.CS.smul_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {f : CS n E} {R x : ℝ} :
                (R • f).toFun x = R • f.toFun x
                noncomputable def MooreBound.CS.deriv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : CS (n + 1) E) :
                CS n E

                Differentiate a compactly supported function, lowering its smoothness index.

                Equations
                Instances For
                  theorem MooreBound.CS.hasDerivAt {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : CS (n + 1) E) (x : ℝ) :
                  theorem MooreBound.CS.deriv_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {f : CS (n + 1) E} {x : ℝ} :
                  theorem MooreBound.CS.deriv_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {R : ℝ} {f : CS (n + 1) E} :
                  (R • f).deriv = R • f.deriv
                  noncomputable def MooreBound.CS.scale {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (g : CS n E) (R : ℝ) :
                  CS n E

                  Rescale a compactly supported function; use the zero function at scale zero.

                  Equations
                  Instances For
                    theorem MooreBound.CS.deriv_scale {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {R : ℝ} {f : CS (n + 1) E} :
                    theorem MooreBound.CS.deriv_scale' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {R v : ℝ} {f : CS (n + 1) E} :
                    theorem MooreBound.CS.hasDerivAt_scale {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : CS (n + 1) E) (R x : ℝ) :
                    theorem MooreBound.CS.tendsto_scale {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : CS n E) (x : ℝ) :
                    Filter.Tendsto (fun (R : ℝ) => (f.scale R).toFun x) Filter.atTop (nhds (f.toFun 0))
                    theorem MooreBound.CS.bounded {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {f : CS n E} :
                    ∃ (C : ℝ), ∀ (v : ℝ), ‖f.toFun v‖ ≤ C
                    @[instance_reducible]
                    Equations
                    theorem MooreBound.trunc.nonneg (g : trunc) (x : ℝ) :
                    0 ≤ g.toFun x
                    theorem MooreBound.trunc.le_one (g : trunc) (x : ℝ) :
                    g.toFun x ≤ 1
                    @[simp]
                    theorem MooreBound.trunc.zero_at {g : trunc} :
                    g.toFun 0 = 1
                    @[instance_reducible]
                    instance MooreBound.W1.instCoeFunForallReal {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} :
                    CoeFun (W1 n E) fun (x : W1 n E) => ℝ → E
                    Equations
                    theorem MooreBound.W1.iteratedDeriv_sub {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} {f g : ℝ → E} (hf : ContDiff ℝ (↑n) f) (hg : ContDiff ℝ (↑n) g) :
                    noncomputable def MooreBound.W1.deriv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : W1 (n + 1) E) :
                    W1 n E

                    Differentiate a function with integrable derivatives, lowering its index.

                    Equations
                    Instances For
                      theorem MooreBound.W1.hasDerivAt {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f : W1 (n + 1) E) (x : ℝ) :
                      def MooreBound.W1.sub {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} (f g : W1 n E) :
                      W1 n E

                      Subtract two functions with integrable derivatives.

                      Equations
                      Instances For
                        @[instance_reducible]
                        instance MooreBound.W1.instSub {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : ℕ} :
                        Sub (W1 n E)
                        Equations
                        noncomputable def MooreBound.W1.ofSchwartz {n : ℕ} (f : SchwartzMap ℝ ℂ) :

                        A Schwartz function has integrable derivatives of every finite order.

                        Equations
                        Instances For
                          noncomputable def MooreBound.W21.norm (f : ℝ → ℂ) :

                          The L¹ size of a function plus the scaled L¹ size of its second derivative.

                          Equations
                          Instances For
                            @[instance_reducible]
                            noncomputable instance MooreBound.W21.instNorm :
                            Equations

                            Regard a compactly supported C² function as an element of W21.

                            Equations
                            Instances For
                              @[instance_reducible]
                              Equations
                              @[instance_reducible]
                              Equations