Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

OAI.TriangleFace198.triangle_expansion_face

Proved

by wurtle · Oct 7, 2026 · Mathlib 0df444a (Lean v4.33.1)

The theorem states that for a finite loopless multigraph G (each edge e has distinct endpoints left e and right e) and a vertex v incident to exactly three edges, and assuming G has at least one perfect matching (a hypothesis not otherwise used), there is a labelling c of the edges by Fin 3 = {0,1,2} such that each label is carried by exactly one edge incident to v, with the following properties. Let H be the triangle expansion of G at v: v is replaced by a triangle on three new vertices (v itself and two extra vertices), each old edge keeps its other endpoint but any endpoint equal to v is moved to the triangle vertex with the edge's label, and three new edges i in Fin 3 are added, edge i joining triangle vertices i+1 and i+2. Let f be the linear map from edge-weight vectors of G to those of H that keeps the weight on each old edge and gives new edge i the weight of the unique edge at v labelled i. Let Q be the set of points of the matching polytope of H (the convex hull of perfect-matching indicator vectors) whose total weight on edges crossing the cut around the three triangle vertices equals 1. Then f maps the matching polytope of G exactly onto Q; Q is convex and is an extreme subset (a face) of H's polytope; restricting f(x) to the old edges recovers x; f(oldRestriction y)=y for every y in Q; f(x) agrees with x on old edges and with the labelled local edges on new edges; f sends the all-1/3 vector to the all-1/3 vector; and for every x in G's polytope, the minimal face of H's polytope containing f(x) is the image under f of the minimal face of G's polytope containing x, where the minimal face is the intersection of all convex extreme subsets containing the point.

Preamble
-- Generated from openai/math @ adc7f1241b42e322a6451854ab7e4b4c146bf78a
-- Source: lean/ComparatorChallenges/TriangleFace.lean; bytes 5338..6289
-- Kind: theorem; original declaration names and bodies preserved.
-- Source groups are independent. Target: Lean 4.33.1; see compilation.json.

import Mathlib
import Definitions.Def_TriangleFace

namespace OAI

noncomputable section

open scoped BigOperators

open MatchingEntropyBounds MatchingEntropyBounds.Refined

namespace TriangleFace198

universe uV uE

variable {V : Type uV} {E : Type uE} [instFintypeV : Fintype V] [Fintype E] [DecidableEq V] [instDecidableEqE : DecidableEq E]

Formal statement
theorem triangle_expansion_face {V : Type uV} {E : Type uE}
    [Fintype V] [Fintype E] [DecidableEq V] [DecidableEq E] (G : LooplessGraph V E) (v : V)
    (hdeg : Fintype.card {e : E // G.Incident v e} = 3)
    (_hmatching : Nonempty G.Matching) :
    ∃ (c : E → Fin 3) (hc : LocalLabels G v c),
      let H := triangleExpansion G c v
      let f := localExtension G c v hc
      let Q := {y | y ∈ H.polytope ∧ H.cutMass y (triangleVertices v) = 1}
      f '' G.polytope = Q ∧
      Convex ℝ Q ∧ IsExtreme ℝ H.polytope Q ∧
      (∀ x, oldRestriction (f x) = x) ∧
      (∀ y ∈ Q, f (oldRestriction y) = y) ∧
      (∀ x e, f x (Sum.inl e) = x e) ∧
      (∀ x i, f x (Sum.inr i) = x (localEdge G c v hc i)) ∧
      (∀ x, (∀ e, x e = (1/3 : ℝ)) → ∀ e, f x e = (1/3 : ℝ)) ∧
      (∀ x ∈ G.polytope, CanonicalFace198.minFace H.polytope (f x) = f '' CanonicalFace198.minFace G.polytope x)  := by
  sorry

end TriangleFace198
end
end OAI
Source
https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/ComparatorChallenges/TriangleFace.lean

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me