Physlib Documentation

Physlib.SpaceAndTime.Space.Derivatives.MultiIndex

Multi-indices #

i. Overview #

This module defines the basic type of multi-indices used to index iterated partial derivatives.

A multi-index on d source coordinates is represented as a structure with an underlying function Fin d → ℕ, together with the first basic operations needed later in the local Classical Field Theory development.

ii. Key results #

iii. Table of contents #

iv. References #

A. The basic type of multi-indices #

structure Physlib.MultiIndex (d : ) :

A multi-index on d source coordinates.

  • toFun : Fin d

    The coordinates of the multi-index.

Instances For
    def Physlib.instDecidableEqMultiIndex.decEq {d✝ : } (x✝ x✝¹ : MultiIndex d✝) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      Equations
      Equations

      A.1. Basic operations #

      The order |I| of a multi-index I, defined as the sum of its components.

      Equations
      Instances For

        Increment the i-th coordinate of a multi-index by one.

        Equations
        Instances For

          A.2. Basic lemmas #

          theorem Physlib.MultiIndex.ext {d : } {I J : MultiIndex d} (h : ∀ (i : Fin d), I.toFun i = J.toFun i) :
          I = J
          theorem Physlib.MultiIndex.ext_iff {d : } {I J : MultiIndex d} :
          I = J ∀ (i : Fin d), I.toFun i = J.toFun i
          @[simp]
          theorem Physlib.MultiIndex.zero_apply {d : } (i : Fin d) :
          toFun 0 i = 0
          @[simp]
          theorem Physlib.MultiIndex.add_apply {d : } (I J : MultiIndex d) (i : Fin d) :
          (I + J).toFun i = I.toFun i + J.toFun i
          @[simp]
          theorem Physlib.MultiIndex.increment_apply_same {d : } (I : MultiIndex d) (i : Fin d) :
          (I.increment i).toFun i = I.toFun i + 1
          @[simp]
          theorem Physlib.MultiIndex.increment_apply_ne {d : } (I : MultiIndex d) {i j : Fin d} (h : j i) :
          (I.increment i).toFun j = I.toFun j
          @[simp]
          @[simp]
          theorem Physlib.MultiIndex.order_single {d : } (i : Fin d) :
          { toFun := Pi.single i 1 }.order = 1
          @[simp]
          theorem Physlib.MultiIndex.order_increment {d : } (I : MultiIndex d) (i : Fin d) :
          (I.increment i).order = I.order + 1