Documentation

Marginis.RamirezVellis2024

Time complexity of the Analyst’s Traveling Salesman algorithm #

ANTHONY RAMIREZ and VYRON VELLIS

We prove for any N the n = 2 version of the statement on page 3 containing the phrase "it is clear that".

theorem clear {N : } (v : Fin N) (w : Fin N) :
let R₀ := 5 * max (dist v 0) (dist w 0); ∀ (i : Fin N), v i Set.Icc (-R₀) R₀
theorem nat_to_int_eq (a : ) (b : ) :
a = ba = b
theorem flip_neg (a : ) (b : ) :
a = -b -a = b
def neg_fit (z : ) :
Equations
theorem sign_nonneg_iff_natAbs_eq (z : ) :
z.natAbs = z z.sign = 0 z.sign = 1
theorem neg_fit_iff_pos (z : ) :
z.natAbs = z neg_fit z = 0
def spread_fun (z : ) :
Equations
theorem spread_fun_inj_explicit (a : ) (b : ) :
spread_fun a = spread_fun ba = b
theorem int_countable (B : Set ) :
B.Countable
theorem infant_Gauss (n : ) :
2 * xFinset.range (n + 1), x = n * (n + 1)
def diag_fun (a : × ) :
Equations
theorem mul_2_both_sides (a : ) (b : ) :
a = b2 * a = 2 * b
theorem n_sq_add_n_monotone (m : ) (n : ) :
m n m * (m + 1) n * (n + 1)
theorem n_sq_add_n_monotone_strict (m : ) (n : ) :
m < n m * (m + 1) < n * (n + 1)
theorem pred_legit (c : ) :
c > 0∃ (a : ), c = a + 1
theorem range_lem (b : ) (c : ) :
c * (c + 1) < b * (b + 1) + 2 * cc b
theorem sum_range (a : ) (c : ) :
a * (a + 1) 2 * xFinset.range (c + 1), x 2 * xFinset.range (c + 1), x < a * (a + 1) + 2 * ca = c
theorem sum_range_simp (a : ) (c : ) :
a c c * (c + 1) < a * (a + 1) + 2 * ca = c
theorem lemma1 (a : ) (b : ) (c : ) (d : ) :
a + b = c + d a cb d
theorem lemma2 (a : ) (b : ) (c : ) (d : ) :
a + b = c + d a cb d
theorem lemma2_le (a : ) (b : ) (c : ) (d : ) :
a + b c + d a cb d
theorem lt_if_lt_add_right (a : ) (b : ) (c : ) :
a + c < b + ca < b
theorem nat_prod_countable (C : Set ( × )) :
C.Countable
theorem diag_fun_inj_explicit (a : × ) (b : × ) :
diag_fun a = diag_fun ba = b
theorem proj_fst (a : × ) (b : × ) :
a = ba.1 = b.1
theorem proj_snd (a : × ) (b : × ) :
a = ba.2 = b.2
def diag3_fun (a : × × ) :
Equations
theorem nat_trip_prod_countable (D : Set ( × × )) :
D.Countable
def rat_fun (q : ) :
Equations
theorem rat_fun_inj_explicit (a : ) (b : ) :
rat_fun a = rat_fun ba = b
theorem rat_countable (A : Set ) :
A.Countable
theorem rat_prod_countable (E : Set ( × )) :
E.Countable