Body-Pin Rigidity

4.2. Deleting one vertex🔗

Definition4.2.1
Group: The direction matrix over a coefficient field, the exact sequence, the ledger, and the local classification at a low-degree vertex. (7)
Group member previews
uses 1
Used by 2
Reverse dependency previews
Preview
Lemma 4.2.2
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
✓L∃∀N

Fix v \in V and set H = F - v. The retained coordinate field L = k(a_{x,i} : x \in V(H)) is generated by the coordinates of the vertices that survive, a_H is the restriction of a to V(H), and \delta_v = \operatorname{trdeg}_L K is the transcendence degree the three coordinates of a_v contribute over it, so 0 \le \delta_v \le 3. (Zheng, 2026, Section 2.2)

Lean code for Definition4.2.1●2 definitions
  • abbrev RB31E2E.DirectionStress.retainedCoordinateField.{u, v, w} {k : Type u}
      {K : Type v} {V : Type w} [Field k] [Field K] [Algebra k K]
      (a : V → Fin 3 → K) (v : V) : IntermediateField k K
    abbrev RB31E2E.DirectionStress.retainedCoordinateField.{u,
        v, w}
      {k : Type u} {K : Type v} {V : Type w}
      [Field k] [Field K] [Algebra k K]
      (a : V → Fin 3 → K) (v : V) :
      IntermediateField k K
    The intermediate function field generated by retained coordinates. 
  • def RB31E2E.DirectionStress.outsideExtensionTrdeg.{u, v, w} {k : Type u}
      {K : Type v} {V : Type w} [Field k] [Field K] [Algebra k K]
      (a : V → Fin 3 → K) (v : V) : Cardinal.{v}
    def RB31E2E.DirectionStress.outsideExtensionTrdeg.{u,
        v, w}
      {k : Type u} {K : Type v} {V : Type w}
      [Field k] [Field K] [Algebra k K]
      (a : V → Fin 3 → K) (v : V) :
      Cardinal.{v}
    The actual transcendence-degree cost of adjoining the deleted point. 
/-- The intermediate function field generated by retained coordinates. -/ abbrev retainedCoordinateField (a : V → Fin 3 → K) (v : V) : IntermediateField k K := CoordinateFieldTower.oldCoordinateField (k := k) (K := K) (retainedCoordinates a v)/-- The actual transcendence-degree cost of adjoining the deleted point. -/ def outsideExtensionTrdeg (a : V → Fin 3 → K) (v : V) : Cardinal := Algebra.trdeg (retainedCoordinateField (k := k) a v) K

The formalization represents L as an IntermediateField of K, generated by the family retainedCoordinates of the three coordinates of every vertex other than v, and \delta_v as a Cardinal. Neither definition mentions the coordinates of v: L uses only the coordinates that survive, and \delta_v is the transcendence degree of the whole of K over it. The bound \delta_v \le 3 is outsideExtensionTrdeg_le_three, and it is proved from the hypothesis that the coordinates of a generate K, not assumed. Finiteness is proved separately, because the ledger below adds \delta_v to a natural number and needs to know that the conversion loses nothing.

Lemma4.2.2
Group: The direction matrix over a coefficient field, the exact sequence, the ledger, and the local classification at a low-degree vertex. (7)
Group member previews
uses 1used by 1✓L∃∀N

Splitting edge weights along E(F) = E(H) \sqcup E_v and vertex loads along V = V(H) \sqcup \{v\} puts D_F(a)^T in lower-triangular block form with diagonal blocks A_K and C_v. The connecting map \partial_v : \ker C_v \to \operatorname{coker} A_K sends \mu to [B_v \mu], and

0 \longrightarrow \ker A_K \longrightarrow \ker D_F(a)^T \longrightarrow \ker C_v \xrightarrow{\ \partial_v\ } \operatorname{coker} A_K

is exact. (Zheng, 2026, Equation 2.1–2.3)

Lean code for Lemma4.2.2●3 declarations
  • def RB31E2E.BlockKernelExact.connectingMap.{u_1, u_2, u_3, u_4, u_5}
      {k : Type u_1} {X : Type u_2} {Z : Type u_3} {Y : Type u_4}
      {W : Type u_5} [Field k] [AddCommGroup X] [Module k X]
      [AddCommGroup Z] [Module k Z] [AddCommGroup Y] [Module k Y]
      [AddCommGroup W] [Module k W] (A : X →ₗ[k] Y) (B : Z →ₗ[k] Y)
      (C : Z →ₗ[k] W) : ↥C.ker →ₗ[k] Y ⧸ A.range
    def RB31E2E.BlockKernelExact.connectingMap.{u_1,
        u_2, u_3, u_4, u_5}
      {k : Type u_1} {X : Type u_2}
      {Z : Type u_3} {Y : Type u_4}
      {W : Type u_5} [Field k]
      [AddCommGroup X] [Module k X]
      [AddCommGroup Z] [Module k Z]
      [AddCommGroup Y] [Module k Y]
      [AddCommGroup W] [Module k W]
      (A : X →ₗ[k] Y) (B : Z →ₗ[k] Y)
      (C : Z →ₗ[k] W) :
      ↥C.ker →ₗ[k] Y ⧸ A.range
    The connecting map from the local kernel to the old-row cokernel. 
  • def RB31E2E.DirectionStress.deletedConnectingClass.{u_1, u_2} {k : Type u_1}
      {V : Type u_2} [Field k] [DecidableEq V] (F : RB31E2E.SimpleEdgeSet V)
      (a : V → Fin 3 → k) (v : V) :
      ↥(RB31E2E.DirectionStress.localEquilibriumAt F a v).ker →ₗ[k]
        (RB31E2E.DirectionStress.AwayFrom v → Fin 3 → k) ⧸
          (RB31E2E.DirectionStress.oldEquilibrium F a v).range
    def RB31E2E.DirectionStress.deletedConnectingClass.{u_1,
        u_2}
      {k : Type u_1} {V : Type u_2} [Field k]
      [DecidableEq V]
      (F : RB31E2E.SimpleEdgeSet V)
      (a : V → Fin 3 → k) (v : V) :
      ↥(RB31E2E.DirectionStress.localEquilibriumAt
              F a v).ker →ₗ[k]
        (RB31E2E.DirectionStress.AwayFrom v →
            Fin 3 → k) ⧸
          (RB31E2E.DirectionStress.oldEquilibrium
              F a v).range
    The actual child-load class of a locally equilibrated incident weight.
    Its codomain is the old-row cokernel; this is precisely the connecting map
    from the deletion exact sequence. 
  • theorem RB31E2E.DirectionStress.directionStressDim_eq_delete_add_outsideResponseKernelDim.{v,
        w}
      {K : Type v} {V : Type w} [Field K] [Fintype V] [DecidableEq V]
      (F : RB31E2E.SimpleEdgeSet V) (a : V → Fin 3 → K) (v : V) :
      RB31E2E.DirectionStress.directionStressDim F a =
        RB31E2E.DirectionStress.directionStressDim
            (RB31E2E.deleteVertexEdges F v) a +
          RB31E2E.DirectionStress.outsideResponseKernelDim F a v
    theorem RB31E2E.DirectionStress.directionStressDim_eq_delete_add_outsideResponseKernelDim.{v,
        w}
      {K : Type v} {V : Type w} [Field K]
      [Fintype V] [DecidableEq V]
      (F : RB31E2E.SimpleEdgeSet V)
      (a : V → Fin 3 → K) (v : V) :
      RB31E2E.DirectionStress.directionStressDim
          F a =
        RB31E2E.DirectionStress.directionStressDim
            (RB31E2E.deleteVertexEdges F v)
            a +
          RB31E2E.DirectionStress.outsideResponseKernelDim
            F a v
    The local response dimension is exactly the second summand in the
    kernel-exact deletion formula. 

The formalization separates the linear algebra from the graph. For arbitrary linear maps A : X \to Y, B : Z \to Y and C : Z \to W, the block map (x, z) \mapsto (Ax + Bz, Cz) has a kernel that surjects onto the kernel of z \mapsto [Bz] with fibre \ker A, and this proves the dimension count finrank_blockKernel directly, rather than as a consequence of exactness. At the graph level, edge weights split along edgeDeletionEquiv, loads split along splitVertexLoads, and under these two identifications the direction equilibrium map is the block map.

/-- The connecting map from the local kernel to the old-row cokernel. -/ def connectingMap (A : X →ₗ[k] Y) (B : Z →ₗ[k] Y) (C : Z →ₗ[k] W) : LinearMap.ker C →ₗ[k] (Y ⧸ LinearMap.range A) where toFun z := (LinearMap.range A).mkQ (B z.1) map_add' z z' := ⋯ map_smul' c z := ⋯/-- The actual child-load class of a locally equilibrated incident weight. Its codomain is the old-row cokernel; this is precisely the connecting map from the deletion exact sequence. -/ def deletedConnectingClass (F : SimpleEdgeSet V) (a : V → Fin 3 → k) (v : V) : LinearMap.ker (localEquilibriumAt F a v) →ₗ[k] ((AwayFrom v → Fin 3 → k) ⧸ LinearMap.range (oldEquilibrium F a v)) := BlockKernelExact.connectingMap (oldEquilibrium F a v) (localToOldEquilibrium F a v) (localEquilibriumAt F a v)

Of the two declarations quoted here, connectingMap is the paper's \mu \mapsto [B_v\mu] in the abstract setting — apply B, take the class modulo the image of A — and deletedConnectingClass is its value at the deletion: the source is the kernel of the local equilibrium at v, the target is the space of loads on the retained vertices modulo the image of the retained equilibrium map, and its vanishing on a star weighting says that the load the weighting induces on the retained vertices lies in the retained row space.

The formalization does not state the exactness of (2.3) itself; it states the numerical consequence s = t + u, which is the only form the induction uses.

Definition4.2.3
Group: The direction matrix over a coefficient field, the exact sequence, the ledger, and the local classification at a low-degree vertex. (7)
Group member previews
uses 1
Used by 3
Reverse dependency previews
Preview
Lemma 4.4.1
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
✓L∃∀N

Write s = \dim_K \ker D_F(a)^T, t = \dim_L \ker D_H(a_H)^T, u = \dim_K \ker \partial_v and \delta_v = \operatorname{trdeg}_L K. Then s = t + u and \operatorname{trdeg}_k K = \operatorname{trdeg}_k L + \delta_v, so the defect \Delta(F, a) = s + \operatorname{trdeg}_k K - 3|V| satisfies \Delta(F, a) = \Delta(H, a_H) + (u + \delta_v - 3). (Zheng, 2026, Equation 2.4–2.6)

Lean code for Definition4.2.3●2 declarations
  • theorem RB31E2E.CoordinateFieldTower.trdeg_deletion_ledger.{u, v, w, x}
      {k : Type u} {K : Type v} {Old : Type w} {New : Type x} [Field k]
      [Field K] [Algebra k K] [Fintype New] (old : Old → K) (new : New → K)
      (hgen :
        IntermediateField.adjoin k (Set.range old ∪ Set.range new) = ⊤) :
      Algebra.trdeg k
              ↥(RB31E2E.CoordinateFieldTower.oldCoordinateField old) +
            Algebra.trdeg
              (↥(RB31E2E.CoordinateFieldTower.oldCoordinateField old)) K =
          Algebra.trdeg k K ∧
        Algebra.trdeg
            (↥(RB31E2E.CoordinateFieldTower.oldCoordinateField old)) K ≤
          ↑(Fintype.card New)
    theorem RB31E2E.CoordinateFieldTower.trdeg_deletion_ledger.{u,
        v, w, x}
      {k : Type u} {K : Type v} {Old : Type w}
      {New : Type x} [Field k] [Field K]
      [Algebra k K] [Fintype New]
      (old : Old → K) (new : New → K)
      (hgen :
        IntermediateField.adjoin k
            (Set.range old ∪ Set.range new) =
          ⊤) :
      Algebra.trdeg k
              ↥(RB31E2E.CoordinateFieldTower.oldCoordinateField
                  old) +
            Algebra.trdeg
              (↥(RB31E2E.CoordinateFieldTower.oldCoordinateField
                  old))
              K =
          Algebra.trdeg k K ∧
        Algebra.trdeg
            (↥(RB31E2E.CoordinateFieldTower.oldCoordinateField
                old))
            K ≤
          ↑(Fintype.card New)
    Packaged deletion ledger: the tower equality and the finite extension
    bound are both derived from the literal coordinate-generation equation. 
  • def RB31E2E.DirectionStress.outsideResponseKernelDim.{v, w} {K : Type v}
      {V : Type w} [Field K] [DecidableEq V] (F : RB31E2E.SimpleEdgeSet V)
      (a : V → Fin 3 → K) (v : V) : ℕ
    def RB31E2E.DirectionStress.outsideResponseKernelDim.{v,
        w}
      {K : Type v} {V : Type w} [Field K]
      [DecidableEq V]
      (F : RB31E2E.SimpleEdgeSet V)
      (a : V → Fin 3 → K) (v : V) : ℕ
    The actual local stress increment furnished by the deletion exact
    sequence. 

Both halves of (2.5) are theorems in the formalization: the stress half is directionStressDim_eq_delete_add_outsideResponseKernelDim, and the transcendence-degree half is stated together with the bound \delta_v \le 3 as trdeg_deletion_ledger. The paper's u is formalized as outsideResponseKernelDim, quoted here.

/-- The actual local stress increment furnished by the deletion exact sequence. -/ def outsideResponseKernelDim (F : SimpleEdgeSet V) (a : V → Fin 3 → K) (v : V) : ℕ := Module.finrank K (LinearMap.ker (deletedConnectingClass F a v))

The defect \Delta itself has no Lean counterpart. The inequality \Delta \le 0 appears instead as the predicate SemismallBudget, in the form s + \operatorname{trdeg}_k K + 2|\Gamma| \le 3|V|, where \Gamma is the set of collinearity flags carried by the induction of the flags chapter and the flag-free case is \Gamma = \emptyset. Equation (2.6) therefore has no counterpart as an equation either; its arithmetic is carried out where the predicate is proved, using the local increment u + \delta_v.

If u + \delta_v \le 3, the defect does not increase and the induction hypothesis applies. The formalization defines this inequality as OutsideNonexceptional and the exceptional case as its literal negation, OutsideExceptional, so the two cases exhaust all possibilities by construction.

/-- Transparent nonexceptional gate: the response-kernel dimension fits inside the three-coordinate budget left after the extension transcendence degree is paid. -/ def OutsideNonexceptional (F : SimpleEdgeSet V) (a : V → Fin 3 → K) (v : V) : Prop := outsideResponseKernelDim F a v + (outsideExtensionTrdeg (k := k) a v).toNat ≤ 3/-- The exceptional branch is literally the failure of the local payment gate, not a stored tag. -/ def OutsideExceptional (F : SimpleEdgeSet V) (a : V → Fin 3 → K) (v : V) : Prop := ¬ OutsideNonexceptional (k := k) F a v