Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Closed convex fold along a vector

Definition
Komlos_convex_fold

by Wenqian · Sep 6, 2026 · Mathlib 0df444a (Lean v4.33.1)

banaszczykconvex-geometry

For a set K⊆RmK\subseteq\mathbb R^mK⊆Rm and a vector uuu, put

Cu(K)={y∈K:y+2u∈K},Ju={tu:−1≤t≤1}.C_u(K)=\{y\in K:y+2u\in K\},\qquad J_u=\{tu:-1\le t\le1\}.Cu​(K)={y∈K:y+2u∈K},Ju​={tu:−1≤t≤1}.

Define the closed fold by

Fu(K)=(K+Ju)∩(Cu(K)+Ru)‾.F_u(K)=\overline{(K+J_u)\cap(C_u(K)+\mathbb Ru)}.Fu​(K)=(K+Ju​)∩(Cu​(K)+Ru)​.

For compact convex KKK and nonzero uuu, the set Cu(K)+RuC_u(K)+\mathbb RuCu​(K)+Ru consists of the lines parallel to uuu whose intersection with KKK has length at least 2∥u∥2\|u\|2∥u∥. On these lines, adding JuJ_uJu​ agrees with the union of the translates by uuu and −u-u−u. Thus this is the closed version of the convex fold used in Banaszczyk's balancing argument. For u=0u=0u=0 it equals the closure of KKK.

Definition code
import Mathlib.Analysis.Convex.Topology
import Mathlib.Analysis.InnerProductSpace.PiL2

open Set
open scoped Pointwise
set_option autoImplicit false

namespace Komlos
noncomputable def closedConvexFold (m : ℕ) (K : Set (EuclideanSpace ℝ (Fin m)))
    (u : EuclideanSpace ℝ (Fin m)) : Set (EuclideanSpace ℝ (Fin m)) :=
  closure ((K + (fun t : ℝ => t • u) '' Icc (-1) 1) ∩
    ((K ∩ (fun y => y + (2 : ℝ) • u) ⁻¹' K) + Set.range (fun t : ℝ => t • u)))
end Komlos
Source
Shashwat Garg, Algorithms for Combinatorial Discrepancy, TU Eindhoven PhD thesis (2018), Chapter 3, Definition 14, printed p. 18. https://pure.tue.nl/ws/files/107722737/20181010_Garg.pdf . This algebraic description uses the two endpoints y and y+2u instead of fiber length, and takes closure. For compact convex K it gives the closed fold of that definition; at u=0 it uses the natural extension closure K.

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