Body-Pin Rigidity

1.3. Local rigidity and the regular locus🔗

The formalization does not cite Asimow and Roth. For a finite simple graph in any dimension it proves the equivalence Theorem 1.1 needs of them: attaining the complete graph's maximum rigidity rank is the same condition as local rigidity at every placement of some open dense set. The argument is analytic, and it was added to the formalization after the paper was released. We recall the Euclidean vocabulary it is stated in, then the placements at which the comparison is made, and then the equivalence itself. Throughout, \rho_d(G) is the maximum rank of R_G over placements V \to \R^d, so \rho_3 is the rank function of the maximum-rank definition, and K is the complete graph on the vertices of G.

Definition1.3.1
Group: The Euclidean statements the formalization proves in place of that citation: local rigidity on an open dense set of placements, rigidity against continuous motions, and the vocabulary both are stated in. (3)
Group member previews
Preview
Theorem 1.3.2
Loading preview
Group member preview content is loaded from the Blueprint HTML cache.
uses 1
Used by 2
Reverse dependency previews
Preview
Theorem 1.3.3
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
✓L∃∀N

Two placements of a graph are equivalent when corresponding edges have equal lengths in both, and congruent when every pair of vertices is at the same distance in both. A placement p is locally rigid when every placement near enough to p and equivalent to it is congruent to it. The squared edge-length map sends a placement to the squared lengths of its edges and a nonadjacent pair to zero; its derivative at p is twice R_G(p).

Lean code for Definition1.3.1●4 definitions
  • complete
    def RB31E2E.BarJoint.squaredLengthMap {V : Type} {d : ℕ} (G : SimpleGraph V)
      (p : RB31E2E.BarJoint.Placement V d) : V × V → ℝ
    def RB31E2E.BarJoint.squaredLengthMap
      {V : Type} {d : ℕ} (G : SimpleGraph V)
      (p : RB31E2E.BarJoint.Placement V d) :
      V × V → ℝ
    The squared edge-length map.  Coordinates indexed by nonedges are zero. 
  • complete
    def RB31E2E.BarJoint.IsEquivalent {V : Type} {d : ℕ} (G : SimpleGraph V)
      (p q : RB31E2E.BarJoint.Placement V d) : Prop
    def RB31E2E.BarJoint.IsEquivalent {V : Type}
      {d : ℕ} (G : SimpleGraph V)
      (p q : RB31E2E.BarJoint.Placement V d) :
      Prop
    Two placements are equivalent if corresponding graph edges have the same
    Euclidean length. 
  • complete
    def RB31E2E.BarJoint.IsCongruent {V : Type} {d : ℕ}
      (p q : RB31E2E.BarJoint.Placement V d) : Prop
    def RB31E2E.BarJoint.IsCongruent {V : Type}
      {d : ℕ}
      (p q : RB31E2E.BarJoint.Placement V d) :
      Prop
    Two labelled placements are congruent if every pairwise Euclidean
    distance agrees. 
  • complete
    def RB31E2E.BarJoint.IsLocallyRigid {V : Type} {d : ℕ} (G : SimpleGraph V)
      (p : RB31E2E.BarJoint.Placement V d) : Prop
    def RB31E2E.BarJoint.IsLocallyRigid {V : Type}
      {d : ℕ} (G : SimpleGraph V)
      (p : RB31E2E.BarJoint.Placement V d) :
      Prop
    A framework is locally rigid when every sufficiently close equivalent
    placement is congruent to it. 

Distances are Euclidean, and taking them costs a change of norm. The coordinate space (\R^d)^V on which the rigidity operator is defined carries the supremum norm, so a placement is moved to its L^2 counterpart by toEuclideanPlacement before any distance is measured. The two spaces are continuously linearly isomorphic and hence homeomorphic, so each of the three notions above also has a native Euclidean form — EuclideanIsEquivalent, EuclideanIsCongruent and EuclideanIsLocallyRigid — and each of those is proved equivalent to the coordinate form it is written from.

/-- The squared edge-length map. Coordinates indexed by nonedges are zero. -/ noncomputable def squaredLengthMap {V : Type} {d : ℕ} (G : SimpleGraph V) (p : Placement V d) : V × V → ℝ := V:Typed:ℕG:SimpleGraph Vp:Placement V d⊢ V × V → ℝ classical All goals completed! 🐙/-- Two placements are equivalent if corresponding graph edges have the same Euclidean length. -/ def IsEquivalent {V : Type} {d : ℕ} (G : SimpleGraph V) (p q : Placement V d) : Prop := ∀ v w : V, G.Adj v w → dist (toEuclideanPoint (p v)) (toEuclideanPoint (p w)) = dist (toEuclideanPoint (q v)) (toEuclideanPoint (q w))/-- Two labelled placements are congruent if every pairwise Euclidean distance agrees. -/ def IsCongruent {V : Type} {d : ℕ} (p q : Placement V d) : Prop := ∀ v w : V, dist (toEuclideanPoint (p v)) (toEuclideanPoint (p w)) = dist (toEuclideanPoint (q v)) (toEuclideanPoint (q w))/-- A framework is locally rigid when every sufficiently close equivalent placement is congruent to it. -/ def IsLocallyRigid {V : Type} {d : ℕ} (G : SimpleGraph V) (p : Placement V d) : Prop := ∀ᶠ q in nhds p, IsEquivalent G p q → IsCongruent p q

Local rigidity concerns a neighbourhood of p and nothing beyond it: a distant equivalent placement may fail to be congruent to p, and no statement below asserts otherwise. Since congruence is equality of all pairwise distances, G is locally rigid at p exactly when the level set of its own squared edge-length map through p is contained, near p, in the level set of K's through p. By hasStrictFDerivAt_squaredLengthMap the derivative of the squared edge-length map at p is 2R_G(p), so map and operator have the same kernel and the same rank at every placement, and the rigidity matrix of (1.4) is the linearization of the edge-length constraints.

Theorem1.3.2
Group: The Euclidean statements the formalization proves in place of that citation: local rigidity on an open dense set of placements, rigidity against continuous motions, and the vocabulary both are stated in. (3)
Group member previews
Preview
Definition 1.3.1
Loading preview
Group member preview content is loaded from the Blueprint HTML cache.
uses 1
Used by 2
Reverse dependency previews
Preview
Theorem 1.3.3
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
✓L∃∀N

A placement is regular for G when R_G attains the rank \rho_d(G) there, and generic when it is regular for every simple graph on the same vertex set at once. For each G the regular placements are open and dense in (\R^d)^V; so are the generic placements, and in particular a generic placement exists.

Lean code for Theorem1.3.2●4 declarations
  • def RB31E2E.BarJoint.IsRegularPlacement {V : Type} [Fintype V] {d : ℕ}
      (G : SimpleGraph V) (p : RB31E2E.BarJoint.Placement V d) : Prop
    def RB31E2E.BarJoint.IsRegularPlacement
      {V : Type} [Fintype V] {d : ℕ}
      (G : SimpleGraph V)
      (p : RB31E2E.BarJoint.Placement V d) :
      Prop
    A placement is regular for `G` when the rigidity operator has its maximum
    attained rank there. 
  • def RB31E2E.BarJoint.IsGenericPlacement {V : Type} [Fintype V] {d : ℕ}
      (p : RB31E2E.BarJoint.Placement V d) : Prop
    def RB31E2E.BarJoint.IsGenericPlacement
      {V : Type} [Fintype V] {d : ℕ}
      (p : RB31E2E.BarJoint.Placement V d) :
      Prop
    A placement is generic when it is regular for every simple graph on the
    same labelled vertex set. 
  • complete
    theorem RB31E2E.BarJoint.dense_isRegularPlacement {V : Type} [Fintype V] {d : ℕ}
      (G : SimpleGraph V) :
      Dense {p | RB31E2E.BarJoint.IsRegularPlacement G p}
    theorem RB31E2E.BarJoint.dense_isRegularPlacement
      {V : Type} [Fintype V] {d : ℕ}
      (G : SimpleGraph V) :
      Dense
        {p |
          RB31E2E.BarJoint.IsRegularPlacement
            G p}
    The regular placements of a fixed graph are dense. 
  • complete
    theorem RB31E2E.BarJoint.exists_isGenericPlacement {V : Type} [Fintype V]
      (d : ℕ) : ∃ p, RB31E2E.BarJoint.IsGenericPlacement p
    theorem RB31E2E.BarJoint.exists_isGenericPlacement
      {V : Type} [Fintype V] (d : ℕ) :
      ∃ p,
        RB31E2E.BarJoint.IsGenericPlacement p
    A finite labelled vertex set admits a placement regular for every simple
    graph on that set. 
Proof for Theorem 1.3.2

A lower bound k on the rank is an open condition, since it holds exactly where some k \times k minor of R_G is nonzero and the entries of R_G are polynomial in the placement. No placement gives a rank above \rho_d(G), so the regular placements are exactly the placements satisfying that bound for k = \rho_d(G), and they are open. For density, take any placement p and a placement w of rank \rho_d(G), and restrict R_G to the segment from p to w. A minor of size \rho_d(G) is then a polynomial in the segment parameter whose value at w is nonzero, so it has finitely many roots and cannot vanish throughout a subinterval; points of the segment arbitrarily close to p are therefore regular. A finite vertex set admits only finitely many simple graphs, so the generic placements are a finite intersection of open dense sets, hence open and dense, and nonempty because the space of placements is.

The necessity chapter's avoidance argument is the same interpolation along a segment, with the determinant of one body's core displacements in place of a minor of the rigidity operator.

Asimow and Roth prove this openness and density, and prove in addition that the complement is Lebesgue-null. The formalization does not prove the null complement, and the register has an entry for the difference. No step below needs it, since every use made of a regular placement here is a use of density.

Generic in the formalization means simultaneous regularity for every graph on the vertex set, and it is not algebraic independence of the coordinates; the two are nowhere identified. The open dense set in the statement below mentions no rank at all.

/-- A placement is regular for `G` when the rigidity operator has its maximum attained rank there. -/ def IsRegularPlacement {V : Type} [Fintype V] {d : ℕ} (G : SimpleGraph V) (p : Placement V d) : Prop := rigidityRank G p = genericRigidityRank G d/-- A placement is generic when it is regular for every simple graph on the same labelled vertex set. -/ def IsGenericPlacement {V : Type} [Fintype V] {d : ℕ} (p : Placement V d) : Prop := ∀ G : SimpleGraph V, IsRegularPlacement G p
Theorem1.3.3
Group: The Euclidean statements the formalization proves in place of that citation: local rigidity on an open dense set of placements, rigidity against continuous motions, and the vocabulary both are stated in. (3)
Group member previews
Preview
Definition 1.3.1
Loading preview
Group member preview content is loaded from the Blueprint HTML cache.
Statement uses 3
Statement dependency previews
Preview
Definition 1.2.2
Loading preview
Statement dependency preview content is loaded from the Blueprint HTML cache.
Used by 2
Reverse dependency previews
Preview
Theorem 1.5.1
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
✓L∃∀N

A graph attains the complete graph's maximum rigidity rank if and only if it is locally rigid at every placement of some open dense set. For the expanded body–pin graph the partition condition is therefore equivalent to local rigidity on an open dense set of placements, and at a generic placement it is equivalent to local rigidity at that placement.

Lean code for Theorem1.3.3●5 declarations
  • complete
    def RB31E2E.BarJoint.EuclideanIsGenericallyLocallyRigid {V : Type}
      (G : SimpleGraph V) (d : ℕ) : Prop
    def RB31E2E.BarJoint.EuclideanIsGenericallyLocallyRigid
      {V : Type} (G : SimpleGraph V) (d : ℕ) :
      Prop
    The open-dense geometric property using native Euclidean placements. 
  • complete
    theorem RB31E2E.BarJoint.euclideanIsGenericallyLocallyRigid_iff_isGenericallyRigid
      {V : Type} [Fintype V] (G : SimpleGraph V) (d : ℕ) :
      RB31E2E.BarJoint.EuclideanIsGenericallyLocallyRigid G d ↔
        RB31E2E.BarJoint.IsGenericallyRigidInDimension G d
    theorem RB31E2E.BarJoint.euclideanIsGenericallyLocallyRigid_iff_isGenericallyRigid
      {V : Type} [Fintype V]
      (G : SimpleGraph V) (d : ℕ) :
      RB31E2E.BarJoint.EuclideanIsGenericallyLocallyRigid
          G d ↔
        RB31E2E.BarJoint.IsGenericallyRigidInDimension
          G d
    Native Euclidean generic local rigidity is equivalent to maximum rank. 
  • defdefined in RB31Geometric.lean
    complete
    def RB31E2E.EndToEndGeometricBodyPinStatement : Prop
    def RB31E2E.EndToEndGeometricBodyPinStatement :
      Prop
    The partition criterion is equivalent to local Euclidean rigidity on an
    open dense set of placements of the expanded body--pin graph. 
  • theoremdefined in RB31Geometric.lean
    complete
    theorem RB31E2E.endToEndGeometricBodyPinStatement :
      RB31E2E.EndToEndGeometricBodyPinStatement
    theorem RB31E2E.endToEndGeometricBodyPinStatement :
      RB31E2E.EndToEndGeometricBodyPinStatement
    The unconditional body--pin theorem in geometric local-rigidity form. 
  • theoremdefined in RB31Geometric.lean
    complete
    theorem RB31E2E.bodyPin_isLocallyRigid_iff_partition_of_isGenericPlacement
      (H : RB31E2E.BodyPinIncidence) (extra : H.Body → ℕ)
      (p : RB31E2E.BarJoint.Placement (H.BPVertex extra) 3)
      (hp : RB31E2E.BarJoint.IsGenericPlacement p) :
      RB31E2E.BarJoint.IsLocallyRigid (H.bodyPinGraph extra) p ↔
        H.PartitionCondition
    theorem RB31E2E.bodyPin_isLocallyRigid_iff_partition_of_isGenericPlacement
      (H : RB31E2E.BodyPinIncidence)
      (extra : H.Body → ℕ)
      (p :
        RB31E2E.BarJoint.Placement
          (H.BPVertex extra) 3)
      (hp :
        RB31E2E.BarJoint.IsGenericPlacement
          p) :
      RB31E2E.BarJoint.IsLocallyRigid
          (H.bodyPinGraph extra) p ↔
        H.PartitionCondition
    At every simultaneously regular real placement of the expanded graph,
    ordinary local Euclidean rigidity is equivalent to the partition criterion. 
Proof for Theorem 1.3.3

Suppose R_G has rank \rho_d(K) at p, and let q be equivalent to p, with midpoint m. For every pair vw, the squared distance at q less the squared distance at p is twice the value of R_G(m)(q - p) at vw, so equality on the edges of G puts q - p in \ker R_G(m). The midpoint tends to p as q does and a rank bound is an open condition, so for q near enough to p the rank of R_G at m is again \rho_d(K); no rank exceeds \rho_d(K) and G \subseteq K, so R_G and R_K have equal rank at m and hence equal kernel there. Reading the same identity at every pair now gives p and q equal pairwise distances. This is isLocallyRigid_of_rigidityRank_eq_complete_genericRank, and the regular locus of G serves as the open dense set.

Conversely, let p be regular for G and locally rigid. Near p a placement with the edge lengths of p has all the pairwise distances of p, so the squared edge-length map of K is constant on the local level set of the squared edge-length map of G. At a maximum-rank point of a C^1 map, the implicit function theorem gives a slice of the level set through that point whose tangent directions at it are the whole kernel of the derivative, so a second C^1 map constant on the level set annihilates that kernel; this is ker_fderiv_le_of_eventually_level_imp, and with the two squared edge-length maps it gives \ker R_G(p) \subseteq \ker R_K(p). The reverse inclusion holds because G \subseteq K, so the kernels and then the ranks agree at p, and if p is regular for K as well this reads \rho_d(G) = \rho_d(K). An open dense set of locally rigid placements meets the dense set of generic placements, and a generic placement is regular for both graphs.

Two things separate this from the theorem above, and the register records both. Where Asimow and Roth state a rank formula in the dimension of the affine hull, the formalization compares with the complete graph on the same vertices, which agrees with the formula on frameworks large enough for it and stays correct on the small ones where it fails; the empty vertex set and dimension zero are included in the statement. And where the paper says generic, the formal statement says on an open dense set; whether those name the same class of placements is a reading question, and the reason this node is a deviation rather than a mapping.

Regularity of K is a hypothesis of the pointwise comparison and not a convenience. Two unit bars forming a straight three-vertex path in \R^3 are the standing example. At that collinear placement the path and K_3 both have rank 2, and yet one bar rotates about the middle vertex, so the path is not locally rigid there; K_3 attains its maximum rank 3 only off the line, so the placement is not regular for it. The equivalence above compares with the maximum rank of K rather than with its rank at p, and the pointwise form isLocallyRigid_iff_of_isGenericPlacement asks for a generic placement, which is regular for both graphs at once.

/-- The open-dense geometric property using native Euclidean placements. -/ def EuclideanIsGenericallyLocallyRigid (G : SimpleGraph V) (d : ℕ) : Prop := ∃ U : Set (V → EuclideanSpace ℝ (Fin d)), IsOpen U ∧ Dense U ∧ ∀ p ∈ U, EuclideanIsLocallyRigid G p/-- The partition criterion is equivalent to local Euclidean rigidity on an open dense set of placements of the expanded body--pin graph. -/ def EndToEndGeometricBodyPinStatement : Prop := ∀ (H : BodyPinIncidence) (extra : H.Body → ℕ), BarJoint.EuclideanIsGenericallyLocallyRigid (H.bodyPinGraph extra) 3 ↔ H.PartitionCondition