Closed convex fold along a vector
DefinitionKomlos_convex_foldbanaszczykconvex-geometry
For a set and a vector , put
Define the closed fold by
For compact convex and nonzero , the set consists of the lines parallel to whose intersection with has length at least . On these lines, adding agrees with the union of the translates by and . Thus this is the closed version of the convex fold used in Banaszczyk's balancing argument. For it equals the closure of .
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.