Appending a large auxiliary letter that follows the committed path keeps a released tree-safe word safe and released
ProvedErdos195.large_aux_appendA tree witness is a function on the nodes , , of the binary tree of residues. For distinct integers with , put iff . A finite word of integers is -safe if the sequence "the letters of in order, then all remaining integers in -order" contains no monotone -term arithmetic progression. An in-order pair of ( occurs before ) is open if and ; it lies at the node , , and forces there to equal . A root pair is one with odd (node ); is a true root release if every open root pair has even second entry, i.e. no open pair forces the value at the root. Let be -safe and a true root release, with . Suppose every open in-order pair of has , for all , and is an integer with that follows the committed path: for all . Then (the word with appended) is -safe and a true root release for the tree witness that agrees with on all levels (in the Lean proof, for ). Because , is not a -AP completion of letters of , and no -AP or lies inside . Every new open pair forces at its node to equal , which agrees with the committed values on levels and defines the values above. A new root pair has odd, and the path condition at the root () makes even, so the release is preserved.
Formalization note: treeLt θ is from Definitions.Def_Erdos195_tree; Safe, bitOne are from Definitions.Def_Erdos195_defs. Positions are List.idxOf; the release property is stated as: every open in-order pair with has .
import Mathlib import Definitions.Def_Erdos195_tree
namespace Erdos195
theorem large_aux_append (θ : ℕ → ℤ → Bool) (Q : List ℤ) (L : ℕ) (R z : ℤ)
(hS : Safe (treeLt θ) Q)
(hrel : ∀ a b : ℤ, a ∈ Q → b ∈ Q → Q.idxOf a < Q.idxOf b → 2 * b - a ∉ Q →
3 * b - 2 * a ∉ Q → (b - a) % 2 = 1 → b % 2 = 0)
(hroot : θ 0 0 = false)
(hdepth : ∀ a b : ℤ, a ∈ Q → b ∈ Q → Q.idxOf a < Q.idxOf b → 2 * b - a ∉ Q →
3 * b - 2 * a ∉ Q → padicValInt 2 (b - a) ≤ L)
(hR : ∀ a ∈ Q, |a| ≤ R)
(hz : 3 * R < |z|)
(hpath : ∀ h ≤ L, (θ h (z % 2 ^ h) = true ↔ bitOne z h)) :
∃ θ' : ℕ → ℤ → Bool, (∀ k ≤ L, ∀ r, θ' k r = θ k r) ∧
Safe (treeLt θ') (Q ++ [z]) ∧
∀ a b : ℤ, a ∈ Q ++ [z] → b ∈ Q ++ [z] → (Q ++ [z]).idxOf a < (Q ++ [z]).idxOf b →
2 * b - a ∉ Q ++ [z] → 3 * b - 2 * a ∉ Q ++ [z] → (b - a) % 2 = 1 → b % 2 = 0 := by sorry
end Erdos195