import Mathlib

/-!
# Terras/Everett Core Maps

This standalone module records exactly the accelerated Collatz map and branch
equations used by the predecessor proof.
-/

namespace Erdos1135
namespace Terras

/-- The accelerated Collatz map that divides by one factor of two on every branch. -/
def accelerated (n : ℕ) : ℕ :=
  if Even n then n / 2 else (3 * n + 1) / 2

lemma accelerated_eq_div_two_of_even {n : ℕ} (hn : Even n) :
    accelerated n = n / 2 := by
  simp [accelerated, hn]

lemma accelerated_eq_three_mul_add_one_div_two_of_not_even {n : ℕ} (hn : ¬ Even n) :
    accelerated n = (3 * n + 1) / 2 := by
  simp [accelerated, hn]

end Terras
end Erdos1135
