Documentation

Aristotle.Landau.main.TorusDefs

Torus Type Definitions and Differential Operators #

Defines the 3-torus T^3 = (R/Z)^3, the projection torusMk, the periodic lift, and differential operators (torusGradX, torusDivX, torusCurlX) via the periodic lift. The FlatTorus3 instance is assembled in TorusInstance.lean.

@[reducible, inline]
abbrev Torus3 :

The 3-torus: product of three circles with period 1.

Equations
Instances For
    def torusMk (x : Fin 3) :

    The quotient map ℝ³ → T³, sending each coordinate to its equivalence class.

    Equations
    Instances For
      def periodicLift (f : Torus3) :
      (Fin 3)

      The periodic lift of a function on the torus to ℝ³.

      Equations
      Instances For
        theorem periodicLift_periodic (f : Torus3) (x : Fin 3) (i : Fin 3) :
        theorem periodicLift_shift (f : Torus3) (x y : Fin 3) (h : torusMk x = torusMk y) (z : Fin 3) :
        periodicLift f (z + (x - y)) = periodicLift f z

        The periodic lift at shifted argument equals the original when the shift maps to the same torus point.

        theorem periodicLift_fderiv_eq (f : Torus3) (x y : Fin 3) (h : torusMk x = torusMk y) :

        fderiv of the lift at two points that map to the same torus point are equal. This follows because f̃(x) = f̃(x + n) for integer n, so the 1-jets agree.

        def torusGradX (f : Torus3) (x : Torus3) :
        Fin 3

        Spatial gradient on T³. For f : T³ → ℝ, we lift to ℝ³, compute fderiv, and read off components. This is well-defined by periodicLift_fderiv_eq.

        Equations
        Instances For
          def torusDivX (F : Torus3Fin 3) (x : Torus3) :

          Spatial divergence on T³.

          Equations
          Instances For
            def torusCurlX (F : Torus3Fin 3) (x : Torus3) :
            Fin 3

            Spatial curl on T³.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem periodicLift_torusGradX (φ : Torus3) (i : Fin 3) (y : Fin 3) :
              periodicLift (fun (z : Torus3) => torusGradX φ z i) y = (fderiv (periodicLift φ) y) (Pi.single i 1)

              The periodic lift of the gradient component equals the fderiv of the lift. This resolves the choose ambiguity: at each point, the gradient uses a chosen preimage, but by periodicLift_fderiv_eq, the fderiv is the same for any preimage of the same torus point.

              theorem fderiv_const_mul_always {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (c : ) (g : E) (x : E) :
              fderiv (fun (y : E) => c * g y) x = c fderiv g x

              fderiv(c * g) = c • fderiv(g) unconditionally. When g is differentiable: by fderiv_const_smul. When g is not differentiable and c ≠ 0: c * g is also not differentiable, so both sides are the zero map. When c = 0: both sides are 0.

              theorem fderiv_exp_comp_always {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (g : E) (x : E) :
              fderiv (fun (y : E) => Real.exp (g y)) x = Real.exp (g x) fderiv g x

              fderiv(exp ∘ g) x = exp(g x) • fderiv g x unconditionally. When g is differentiable: by fderiv_exp. When g is not differentiable: exp ∘ g is also not differentiable (since g = log ∘ exp ∘ g and log is smooth on (0,∞)), so both sides are 0.

              theorem clairaut_fderiv {n : } (g : (Fin n)) (x : Fin n) (i j : Fin n) (hg : ContDiff 2 g) :
              (fderiv (fun (y : Fin n) => (fderiv g y) (Pi.single j 1)) x) (Pi.single i 1) = (fderiv (fun (y : Fin n) => (fderiv g y) (Pi.single i 1)) x) (Pi.single j 1)

              Clairaut's theorem via fderiv: ∂²f/∂xᵢ∂xⱼ = ∂²f/∂xⱼ∂xᵢ for C² functions.

              theorem torus_hGradConst (φ : Torus3) (hconst : ∀ (x y : Torus3), φ x = φ y) (x : Torus3) :
              torusGradX φ x = 0

              hGradConst: gradient of constant function vanishes.

              theorem torus_hGradAdd' (f g : Torus3) (hf : ContDiff 1 (periodicLift f)) (hg : ContDiff 1 (periodicLift g)) (x : Torus3) :
              torusGradX (fun (y : Torus3) => f y + g y) x = torusGradX f x + torusGradX g x

              hGradAdd: gradient additivity for C¹ functions.

              theorem torus_hSpatialVelocityFubini (F : Torus3(Fin 3)) (hF_joint : MeasureTheory.Integrable (Function.uncurry F) (MeasureTheory.volume.prod MeasureTheory.volume)) :
              (x : Torus3) (v : Fin 3), F x v = (v : Fin 3) (x : Torus3), F x v

              hSpatialVelocityFubini: swap spatial and velocity integrals. Uses SigmaFinite (from CompactSpace + IsFiniteMeasure).

              theorem torus_hSpatialPos (g : Torus3) (hg_pos : ∀ (x : Torus3), 0 < g x) (hg_cont : Continuous g) :
              0 < (x : Torus3), g x

              hSpatialPos: positive function has positive integral.

              theorem torus_hSpatialNonnegZero (g : Torus3) (hg_nn : ∀ (x : Torus3), 0 g x) (hg_int : (x : Torus3), g x = 0) (hg_cont : Continuous g) (x : Torus3) :
              g x = 0

              hSpatialNonnegZero: nonneg function with zero integral is zero.

              torusMk is an open quotient map (product of open quotient maps).

              theorem continuous_torusGradX (f : Torus3) (i : Fin 3) (hf : ContDiff 1 (periodicLift f)) :
              Continuous fun (x : Torus3) => torusGradX f x i

              torusGradX is continuous (uses quotient map property).