Encyclopedia Geometry Geometry Regge Action First Variation Local Angle Length Chain Deriv Eq Sq Edge

ARTICLE 3 claims 3 theorems

Geometry Regge Action First Variation Local Angle Length Chain Deriv Eq Sq Edge

In a curved three-dimensional space built from flat tetrahedra, a machine-checked theorem proves that two different ways of measuring how angles respond to a deformation always agree.

Two paths to one derivative

Regge calculus is a way of doing general relativity on a discrete grid. Instead of a smooth curved spacetime, you build the geometry from flat building blocks, tetrahedra in three dimensions, glued together along their triangular faces. The curvature lives only along the shared edges, where the angles of the surrounding tetrahedra fail to add up to a full circle. That mismatch, the deficit angle, is what plays the role of curvature in the discrete theory.

When you deform such a grid, by moving a vertex, every edge length and every dihedral angle changes. The derivative of a dihedral angle with respect to a deformation is a quantity that appears constantly in the equations of motion. There are two natural ways to compute it. One path goes directly through the squared edge lengths, using the closed-form formula for a dihedral angle in terms of the six edge lengths of a tetrahedron. The other path goes through the edge lengths themselves, first differentiating the angle with respect to length, then multiplying by the derivative of length with respect to the deformation. The theorem localAngleLengthChainDeriv_eq_sqEdgeChainDeriv proves that these two paths give the same answer, for every tetrahedron, every edge, and every deformation direction.

This is a chain rule identity. It says that the composite derivative you get by going angle to length to deformation equals the direct derivative you get by going angle to squared length to deformation. The proof is a formal, machine-checked argument in the framework's library of formal theorems. It does not assume anything about the deformation being small or the geometry being nearly flat; it holds for any deformation direction at any configuration. The identity is a local statement, meaning it concerns a single tetrahedron and its six edges, not the global sum over the whole triangulation.

In Recognition Science, this identity is one of the pieces needed for a larger target: showing that the first variation of the full nonlinear Regge action vanishes at the flat conformal potential. That target is stated in the module as a named input, not yet proved. The chain rule identity is a proved step on the way, but it is not the whole variation. It does not establish that the action is critical, nor that flat space is a solution of the discrete Einstein equations. It only establishes that two derivative formulas agree.

What the identity makes possible is a cleaner bookkeeping. Because the two paths agree, a calculation can switch freely between them, using whichever form is more convenient for the next step. In particular, the squared-edge form is what connects to the conformal deformation that the larger argument uses. The identity is the bridge that lets the angle derivative be expressed in the coordinates where the rest of the variation is computed.

THEOREM localAngleLengthChainDeriv_eq_sqEdgeChainDeriv · IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean
localAngleLengthChainDeriv_eq_sqEdgeChainDeriv · IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean:427
theorem localAngleLengthChainDeriv_eq_sqEdgeChainDeriv
    (K : Triangulation3D) (hK : IncidenceConsistent K)
    (η : VertexPotential K) (τ : Fin K.nT) (f : Fin 6) :
    localAngleLengthChainDeriv K hK η τ f =
      localAngleSqEdgeChainDeriv K η τ f := by
  unfold localAngleLengthChainDeriv localAngleSqEdgeChainDeriv
  refine Finset.sum_congr rfl ?_
  intro k _
  have htet :
      ((triangulationSchlaefliData_of_incidence K hK).tetData τ).dihedralDeriv f k =
        dihedralClosedDerivLength (K.tet τ) f k := by
    rfl
  rw [htet]
  unfold localEdgeLengthDirectionalDeriv conformalLocalSqEdgeDirectionalDeriv
    dihedralClosedDerivLength
  let uv := ReggeRigorousFoundation.edgeVertices k
  have hsqrt_sq :
      Real.sqrt ((K.tet τ).sqEdge k) * Real.sqrt ((K.tet τ).sqEdge k) =
        (K.tet τ).sqEdge k := by
    rw [← sq]
    exact Real.sq_sqrt (le_of_lt ((K.tet τ).sqEdge_pos k))
  have hsqrt_sq_pow :
      Real.sqrt ((K.tet τ).sqEdge k) ^ 2 = (K.tet τ).sqEdge k := by
    simpa [pow_two] using hsqrt_sq
  rw [mul_assoc]
  ring_nf
  rw [hsqrt_sq_pow]
  ring
THEOREM localAngleLengthChainDeriv_eq_sqEdgeChainDeriv · IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean
localAngleLengthChainDeriv_eq_sqEdgeChainDeriv · IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean:427
theorem localAngleLengthChainDeriv_eq_sqEdgeChainDeriv
    (K : Triangulation3D) (hK : IncidenceConsistent K)
    (η : VertexPotential K) (τ : Fin K.nT) (f : Fin 6) :
    localAngleLengthChainDeriv K hK η τ f =
      localAngleSqEdgeChainDeriv K η τ f := by
  unfold localAngleLengthChainDeriv localAngleSqEdgeChainDeriv
  refine Finset.sum_congr rfl ?_
  intro k _
  have htet :
      ((triangulationSchlaefliData_of_incidence K hK).tetData τ).dihedralDeriv f k =
        dihedralClosedDerivLength (K.tet τ) f k := by
    rfl
  rw [htet]
  unfold localEdgeLengthDirectionalDeriv conformalLocalSqEdgeDirectionalDeriv
    dihedralClosedDerivLength
  let uv := ReggeRigorousFoundation.edgeVertices k
  have hsqrt_sq :
      Real.sqrt ((K.tet τ).sqEdge k) * Real.sqrt ((K.tet τ).sqEdge k) =
        (K.tet τ).sqEdge k := by
    rw [← sq]
    exact Real.sq_sqrt (le_of_lt ((K.tet τ).sqEdge_pos k))
  have hsqrt_sq_pow :
      Real.sqrt ((K.tet τ).sqEdge k) ^ 2 = (K.tet τ).sqEdge k := by
    simpa [pow_two] using hsqrt_sq
  rw [mul_assoc]
  ring_nf
  rw [hsqrt_sq_pow]
  ring
THEOREM localAngleLengthChainDeriv_eq_sqEdgeChainDeriv · IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean
localAngleLengthChainDeriv_eq_sqEdgeChainDeriv · IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean:427
theorem localAngleLengthChainDeriv_eq_sqEdgeChainDeriv
    (K : Triangulation3D) (hK : IncidenceConsistent K)
    (η : VertexPotential K) (τ : Fin K.nT) (f : Fin 6) :
    localAngleLengthChainDeriv K hK η τ f =
      localAngleSqEdgeChainDeriv K η τ f := by
  unfold localAngleLengthChainDeriv localAngleSqEdgeChainDeriv
  refine Finset.sum_congr rfl ?_
  intro k _
  have htet :
      ((triangulationSchlaefliData_of_incidence K hK).tetData τ).dihedralDeriv f k =
        dihedralClosedDerivLength (K.tet τ) f k := by
    rfl
  rw [htet]
  unfold localEdgeLengthDirectionalDeriv conformalLocalSqEdgeDirectionalDeriv
    dihedralClosedDerivLength
  let uv := ReggeRigorousFoundation.edgeVertices k
  have hsqrt_sq :
      Real.sqrt ((K.tet τ).sqEdge k) * Real.sqrt ((K.tet τ).sqEdge k) =
        (K.tet τ).sqEdge k := by
    rw [← sq]
    exact Real.sq_sqrt (le_of_lt ((K.tet τ).sqEdge_pos k))
  have hsqrt_sq_pow :
      Real.sqrt ((K.tet τ).sqEdge k) ^ 2 = (K.tet τ).sqEdge k := by
    simpa [pow_two] using hsqrt_sq
  rw [mul_assoc]
  ring_nf
  rw [hsqrt_sq_pow]
  ring

What this page does not claim

The theorem does not prove that the first variation of the Regge action vanishes. The theorem does not establish that flat space is a critical point of the discrete Einstein equations. The theorem does not apply to deformations that move vertices outside the original triangulation.

Verify this page

Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:

$ lake env lean IndisputableMonolith/Geometry/ReggeActionFirstVariation.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)

A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.

Derived articles

This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND