Kelvin–Stokes theorem

From Infogalactic: the planetary knowledge core
(Redirected from Kelvin-Stokes theorem)
Jump to: navigation, search

The Kelvin–Stokes theorem[1][2][3][4][5] (named Lord Kelvin and George Stokes), also known as the curl theorem,[6] is a theorem in vector calculus on R3. Given a vector field, the theorem relates the integral of the curl of the vector field over some surface, to the line integral of the vector field around the boundary of the surface. The Kelvin–Stokes theorem is a special case of the “generalized Stokes' theorem.”[7][8] In particular, a vector field on R3 can be considered as a 1-form in which case curl is the exterior derivative.

Theorem

Let γ: [a, b] → R2 be a Piecewise smooth Jordan plane curve. The Jordan curve theorem implies that γ divides R2 into two components, a compact one and another that is non-compact. Let D denote the compact part that is bounded by γ and suppose ψ: DR3 is smooth, with S := ψ(D). If Γ is the space curve defined by Γ(t) = ψ(γ(t))[note 1] and F is a smooth vector field on R3, then:[1][2][3]

\oint_\Gamma \mathbf{F}\, \cdot\, d{\mathbf{\Gamma}}  = \iint_S \nabla\times\mathbf{F}\, \cdot\, d\mathbf{S}

Proof

The proof of the theorem consists of 4 steps.[2][3][note 2] We assume Green's theorem, so what is of concern is how to boil down the three-dimensional complicated problem (Kelvin–Stokes theorem) to a two-dimensional rudimentary problem (Green's theorem). When proving this theorem, mathematicians normally use the differential form. The "pull-back[note 2] of a differential form" is a very powerful tool for this situation, but learning differential forms requires substantial background knowledge. So, the proof below does not require knowledge of differential forms, and may be helpful for understanding the notion of differential forms.

First step of the proof (defining the pullback)

Define

\mathbf{P}(u,v) = (P_1(u,v), P_2(u,v))

so that P is the pull-back[note 2] of F, and that P(u, v) is R2-valued function, dependent on two parameters u, v. In order to do so we define P1 and P2 as follows.

P_1(u,v)=\left\langle \mathbf{F}(\psi(u,v)) \bigg| \frac{\partial \psi}{\partial u} \right\rangle, \qquad P_2(u,v)=\left\langle \mathbf{F}(\psi(u,v)) \bigg| \frac{\partial \psi}{\partial v} \right\rangle

Where \langle \ |\ \rangle is the normal inner product (for Euclidean vectors, the dot product; see Bra-ket notation) of R3 and hereinafter, \langle \ |A|\ \rangle stands for the bilinear form according to matrix A.[note 3]

Second step of the proof (first equation)

According to the definition of a line integral,

\begin{align}
\oint_{\Gamma} \mathbf{F} \cdot d\mathbf{\Gamma} &=\int_a^b \left\langle (\mathbf{F}\circ \Gamma(t))\bigg|\frac{d\Gamma}{dt}(t) \right\rangle \, dt \\
&= \int_a^b \left\langle (\mathbf{F}\circ \Gamma(t))\bigg|\frac{d(\psi\circ\gamma)}{dt}(t) \right\rangle \, dt \\
&= \int_a^b \left\langle (\mathbf{F}\circ \Gamma(t))\bigg|(J\psi)_{\gamma(t)}\cdot \frac{d\gamma}{dt}(t) \right\rangle \, dt
\end{align}

where, stands for the Jacobian matrix of ψ, and the clear circle denotes function composition. Hence,[note 3]

\begin{align}
\left\langle (\mathbf{F}\circ \Gamma(t))\bigg|(J\psi)_{\gamma(t)}\frac{d\gamma}{dt}(t) \right\rangle &= \left\langle (\mathbf{F}\circ \Gamma (t))\bigg|(J\psi)_{\gamma(t)} \bigg|\frac{d\gamma}{dt}(t) \right\rangle \\
&= \left\langle ({}^{t}\mathbf{F}\circ \Gamma (t))\cdot(J\psi)_{\gamma(t)}\ \bigg|\ \frac{d\gamma}{dt}(t) \right\rangle \\
&= \left\langle \left( \left\langle (\mathbf{F}(\psi(\gamma(t))))\bigg|\frac{\partial\psi}{\partial u}(\gamma(t)) \right\rangle , \left\langle (\mathbf{F}(\psi(\gamma(t))))\bigg |\frac{\partial\psi}{\partial v}(\gamma(t)) \right\rangle \right) \bigg|\frac{d\gamma}{dt}(t)\right\rangle \\
&= \left\langle (P_1(u,v) , P_2(u,v))\bigg|\frac{d\gamma}{dt}(t)\right\rangle\\
&= \left\langle \mathbf{P}(u,v) \bigg|\frac{d\gamma}{dt}(t)\right\rangle
\end{align}

So, we obtain the following equation

\oint_{\Gamma} \mathbf{F} \cdot d\mathbf{\Gamma} = \oint_{\gamma} \mathbf{P}  d\gamma

Third step of the proof (second equation)

First, calculate the partial derivatives, using the Leibniz rule (product rule):

\begin{align}
\frac{\partial P_1}{\partial v} &= \left\langle \frac{\partial (\mathbf{F}\circ \psi)}{\partial v} \bigg | \frac{\partial \psi}{\partial u} \right\rangle + \left\langle \mathbf{F}\circ \psi \bigg | \frac{\partial^2 \psi}{ \partial v \partial u} \right\rangle \\
\frac{\partial P_2}{\partial u} &= \left\langle \frac{\partial (\mathbf{F}\circ \psi)}{\partial u} \bigg | \frac{\partial \psi}{\partial v} \right\rangle + \left\langle \mathbf{F}\circ \psi \bigg | \frac{\partial^2 \psi}{\partial u \partial v} \right\rangle
\end{align}

So,[note 3][note 4]

\begin{align}
\frac{\partial P_1}{\partial v} - \frac{\partial P_2}{\partial u} &= \left\langle \frac{\partial (\mathbf{F}\circ \psi)}{\partial v} \bigg| \frac{\partial \psi}{\partial u} \right\rangle - \left\langle \frac{\partial (\mathbf{F}\circ \psi)}{\partial u} \bigg| \frac{\partial \psi}{\partial v} \right\rangle \\
&= \left\langle (J\mathbf{F})_{\psi(u,v)}\cdot \frac{\partial \psi}{\partial v} \bigg |\frac{\partial \psi}{\partial u} \right\rangle - \left\langle (J\mathbf{F})_{\psi(u,v)}\cdot \frac{\partial \psi}{\partial u} \bigg|\frac{\partial \psi}{\partial v} \right\rangle && \text{ chain rule}\\
&= \left\langle \frac{\partial \psi}{\partial u} \bigg|(J\mathbf{F})_{\psi(u,v)} \bigg|  \frac{\partial \psi}{\partial v} \right\rangle - \left\langle \frac{\partial \psi}{\partial u} \bigg |{}^{t}(J\mathbf{F})_{\psi(u,v)} \bigg| \frac{\partial \psi}{\partial v} \right\rangle \\
&= \left\langle \frac{\partial \psi}{\partial u}\bigg |(J\mathbf{F})_{\psi(u,v)} - {}^{t}{(J\mathbf{F})}_{\psi(u,v)} \bigg|  \frac{\partial \psi}{\partial v} \right\rangle \\
&= \left\langle \frac{\partial \psi}{\partial u}\bigg |\left ((J\mathbf{F})_{\psi(u,v)} - {}^t (J\mathbf{F})_{\psi(u,v)} \right )\cdot \frac{\partial \psi}{\partial v} \right\rangle \\
&= \left\langle \frac{\partial \psi}{\partial u}\bigg |(\nabla\times\mathbf{F})\times\frac{\partial \psi}{\partial v} \right\rangle && \left ( (J\mathbf{F})_{\psi(u,v)} - {}^{t} (J\mathbf{F})_{\psi(u,v)} \right ) \cdot \mathbf{x} = (\nabla\times\mathbf{F})\times \mathbf{x} \\
&=\det \left [ (\nabla\times\mathbf{F})(\psi(u,v)) \quad \frac{\partial\psi}{\partial u}(u,v) \quad \frac{\partial\psi}{\partial v}(u,v) \right ]  && \text{ Scalar Triple Product}
\end{align}

On the other hand, according to the definition of a surface integral,

\begin{align}
\iint_S (\nabla\times\mathbf{F}) \, dS &=\iint_D \left\langle (\nabla\times\mathbf{F})(\psi(u,v)) \bigg |\frac{\partial\psi}{\partial u}(u,v)\times \frac{\partial\psi}{\partial v}(u,v)\right\rangle \,du\,dv\\
&= \iint_D \det \left [ (\nabla\times\mathbf{F})(\psi(u,v)) \quad \frac{\partial\psi}{\partial u}(u,v) \quad \frac{\partial\psi}{\partial v}(u,v) \right ] \,du \,dv && \text{ scalar triple product}
\end{align}

So, we obtain

 \iint_S (\nabla\times\mathbf{F}) \,dS  =\iint_D \left( \frac{\partial P_2}{\partial u} - \frac{\partial P_1}{\partial v} \right) \,du\,dv

Fourth step of the proof (reduction to Green's theorem)

Combining the second and third steps, and then applying Green's theorem completes the proof.

Application for conservative vector fields and scalar potential

In this section, we will discuss the lamellar vector field based on Kelvin–Stokes theorem.

First, we define the notarization map as follows.

 \begin{cases} \theta_{[a,b]}:[0,1]\to[a,b] \\ \theta_{[a,b]}=s(b-a)+a \end{cases}

\theta_{[a,b]} is a strictly increasing function. For all piece-wise smooth paths c: [a, b] → R3 and all smooth vector fields F, the domain of which includes c([a, b]), one has:

\int_c \mathbf{F} dc =\int_{c\circ\theta_{[a,b]}}\ \mathbf{F}\ d(c\circ\theta_{[a,b]})

So, we can assume the domain of the curve to be [0, 1].

The Lamellar vector field

In fluid dynamics, it is often referred to as a vortex-free or irrotational vector field. Furthermore, if the domain of F is simply connected, then in mechanics, it can be identified as a conservative force.

Helmholtz's theorems

In this section, we will introduce a theorem that is derived from the Kelvin–Stokes theorem and characterizes vortex-free vector fields. In fluid dynamics it is called Helmholtz's theorems.[note 5]

That theorem is also important in the area of Homotopy theorem.[7]

Some textbooks such as Lawrence[7] call the relationship between c0 and c1 stated in Theorem 2-1 as “homotope” and the function H: [0, 1] × [0, 1] → U as “homotopy between c0 and c1”. However, “homotope” or “homotopy” in above-mentioned sense are different (stronger than) typical definitions of “homotope” or “homotopy”.[note 6] So from now on we refer to homotopy (homotope) in the sense of Theorem 2-1 as tube-like-homotopy (homotope).[note 7]

Proof of the theorem

The definitions of γ1, ..., γ4

Hereinafter, the ⊕ stands for joining paths[note 8] the \ominus stands for backwards of curve[note 9]

Let D = [0, 1] × [0, 1]. By our assumption, c1 and c2 are piecewise smooth homotopic, there are the piecewise smooth homogony H: DM

\begin{align}
&\begin{cases}\gamma_1:[0,1] \to D \\ \gamma_1(t) := (t, 0) \end{cases} \\
&\begin{cases}\gamma_2:[0,1] \to D \\ \gamma_2(s) := (1, s) \end{cases} \\
&\begin{cases}\gamma_3:[0,1] \to D \\ \gamma_3(t) := (-t+0+1, 1)\end{cases} \\
&\begin{cases}\gamma_4:[0,1] \to D \\ \gamma_4(s) := (0, 1-s) \end{cases} \\ [6pt]
\gamma(t) &:= (\gamma_1 \oplus \gamma_2 \oplus \gamma_3 \oplus \gamma_4)(t) \\
\Gamma_i(t) &:= H(\gamma_{i}(t)) && i=1, 2, 3, 4 \\
\Gamma(t) &:= H(\gamma(t)) =(\Gamma_1 \oplus \Gamma_2 \oplus \Gamma_3 \oplus \Gamma_4)(t) \\
\end{align}

And, let S be the image of D under H. Then,

\oint_{\Gamma} \mathbf{F}\, d\Gamma  = \iint_S \nabla\times\mathbf{F}\, dS

will be obvious according to the Theorem 1 and, F is Lamellar vector field that, right side of that equation is zero, so,

\oint_{\Gamma} \mathbf{F}\, d\Gamma =0

Here,

\oint_{\Gamma} \mathbf{F}\, d\Gamma =\sum_{i=1}^{4} \oint_{\Gamma_i} \mathbf{F} d\Gamma [note 8]

and, H is Tubeler-Homotopy that,

\Gamma_{2}(s)= {\Gamma}_{4}(1-s)=\ominus{\Gamma}_{4}(s)

that, line integral along Γ2(s) and line integral along Γ4(s) are compensated each other[note 9] so,

\oint_{{\Gamma}_{1}} \mathbf{F} d\Gamma +\oint_{\Gamma_3} \mathbf{F} d\Gamma =0

On the other hand,

c_{1}(t)=H(t,0)=H({\gamma}_{1}(t))={\Gamma}_{1}(t)
c_{2}(t)=H(t,1)=H(\ominus{\gamma}_{3}(t))=\ominus{\Gamma}_{3}(t)

that, subjected equation is proved.

Application for conservative force

Helmholtz's theorem, gives an explanation as to why the work done by a conservative force in changing an object's position is path independent. First, we introduce the Lemma 2-2, which is a corollary of and a special case of Helmholtz's theorem.

Lemma 2-2, obviously follows from Theorem 2-1. In Lemma 2-2, the existence of H satisfying [SC0] to [SC3] is crucial. It is a well-known fact that, if U is simply connected, such H exists. The definition of Simply connected space follows:

You will find that, the [SC1] to [SC3] of both Lemma 2-2 and Definition 2-2 is same.

So, someone may think that, "for a conservative force, the work done in changing an object's position is path independent" is elucidated. However there are very large gaps between following two:

  • There are continuous H such that it satisfies [SC1] to [SC3]
  • There are piecewise smooth H such that it satisfies [SC1] to [SC3]

To fill that gap, the deep knowledge of Homotopy Theorem is required. For example the following resources may be helpful for you.

Considering above-mentioned fact and Lemma 2-2, we will obtain following theorem.

Kelvin–Stokes theorem on singular 2-cube and cube subdivisionable sphere

Singular 2-cube and boundary

We omit the proof of the lemma. Using the lemma from now we consider all singular 2-cubes to be notarized. In other words we assume that the domain of all singular 2-cubes is I × I.

In order to facilitate the discussion of boundary, we define

\begin{cases} \delta_{[k,j,c]}:\mathbf{R}^k \to \mathbf{R}^{k+1} \\ \delta_{[k,j,c]}(t_1,\cdots,t_k):= \left (t_1,\cdots,t_{j-1},c,t_{j+1},\cdots,t_k \right )\end{cases}

γ1, ..., γ4 are the one-dimensional edges of the image of I × I.Hereinafter, the ⊕ stands for joining paths[note 8] and, the \ominus stands for backwards of curve.[note 9]

\begin{align}
&\begin{cases} \gamma_{1}:[0, 1] \to I^2 \\ \gamma_{1}(t) := {\delta}_{[1,2,0]}(t)=(t,0) \end{cases} \\
&\begin{cases} \gamma_{2}:[0, 1] \to I^2 \\ \gamma_{2}(t) :={\delta}_{[1,1,1]}(t)=(1, t) \end{cases} \\
&\begin{cases} \gamma_{3}:[0, 1] \to I^2 \\ \gamma_{3}(t) := \ominus{\delta}_{[1,2,1]}(t)= (-t+0+1, 1)\end{cases} \\
&\begin{cases} \gamma_{4}:[0, 1] \to I^2 \\ \gamma_{4}(t) := \ominus{\delta}_{[1,1,0]}(t) =(0, 1-t)\end{cases} \\ [6pt]
\gamma(t) &:= (\gamma_{1} \oplus \gamma_{2} \oplus \gamma_{3} \oplus \gamma_{4})(t) \\
\Gamma_{i}(t) &:= \varphi(\gamma_{i}(t)) && i=1, 2, 3, 4 \\
\Gamma(t) &:= \varphi(\gamma(t)) =(\Gamma_{1} \oplus \Gamma_{2} \oplus \Gamma_{3} \oplus \Gamma_{4})(t)
\end{align}

Cube subdivision

The definition of the boundary of the Definitions 3-3 is apparently depends on the cube subdivision. However, considering the following fact, the boundary is not depends on the cube subdivision.

Therefore the following Definition is well-defined:

Lua error in package.lua at line 80: module 'strict' not found.

Notes

  1. γ and Γ are both loops, however, Γ is not necessarily a Jordan curve
  2. 2.0 2.1 2.2 Knowledge of differential forms and identification of the vector field A = (a1, a2, a3),
    \mathbf{A} = \omega_{\mathbf{A}} = a_1 dx_1+a_2 dx_2+a_3 dx_3
    \mathbf{A} = {}^* \omega_{\mathbf{A}} = a_1 dx_2 \wedge dx_3+a_2dx_3 \wedge dx_1+a_3dx_1 \wedge dx_2
    admits a proof similar to the proof using the pullback of ωF. Under the identification ωF = F the following equations are satisfied.
    \begin{align}
\nabla\times\mathbf{F} &= d\omega_{\mathbf{F}} \\
\psi^{*}\omega_{\mathbf{F}} &= P_1du +P_2dv \\
\psi^{*}(d \omega_{\mathbf{F}}) &= \left (\frac{\partial P_2}{\partial u} -  \frac{\partial P_1}{\partial v} \right ) du\wedge dv
\end{align}
    Here, d stands for exterior derivative of the differential form, ψ stands for pull back by ψ and, P1 and P2 are same as P1 and P2 of the body text of this article respectively.
  3. 3.0 3.1 3.2 Given a n × m matrix A we define a bilinear form:
     \mathbf{x} \in \mathbf{R}^m, \mathbf{y} \in \mathbf{R}^n \ : \qquad \left\langle \mathbf{x} |A|  \mathbf{y} \right\rangle  ={}^{t}\mathbf{x}A\mathbf{y}
    which also satisfies (tA is the transpose of the matrix A):
     \left \langle \mathbf{x} |A| \mathbf{y} \right \rangle= \left \langle \mathbf{y} \left |{}^t A \right| \mathbf{x} \right \rangle.
     \left \langle \mathbf{x} |A| \mathbf{y} \right \rangle + \left \langle \mathbf{x} |B| \mathbf{y}\right \rangle = \left \langle \mathbf{x} |A+B|\mathbf{y}\right \rangle
  4. We prove following (★0).
    ({(J\mathbf{F})}_{\psi(u,v)} - {}^{t}{(J\mathbf{F})}_{\psi(u,v)}) \mathbf{x} =(\nabla\times\mathbf{F})\times \mathbf{x}, \quad \text{for all}\, \mathbf{x}\in\mathbf{R}^{3} (★0)
    First, we note the linearity of the algebraic operator a × and we obtain its matrix representation (see linear map). Let both of a and x be 3-dimensional column vectors, represented as follows,
     \mathbf{a}= \begin{pmatrix} a_1\\ a_2\\ a_3 \end{pmatrix}, \quad  \mathbf{x}= \begin{pmatrix} x_1\\ x_2\\ x_3 \end{pmatrix}
    Then, according to the definition of the cross product, a × x are represented as follows.
     \mathbf{a}\times\mathbf{x}= \begin{pmatrix} a_2 x_3-a_3 x_2\\ a_3 x_1-a_1 x_3\\ a_1 x_2-a_2 x_1\end{pmatrix}
    Therefore, when we apply the operator a × to each of the standard basis, we obtain following, and thus, the matrix representation of a × as shown in (★1).
    \mathbf{a}\times\mathbf{e}_1 = \begin{pmatrix} 0 \\ a_3\\ -a_2 \end{pmatrix}, \quad \mathbf{a}\times \mathbf{e}_{2}= \begin{pmatrix} -a_3\\ 0\\ a_1 \end{pmatrix}, \quad  \mathbf{a}\times\mathbf{e}_{3}= \begin{pmatrix} a_2\\ -a_1\\ 0 \end{pmatrix} 
    \mathbf{a}\times\mathbf{x}= \begin{pmatrix} 0&-a_3&a_2\\ a_3&0&-a_1\\ -a_2&a_1&0 \end{pmatrix} \begin{pmatrix} x_1\\ x_2\\ x_3 \end{pmatrix} (★1)
    Next, let A=(a_{ij}) is a 3 × 3 matrix and using the following substitution, (a1, ... , a3 are components of a),
    {a}_{1}={a}_{32}-{a}_{23} (★2-1)
    {a}_{2}={a}_{13}-{a}_{31} (★2-2)
    {a}_{3}={a}_{21}-{a}_{12} (★2-3)
    Then we obtain following (★3) from the (★1).
    (A-{}^t A)\mathbf{x}=\mathbf{a}\times\mathbf{x} (★3)
    We substitute the JF to above mentioned A, under the substitution of (★2-1), (★2-2), and (★2-3), we obtain the following (★4)
    \mathbf{a}=(\nabla\times\mathbf{F}) (★4)
    The (★0) is obvious from (★3) and (★4).
  5. There are a number of theorems with the same name, however they are not necessarily the same.
  6. Typical definition of homotopy and homotope are as follows.
  7. In some textbooks such as Lua error in package.lua at line 80: module 'strict' not found. use the term of homotopy and homotope in Theorem 2-1 sense. homotopy and homotope in Theorem 2-1 sense Indeed, it is convenience to adopt such sense to discuss conservative force. However, homotopy in Theorem 2-1 sense and homotope in Theorem 2-1 sense are different from and stronger than homotopy in typical sense and homotope in typical sense. So there are no appropriate terminology which can discriminate between homotopy in typical sense and sense of Theorem 2-1. In this article, to avoid ambiguity and to discriminate between them, we will define two “just-in-time term”, tube-like homotopy and tube-like homotope as follows.
  8. 8.0 8.1 8.2 If the two curves α: [a1, b1] → M, β: [a2, b2] → M, satisfy α(b1) = β(a2) then, we can define new curve αβ so that, for all smooth vector field F (if domain of which includes image of αβ)
    \int_{\alpha\oplus \beta} \mathbf{F} \, d(\alpha\oplus \beta)= \int_\alpha \mathbf{F} \, d\alpha + \int_\beta \mathbf{F}\, d\beta
    which is also used when we define the fundamental group. To do so, accurate definition of the “joint of paths” is as follows.
  9. 9.0 9.1 9.2 Given curve on M, α: [a1, b1] → M, we can define new curve \ominusα so that, for all smooth vector field F (if domain of which includes image of α)
    \int_{\ominus\alpha} \mathbf{F} \, d(\ominus\alpha)= -\int_{\alpha}\mathbf{F} \, d\alpha,
    which is also used when we define fundamental group. To do so, accurate definition of the “backwards of curve” is as follows.

    And, given two curves on M, α: [a1, b1] → M, β: [a2, b2] → M, which satisfy α(b1 = β(b2) (that means α(b1) = \ominus β(a2), we can define \alpha\ominus\beta as following manner.

    \alpha\ominus\beta:=\alpha\oplus(\ominus\beta)

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 This proof is based on the Lecture Notes given by Prof. Robert Scheichl (University of Bath, U.K) [1], please refer the [2]
  3. 3.0 3.1 3.2 This proof is also same to the proof shown in
  4. 4.0 4.1 4.2 4.3 4.4 Nagayoshi Iwahori, et.al:"Bi-Bun-Seki-Bun-Gaku" Sho-Ka-Bou(jp) 1983/12 ISBN 978-4-7853-1039-4 [3](Written in Japanese)
  5. 5.0 5.1 Atsuo Fujimoto;"Vector-Kai-Seki Gendai su-gaku rekucha zu. C(1)" Bai-Fu-Kan(jp)(1979/01) ISBN 978-4563004415 [4] (Written in Japanese)
  6. http://mathworld.wolfram.com/CurlTheorem.html
  7. 7.0 7.1 7.2 7.3 7.4 7.5 7.6 Lawrence Conlon; "Differentiable Manifolds (Modern Birkhauser Classics)" Birkhaeuser Boston (2008/1/11) [5]
  8. 8.0 8.1 8.2 8.3 8.4 8.5 John M. Lee; "Introduction to Smooth Manifolds (Graduate Texts in Mathematics, 218) "Springer (2002/9/23) [6] [7]
  9. L. S. Pontryagin, Smooth manifolds and their applications in homotopy theory, American Mathematical Society Translations, Ser. 2, Vol. 11, American Mathematical Society, Providence, R.I., 1959, pp. 1–114. MR 0115178 (22 #5980 [8])[9]
  10. Lua error in package.lua at line 80: module 'strict' not found.