Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in

Get started

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

Computational Geometry

4 missions · 1 completed

Missions

Open3Completed1All4
Linear OptimizationOperations ResearchTheoretical Computer Science·Captain: mikedeng1

Linear Programming in Linear Time When the Dimension Is Fixed: Fixed-Dimension LP Feasibility Decided in Linear Time on the Real RAMResearch Paper

Motivation

A linear program asks for a point x∈Rdx\in\mathbb{R}^dx∈Rd minimizing cTxc^TxcTx subject to nnn linear inequalities ∑j=1daijxj≥bi\sum_{j=1}^d a_{ij}x_j\ge b_i∑j=1d​aij​xj​≥bi​. Many problems in computational geometry and statistics are linear programs with few variables and very many constraints: separating two point sets by a line or plane, fitting a line in the Chebyshev (L∞L_\inftyL∞​) norm, finding the smallest disk or ball containing a point set (a related convex problem). For these problems the number of variables ddd is a small constant, and what matters is how the running time grows with nnn.

Nimrod Megiddo showed that for every fixed ddd the problem can be solved in time C(d)⋅nC(d)\cdot nC(d)⋅n (J. ACM 31(1), 1984).

Timeline.

  • 1983. Megiddo (SIAM J. Comput. 12) and, independently, Dyer (SIAM J. Comput. 13 (1984)) give linear-time algorithms for d=2d=2d=2 and d=3d=3d=3.
  • 1984. Megiddo extends the method to every fixed ddd, with C(d)<22d+2C(d)<2^{2^{d+2}}C(d)<22d+2 (the paper formalized here).
  • 1988–1991. Clarkson (J. ACM 42 (1995), conference version 1988) gives a randomized algorithm with expected time O(d2n)+dO(d)log⁡nO(d^2n)+d^{O(\sqrt d)}\log nO(d2n)+dO(d​)logn. Seidel (Discrete Comput. Geom. 6 (1991)) gives a simple randomized O(d! n)O(d!\,n)O(d!n) algorithm.
  • 1992–1996. Matoušek, Sharir and Welzl and, independently, Kalai give subexponential randomized bounds. Chazelle and Matoušek derandomize the linear dependence with C(d)=dO(d)C(d)=d^{O(d)}C(d)=dO(d) (J. Algorithms 21 (1996)).

Setting

Fix ddd. An instance is a matrix A∈Rn×dA\in\mathbb{R}^{n\times d}A∈Rn×d and a vector b∈Rnb\in\mathbb{R}^nb∈Rn, and its feasible region is the polyhedron P(A,b)={x∈Rd:Ax≥b}P(A,b)=\{x\in\mathbb{R}^d: Ax\ge b\}P(A,b)={x∈Rd:Ax≥b}. Here nnn is the number of constraints and ddd the number of variables.

The model of computation is the real RAM. A program is a finite list of instructions acting on real registers, integer pointer registers and a memory Z→R\mathbb{Z}\to\mathbb{R}Z→R. It performs exact +,−,×,/+,-,\times,/+,−,×,/ on reals at unit cost, tests the sign of a real, sets, copies, increments, decrements and compares pointers, and loads and stores through pointers. The input is the standard encoding of (A,b)(A,b)(A,b) in memory: the numbers nnn and ddd, then AAA row by row, then bbb. A program decides an instance within TTT steps with output β∈{accept,reject}\beta\in\{\text{accept},\text{reject}\}β∈{accept,reject} if it halts on that output after at most TTT steps.

Megiddo's method rests on multidimensional search. There is an unknown point x∗∈Rdx^*\in\mathbb{R}^dx∗∈Rd and an oracle that, for any hyperplane {x:aTx=b}\{x: a^Tx=b\}{x:aTx=b}, answers whether aTx∗<ba^Tx^*<baTx∗<b, =b=b=b or >b>b>b. Given hyperplanes Hi={aiTx=bi}H_i=\{a_i^Tx=b_i\}Hi​={aiT​x=bi​} with ai≠0a_i\ne0ai​=0, the question is how many oracle calls determine the position of x∗x^*x∗ relative to all of them. A search strategy is a ternary decision tree: inner nodes are hyperplane queries, leaves carry outputs, and the tree is built from the data alone. For linear programming, x∗x^*x∗ is an optimal solution, or a minimizer of the infeasibility function f(x)=max⁡i(bi−aiTx)f(x)=\max_i(b_i-a_i^Tx)f(x)=maxi​(bi​−aiT​x) when the system is infeasible. The oracle is implemented by solving problems in d−1d-1d−1 variables.

Formalization targets

Goal: linear-time feasibility on the real RAM

∀d ∃R ∃C ∀n ∀A∈Rn×d, b∈Rn:R decides within C (n+1) steps whether {x:Ax≥b}≠∅.\forall d\ \exists R\ \exists C\ \forall n\ \forall A\in\mathbb{R}^{n\times d},\,b\in\mathbb{R}^n:\quad R\text{ decides within }C\,(n+1)\text{ steps whether } \{x: Ax\ge b\}\neq\emptyset.∀d ∃R ∃C ∀n ∀A∈Rn×d,b∈Rn:R decides within C(n+1) steps whether {x:Ax≥b}=∅.

The program and the constant depend on ddd only. No explicit form of C(d)C(d)C(d) is fixed.

Milestones

  1. One query settles half of nnn hyperplanes on the line (A(1)=1A(1)=1A(1)=1, B(1)=12B(1)=\tfrac12B(1)=21​).
  2. v(ϵ)=(1,ϵ,…,ϵd−1)v(\epsilon)=(1,\epsilon,\dots,\epsilon^{d-1})v(ϵ)=(1,ϵ,…,ϵd−1) is orthogonal to some aia_iai​ for at most n(d−1)n(d-1)n(d−1) values of ϵ\epsilonϵ, so there is a basis in which all aij≠0a_{ij}\ne0aij​=0.
  3. For hyperplanes of opposite slopes in the (x1,x2)(x_1,x_2)(x1​,x2​) plane, the answers for Hik(1)H^{(1)}_{ik}Hik(1)​ and Hik(2)H^{(2)}_{ik}Hik(2)​ settle one of HiH_iHi​, HkH_kHk​.
  4. A linearly dependent pair of opposite slopes has ai1=ak1=0a_{i1}=a_{k1}=0ai1​=ak1​=0, and the middle hyperplane settles one of them.
  5. Approach I: 2d−12^{d-1}2d−1 queries settle at least ⌊21−2dn⌋\lfloor 2^{1-2^d}n\rfloor⌊21−2dn⌋ hyperplanes.
  6. C(d)log⁡nC(d)\log nC(d)logn queries settle all nnn hyperplanes.
  7. If a hyperplane contains no optimal point, all optimal points lie on one side of it.
  8. The oracle, Case I: at an optimum relative to {xd=0}\{x_d=0\}{xd​=0}, two auxiliary systems decide the side or certify global optimality.
  9. The oracle, Case II: at a minimizer of fff on {xd=0}\{x_d=0\}{xd​=0}, systems (1) and (2) decide the side or certify infeasibility.

Significance

The result. For every fixed dimension, linear programming is solvable in time linear in the number of constraints. The algorithm is also strongly polynomial in fixed dimension: its operation count does not depend on the bit size of the data. Deciding whether the optimum is at most ttt is feasibility of Ax≥bAx\ge bAx≥b together with −cTx≥−t-c^Tx\ge-t−cTx≥−t, so the goal also covers the decision form of optimization. The prune-and-search technique of the paper, which discards a constant fraction of the constraints per round, became a standard tool of computational geometry.

Formalizing it. The result is proved and classical. The platform already has the cases d=1d=1d=1 (linear time) and d=2d=2d=2 (quadratic time, by Fourier–Motzkin elimination) on the same machine and input encoding (SmaleNinth.real_ram_decides_one_variable_lp_linear, SmaleNinth.real_ram_decides_two_variable_lp_quadratic). No machine-checked proof of the general statement is known. The work consists of the query-complexity layer (milestones 1–6), the convex-analytic correctness of the oracle (milestones 7–9), and a real-RAM implementation with a step count linear in nnn, including linear-time median selection. Alternative proofs, for example through Clarkson's or Seidel's algorithms made deterministic, are welcome for the goal.

Difficulty

The obvious approach is to find the optimum by testing constraints one by one or by eliminating variables. Fourier–Motzkin elimination produces Θ(n2)\Theta(n^2)Θ(n2) constraints after one step. Pivoting methods have no known bound linear in nnn. The key difficulty is to discard a constant fraction of the constraints using only a constant number of recursive calls in dimension d−1d-1d−1, when no single hyperplane test gives information about more than one constraint. The multidimensional search layer gives this, and it is where the pairing of hyperplanes by slope and the degenerate cases (dependent pairs, zero coefficients) have to be handled exactly. At the machine level, the step count must stay linear in nnn for a fixed program, so every median selection and every recursive call must be implemented within the budget, with the recursion depth depending on ddd only.

Formalization scope

  • Machine and input. The machine is the platform's real RAM SmaleNinth.RAMProgram with RAMDecidesInTime, and the input convention is SmaleNinth.encodeLP (published definitions, reused unchanged). No instruction is added: there is no LP, median, floor or sort primitive. Time is the number of machine steps.
  • Quantifier order. ∀d ∃R ∃C ∀n,A,b\forall d\ \exists R\ \exists C\ \forall n, A, b∀d ∃R ∃C ∀n,A,b. The bound is C(n+1)C(n+1)C(n+1) in the number nnn of constraints, so that the machine can halt at n=0n=0n=0. The paper's C(d)<22d+2C(d)<2^{2^{d+2}}C(d)<22d+2 counts unspecified units of "effort" with an unquantified θ(nd)\theta(nd)θ(nd) term, and it is not transferred to machine steps. Where a milestone's proof fixes a constant exactly, the constant is stated: 2d−12^{d-1}2d−1 queries and ⌊n/22d−1⌋\lfloor n/2^{2^d-1}\rfloor⌊n/22d−1⌋ settled hyperplanes in milestone 5.
  • Feasibility only. The machine outputs accept or reject. Returning an optimizer, "unbounded", or a minimizer of fff is not part of the goal. The case d=0d=0d=0 is included.
  • Query trees. Nodes are queries compare (a ⬝ᵥ x) b and nothing else, leaves hold fixed values, and correctness is required for every xxx. A tree over arbitrary tests of xxx would make milestones 5 and 6 empty, and it is excluded by the definition.
  • Indices. The paper's x1,x2x_1,x_2x1​,x2​ are indices 0, 1 of Fin (d + 2), and its xdx_dxd​ is Fin.last d of Fin (d + 1).
  • Corrections. Two passages of §4 are stated in corrected form. The Case I auxiliary objective includes the ±cd\pm c_d±cd​ term of the direction. In Case II, feasibility of (1) puts improvement in {xd>0}\{x_d>0\}{xd​>0}, where the page's last sentence says {xd<0}\{x_d<0\}{xd​<0}. The pairing claim carries ak1ai2−ak2ai1≠0a_{k1}a_{i2}-a_{k2}a_{i1}\ne0ak1​ai2​−ak2​ai1​=0, the hypothesis its argument uses, since linear independence alone does not give it.
  • Not included. Approach II and its bound O(n(log⁡n)d2)O(n(\log n)^{d^2})O(n(logn)d2), the remarks on slowly growing ddd, the randomized variants, and the applications of §1.
  • Reusable parts. The query-tree definition and milestones 1–6 apply to any prune-and-search problem with a hyperplane oracle. The oracle lemmas (7–9) are statements about convex piecewise-linear functions and polyhedra.

Selected references

  • N. Megiddo, Linear programming in linear time when the dimension is fixed, J. ACM 31(1):114–127, 1984. https://doi.org/10.1145/2422.322418
  • N. Megiddo, Linear-time algorithms for linear programming in R3R^3R3 and related problems, SIAM J. Comput. 12(4):759–776, 1983. https://doi.org/10.1137/0212052
  • M. E. Dyer, Linear time algorithms for two- and three-variable linear programs, SIAM J. Comput. 13(1):31–45, 1984. https://doi.org/10.1137/0213003
  • K. L. Clarkson, Las Vegas algorithms for linear and integer programming when the dimension is small, J. ACM 42(2):488–499, 1995. https://doi.org/10.1145/201019.201036
  • R. Seidel, Small-dimensional linear programming and convex hulls made easy, Discrete Comput. Geom. 6:423–434, 1991. https://doi.org/10.1007/BF02574699
  • B. Chazelle, J. Matoušek, On linear-time deterministic algorithms for optimization problems in fixed dimension, J. Algorithms 21(3):579–597, 1996. https://doi.org/10.1006/jagm.1996.0046
16 thms5 active usersReviewed
Discrete GeometryGraph Theory·Captain: hao jia

Uniform Obstacle Bounds for Planar Graphs (OPG-37357)Open Problem

Motivation

An obstacle representation turns a graph into a visibility system: vertices are points in the plane, and nonedges are blocked by polygonal obstacles. The obstacle number asks for the minimum number of obstacles needed. OPG-37357 records two different questions for planar graphs. The first asks whether one obstacle can ever be insufficient. The second asks whether some universal constant bounds the ordinary obstacle number of every planar graph.

The status of the two parts is different. Berman, Chappell, Faudree, Gimbel, Hartman, and Williams proved in 2017 that explicit planar graphs, including the icosahedron and their graphs X4X_4X4​ and X6X_6X6​, have ordinary obstacle number two. Thus the first question has a published positive answer. The universal-constant question remains the research target here. A separate invariant called planar or plane obstacle number requires a crossing-free visibility drawing; results for that invariant must not be substituted for the ordinary obstacle number used by this mission.

Setting

A finite simple graph GGG has a kkk-obstacle drawing when its vertices are placed injectively as points in R2\mathbb R^2R2 and there are kkk pairwise disjoint closed connected polygonal obstacles such that

uv∈E(G)⟺[p(u),p(v)] meets no obstacle.uv\in E(G) \quad\Longleftrightarrow\quad [p(u),p(v)]\text{ meets no obstacle}.uv∈E(G)⟺[p(u),p(v)] meets no obstacle.

Graph vertices lie outside every obstacle. The ordinary obstacle number obs⁡(G)\operatorname{obs}(G)obs(G) is the least such kkk. The drawing itself may contain crossings between visible graph edges; planarity is a property of the abstract input graph, not an extra constraint on the obstacle drawing.

The Lean model represents a polygonal obstacle as a connected finite union of closed filled triangles. This gives a compact polygonal region with exact real-coordinate segment incidence. Straight-line planarity of the abstract graph is represented separately.

Formalization targets

The two-part OPG record

The source records both

∃ finite planar G, obs⁡(G)>1\exists\text{ finite planar }G,\ \operatorname{obs}(G)>1∃ finite planar G, obs(G)>1

and

∃k∈N ∀ finite planar H, obs⁡(H)≤k.\exists k\in\mathbb N\ \forall\text{ finite planar }H, \ \operatorname{obs}(H)\le k.∃k∈N ∀ finite planar H, obs(H)≤k.

The first assertion is known in the literature and appears as a published-result milestone. The second is open and is therefore the mission's main theorem. Together they preserve the two-part source without presenting the whole record as unresolved.

Published first part

A milestone formalizes the stronger published statement

∃ finite planar G,obs⁡(G)≤2andobs⁡(G)≰1.\exists\text{ finite planar }G, \qquad \operatorname{obs}(G)\le2 \quad\text{and}\quad \operatorname{obs}(G)\not\le1.∃ finite planar G,obs(G)≤2andobs(G)≤1.

This captures ordinary obstacle number exactly two without hard-coding one graph before its adjacency data and lower-bound certificate are formalized.

Universal bound

The open milestone asks for a single natural number kkk, chosen before the graph, that works for every finite planar graph. The number of obstacle corners is not bounded by this theorem; only the number of connected polygonal obstacles is.

Significance

The published first part establishes that planarity alone does not force a one-obstacle representation. The second part asks whether planar graphs nevertheless have uniformly bounded visibility complexity. A positive answer would produce a common finite obstacle budget independent of graph order; a negative answer would require a family of planar graphs with unbounded ordinary obstacle number.

Formalization is especially useful because several nearby notions differ by one word but have different known bounds: ordinary versus plane obstacle number, arbitrary polygonal versus convex obstacles, and fixed-placement versus freely chosen drawings. The mission's definitions make those choices explicit and provide reusable segment-obstacle semantics for later geometric graph formalizations.

Difficulty

A finite combinatorial graph does not come with a canonical visibility drawing. Even when one starts with an arbitrary connected blocking set, replacing it by one bounded simple polygon requires compactness, component, incidence, and polygonal-neighborhood arguments. Conversely, lower bounds must quantify over every possible placement and obstacle, not merely refute a selected coordinate drawing.

Counting results for unrestricted graphs do not automatically preserve planarity. Bounds for planar obstacle number impose a crossing-free drawing and therefore answer a different question. The known two-obstacle examples close only the existential first part and give no universal kkk.

Formalization scope

All graph vertex types are finite. Obstacles are closed connected polygonal regions represented by finite triangle unions; they are pairwise disjoint and avoid graph vertices. Visibility uses the full closed segment, so tangency or boundary contact blocks a nonedge. The planarity witness is independent of the obstacle drawing. Empty and one-vertex graphs remain in the universal quantifier and should be handled without division or nonemptiness assumptions.

The repository's fixed-placement polygonization argument and finite arrangement code are candidate_only. They may motivate supporting lemmas, but they neither prove the unrestricted obstacle-drawing completeness theorem nor settle the universal bound. Contributions are welcome on exact geometry primitives, the published two-obstacle construction and lower bound, conversions between connected blockers and polygonal obstacles, and the universal root. A proof for the plane invariant, convex invariant, one fixed drawing, or a finite order cutoff must be labeled at that narrower scope.

Selected references

  • L. W. Berman, G. G. Chappell, J. R. Faudree, J. Gimbel, C. Hartman, and G. I. Williams, Graphs with Obstacle Number Greater than One, JGAA 21(6), 2017. https://doi.org/10.7155/jgaa.00452
  • J. Gimbel, P. Ossona de Mendez, and P. Valtr, Obstacle Numbers of Planar Graphs, Graph Drawing 2017. https://arxiv.org/abs/1706.06992
  • M. Balko, S. Chaplick, R. Ganian, S. Gupta, M. Hoffmann, P. Valtr, and A. Wolff, Bounding and Computing Obstacle Numbers of Graphs, SIAM Journal on Discrete Mathematics 38(2), 2024. https://arxiv.org/abs/2206.15414
  • Open Problem Garden / UnsolvedMath, OPG-37357. https://www.unsolvedmath.com/problems/OPG-37357
6 thms4 active usersReviewed
🏆Completed
Theoretical Computer Science·Captain: wurtle

Generalization of Hinging PlanesResearch Paper

A continuous piecewise linear (CPWL) function is one assembled from finitely many flat pieces glued along flat seams. Every ReLU network computes such a function, and every such function is computed by some ReLU network. Questions about how deep a network must be are therefore questions about the internal structure of CPWL functions.

In 1993 Breiman built such functions from hinges: maxima of two affine maps. Sums of hinges approximate anything, but from two dimensions up they fail to represent most CPWL functions exactly. Wang and Sun (2005) widened the maxima, proving that every CPWL function on ℝⁿ is a signed sum of maxima of at most n+1 affine maps. Twenty years on it remains the workhorse structural fact, reducing any question about a network to a question about a single max gate and underpinning every known upper bound on the depth of exact representation.

That includes the newest one: at STOC 2026, Bakaev et al disproved the short standing conjecture that ⌈log₂(n+1)⌉ hidden layers are necessary, showing ⌈log₃(n−1)⌉+1 suffice. In this mission we deliver a machine-checked proof of the Wang and Sun theorem so future formalizations of network expressivity can invoke it rather than reprove it. Note that we take as given the lattice representation of Tarela and Martínez, independently proved by Ovchinnikov, which writes any CPWL function as a max of mins of its affine pieces. That is the one external ingredient the argument consumes, and our definition of CPWL builds it in.

3 thms3 active users
CombinatoricsDiscrete GeometryOperations Research·Captain: mikedeng1

A Polynomial Time Algorithm for Counting Integral Points in Polyhedra When the Dimension is Fixed: The Lattice-Point Count of an Integral Simplex Is a Short Signed Sum over Primitive ConesResearch Paper

Counting lattice points in fixed dimension

How many integral points does a polytope contain? The question arises in integer programming, where it measures the size of a feasible set, in combinatorics, where many enumeration problems are lattice-point counts in a polytope (contingency tables, magic squares, flows), in the representation theory of Lie groups, and in the analysis of loop nests in compilers. Counting is #P-hard when the dimension is part of the input, so the natural question is whether the count can be computed in polynomial time when the dimension ddd is fixed.

Timeline:

  • 1899. In dimension 222, Pick's formula leads to a polynomial algorithm.
  • 1983. Lenstra shows that integer feasibility is decidable in polynomial time for fixed ddd (Lenstra 1983). Deciding whether a lattice point exists does not count them.
  • 1988, 1992. Brion proves that the exponential sum over the lattice points of a rational polytope is the sum of the exponential sums of its vertex cones.
  • 1991. Dyer gives polynomial algorithms in dimensions 333 and 444, based on Dedekind sums (Dyer 1991).
  • 1994. Barvinok proves that for every fixed ddd the number of lattice points of an integral simplex, and hence of a rational polyhedron, can be computed in polynomial time (Barvinok 1994). The algorithm was later implemented (LattE, barvinok) and is the standard method.

Setting

Points of Rd\mathbb{R}^dRd have real coordinates and ⟨c,x⟩=∑lclxl\langle c,x\rangle=\sum_l c_lx_l⟨c,x⟩=∑l​cl​xl​. For integral vectors u1,…,uk∈Zdu_1,\dots,u_k\in\mathbb{Z}^du1​,…,uk​∈Zd, the rational cone they generate is co⁡{u1,…,uk}={∑iλiui:λi≥0}\operatorname{co}\{u_1,\dots,u_k\}=\{\sum_i\lambda_iu_i:\lambda_i\ge0\}co{u1​,…,uk​}={∑i​λi​ui​:λi​≥0}. The generators are simple if they are linearly independent, and primitive if moreover they form a basis of the lattice Zd∩Lin⁡{u1,…,uk}\mathbb{Z}^d\cap\operatorname{Lin}\{u_1,\dots,u_k\}Zd∩Lin{u1​,…,uk​}.

The index Ind⁡K\operatorname{Ind}KIndK of the cone given by simple generators is the number of integral points in the semi-open parallelepiped Π={∑iαiui:0≤αi<1}\Pi=\{\sum_i\alpha_iu_i:0\le\alpha_i<1\}Π={∑i​αi​ui​:0≤αi​<1}. It equals 111 exactly for primitive generators.

The exponential sum of KKK is σ(K;c)=∑x∈K∩Zde⟨c,x⟩\sigma(K;c)=\sum_{x\in K\cap\mathbb{Z}^d}e^{\langle c,x\rangle}σ(K;c)=∑x∈K∩Zd​e⟨c,x⟩. Where it converges it has the closed form

σ(K;c)=(∑x∈Π∩Zde⟨c,x⟩)∏i=1k11−e⟨c,ui⟩,\sigma(K;c)=\Bigl(\sum_{x\in\Pi\cap\mathbb{Z}^d}e^{\langle c,x\rangle}\Bigr)\prod_{i=1}^k\frac{1}{1-e^{\langle c,u_i\rangle}},σ(K;c)=(x∈Π∩Zd∑​e⟨c,x⟩)i=1∏k​1−e⟨c,ui​⟩1​,

and this closed form defines σ\sigmaσ at every regular point, i.e. every ccc with ⟨c,ui⟩≠0\langle c,u_i\rangle\ne0⟨c,ui​⟩=0 for all iii.

An integral simplex is Δ=conv⁡{v1,…,vk+1}\Delta=\operatorname{conv}\{v_1,\dots,v_{k+1}\}Δ=conv{v1​,…,vk+1​} with affinely independent vj∈Zdv_j\in\mathbb{Z}^dvj​∈Zd. Its supporting cone at a vertex vvv is Kv={u:v+δu∈Δ for all sufficiently small δ>0}K_v=\{u:v+\delta u\in\Delta\text{ for all sufficiently small }\delta>0\}Kv​={u:v+δu∈Δ for all sufficiently small δ>0}. A signed decomposition K=∑iεiKiK=\sum_i\varepsilon_iK_iK=∑i​εi​Ki​ with integers εi\varepsilon_iεi​ means χK=∑iεiχKi\chi_K=\sum_i\varepsilon_i\chi_{K_i}χK​=∑i​εi​χKi​​ on all of Rd\mathbb{R}^dRd. The constant term of the Laurent expansion of fff at t=0t=0t=0 is the coefficient of t0t^0t0 in the expansion of fff around its pole at 000.

Formalization targets

Goal: the short signed formula (Theorem 1.2, mathematical content)

For d≥2d\ge2d≥2 and every integral simplex Δ⊆Rd\Delta\subseteq\mathbb{R}^dΔ⊆Rd there are, for each vertex vjv_jvj​, primitive cones Kj,iK_{j,i}Kj,i​ and integers εj,i\varepsilon_{j,i}εj,i​ with Kvj=∑iεj,iKj,iK_{v_j}=\sum_i\varepsilon_{j,i}K_{j,i}Kvj​​=∑i​εj,i​Kj,i​ and at most (2d)Tj(2^d)^{T_j}(2d)Tj​ terms. Here TjT_jTj​ is the smallest integer

Tj≥−log⁡log⁡1.9+log⁡log⁡Ind⁡jlog⁡d−log⁡(d−1),T_j\ge\frac{-\log\log1.9+\log\log\operatorname{Ind}_j}{\log d-\log(d-1)},Tj​≥logd−log(d−1)−loglog1.9+loglogIndj​​,

and Ind⁡j\operatorname{Ind}_jIndj​ is the index of the edge vectors at vjv_jvj​. Moreover, for every ccc orthogonal to no generator of any Kj,iK_{j,i}Kj,i​,

#(Δ∩Zd)=∑j∑iεj,i R(Kj,i,vj,c),\#(\Delta\cap\mathbb{Z}^d)=\sum_j\sum_i\varepsilon_{j,i}\,R(K_{j,i},v_j,c),#(Δ∩Zd)=j∑​i∑​εj,i​R(Kj,i​,vj​,c),

where R(K,v,c)R(K,v,c)R(K,v,c) is the constant term at t=0t=0t=0 of t↦et⟨c,v⟩σ(K;tc)t\mapsto e^{t\langle c,v\rangle}\sigma(K;tc)t↦et⟨c,v⟩σ(K;tc).

Milestones

  1. Proposition 2.4 with Remark 2.5: the closed form of σ\sigmaσ for simple cones.
  2. Proposition 4.1: for primitive cones, σ(K;c)=∏i(1−e⟨c,ui⟩)−1\sigma(K;c)=\prod_i(1-e^{\langle c,u_i\rangle})^{-1}σ(K;c)=∏i​(1−e⟨c,ui​⟩)−1.
  3. Proposition 2.7 (Brion), for integral simplices.
  4. Corollary 4.2: R(K,v,c)=Qk(x;y)∏ixi−1R(K,v,c)=Q_k(x;y)\prod_ix_i^{-1}R(K,v,c)=Qk​(x;y)∏i​xi−1​ with deg⁡Qk≤k\deg Q_k\le kdegQk​≤k.
  5. Primitive generators iff Ind⁡K=1\operatorname{Ind}K=1IndK=1 (§5).
  6. Lemma 5.2: a short lattice vector www with Ind⁡Kj≤(Ind⁡K)(d−1)/d\operatorname{Ind}K_j\le(\operatorname{Ind}K)^{(d-1)/d}IndKj​≤(IndK)(d−1)/d.
  7. Lemma 5.3: at most 2d2^d2d cones of smaller index, with signs ±1\pm1±1.
  8. Theorem 5.4: decomposition into at most (2d)T(2^d)^T(2d)T primitive cones.
  9. The display in the proof of Theorem 5.4: (2d)T≤C1(d)(log⁡Ind⁡K)C2(d)(2^d)^T\le C_1(d)(\log\operatorname{Ind}K)^{C_2(d)}(2d)T≤C1​(d)(logIndK)C2​(d).
  10. Lemma 6.1: some c(t)=(1,t,…,td−1)c(t)=(1,t,\dots,t^{d-1})c(t)=(1,t,…,td−1), t∈{0,…,m(d−1)}t\in\{0,\dots,m(d-1)\}t∈{0,…,m(d−1)}, is orthogonal to none of mmm nonzero vectors.

Significance

The goal is the reason Barvinok's algorithm is polynomial. For fixed ddd, the number of terms is bounded by a polynomial in log⁡Ind⁡K\log\operatorname{Ind}KlogIndK, which is polynomial in the input size. Each term is an explicit rational function of inner products (Corollary 4.2). The identity therefore turns lattice-point counting into the evaluation of a short sum. Its consequences include polynomial-time counting for rational polyhedra in fixed dimension, polynomial-time computation of Ehrhart quasi-polynomials, and the theory of short rational generating functions (Barvinok–Woods), which underlies algorithms for parametric integer programming.

The result is proved and classical. As far as known it has not been machine-checked: Mathlib has convex cones, Minkowski's convex body theorem and lattices, but no signed cone decompositions, no generating functions of cones and no Brion identity. The mission produces a formal account of the algorithm's correctness and of the size of its output. Its milestones are statements of independent use: the closed form of cone generating functions, Brion's identity for simplices, and the index-reduction lemma.

Difficulty

The obvious approach is to triangulate the supporting cones into unimodular (primitive) cones. This fails: a cone of index Ind⁡K\operatorname{Ind}KIndK may need about Ind⁡K\operatorname{Ind}KIndK unimodular cones in any triangulation, which is exponential in the input size. The step that makes the count small is signed decomposition. Signed decomposition uses cones that are not contained in KKK, combined with signs ±1\pm1±1, and controls the index through the geometry of numbers rather than through a subdivision of KKK. The second difficulty is that c=0c=0c=0, where the exponential sum equals the count, is a singular point of every σ(Ki;⋅)\sigma(K_i;\cdot)σ(Ki​;⋅). The count is recovered as a constant term of a Laurent expansion, so every identity has to be valid as an identity of meromorphic functions on regular points, and not only where the series converge.

Formalization scope

  • Points of Rd\mathbb{R}^dRd are Fin d → ℝ, integral vectors Fin d → ℤ used through their real cast, and ⟨⋅,⋅⟩\langle\cdot,\cdot\rangle⟨⋅,⋅⟩ is dotProduct. A cone is given by its generator list, because index, parallelepiped and the closed form of σ\sigmaσ depend on the generators. Logarithms are natural, and ∣u∣|u|∣u∣ is the sup norm.
  • Theorem 1.2 is represented by its mathematical content. The paper's statement is "there exists a polynomial time algorithm". No machine model is formalized. The goal is the identity proved on p. 778, with the count of the proof of Theorem 5.4 (p. 777). The algorithmic clauses of Lemmas 5.2, 5.3, 6.1 and Theorem 5.4 are each replaced by the existence statement of the object the algorithm constructs. Lemma 5.3(c), whose constant is unquantified, is omitted.
  • Over R\mathbb{R}R. The paper uses c∈Cdc\in\mathbb{C}^dc∈Cd only to speak of meromorphic functions. Here ccc is real, σ\sigmaσ is defined by its closed form, and regularity means ⟨c,ui⟩≠0\langle c,u_i\rangle\ne0⟨c,ui​⟩=0 for every generator. The constant term is a predicate: tNf(t)t^Nf(t)tNf(t) agrees near 000 with a real-analytic function whose NNN-th Taylor coefficient is the value.
  • Added hypotheses. These are d≥2d\ge2d≥2 wherever TTT appears, k≥1k\ge1k≥1 in Lemma 5.2, d≥1d\ge1d≥1 in Lemma 5.3, ui≠0u_i\ne0ui​=0 in Lemma 6.1, and Ind⁡K≥2\operatorname{Ind}K\ge2IndK≥2 in the display bound. T=0T=0T=0 when the index is 111. Brion's identity is stated for integral simplices, the only case the proof uses.
  • Trivializations ruled out. σ\sigmaσ is never an infinite sum, which would take a junk value off its convergence region. "Primitive" means a lattice basis and not mere linear independence; with the weaker notion the decomposition is trivial. Decompositions hold for every x∈Rdx\in\mathbb{R}^dx∈Rd, not only on Zd\mathbb{Z}^dZd. The halfspace of Lemma 5.2 is linear, since an affine one would make it vacuous.
  • Infrastructure. A complete development needs generating functions of simplicial cones, Brion's theorem for simplices, the identity theorem for rational functions in ec1,…,ecde^{c_1},\dots,e^{c_d}ec1​,…,ecd​, Minkowski's theorem on a sublattice, and inclusion–exclusion for triangulations. Each is reusable beyond this mission, and contributions of any of these pieces are welcome.

Selected references

  • A. I. Barvinok, A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed, Mathematics of Operations Research 19(4), 1994, 769–779. https://doi.org/10.1287/moor.19.4.769
  • M. Brion, Points entiers dans les polyèdres convexes, Annales scientifiques de l'École Normale Supérieure 21(4), 1988, 653–663. https://doi.org/10.24033/asens.1572
  • M. Dyer, On counting lattice points in polyhedra, SIAM Journal on Computing 20(4), 1991, 695–707. https://doi.org/10.1137/0220044
  • H. W. Lenstra Jr., Integer programming with a fixed number of variables, Mathematics of Operations Research 8(4), 1983, 538–548. https://doi.org/10.1287/moor.8.4.538
  • R. P. Stanley, Enumerative Combinatorics, Vol. 1, Wadsworth & Brooks/Cole, 1986, §4.6. https://doi.org/10.1007/978-1-4615-9763-6
  • A. Barvinok, K. Woods, Short rational generating functions for lattice point problems, Journal of the AMS 16(4), 2003, 957–979. https://doi.org/10.1090/S0894-0347-03-00428-4
16 thms2 active usersReviewed

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 paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me