/-
Copyright 2026 The Formal Conjectures Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-/
import FormalConjecturesUtilErdős Problem 342
[Gu04] Guy, Richard K.,
open Nat Set Filteropen scoped Topology
namespace Erdos342
UniqueUlamSum a n m means that $m$ has a unique representation as $a(i) + a(j)$
with $i < j < n$.
def UniqueUlamSum (a : ℕ → ℕ) (n m : ℕ) : Prop :=
∃! p : ℕ × ℕ, p.1 < p.2 ∧ p.2 < n ∧ m = a p.1 + a p.2
IsUlamSequence a means that $a$ is the Ulam sequence (OEIS A002858):
$a(0) = 1$, $a(1) = 2$, and for each $n \geq 2$, $a(n)$ is the least integer
greater than $a(n-1)$ that has a unique representation as $a(i) + a(j)$
with $i < j < n$.
def IsUlamSequence (a : ℕ → ℕ) : Prop :=
a 0 = 1 ∧ a 1 = 2 ∧
∀ n, 2 ≤ n →
a (n - 1) < a n ∧
UniqueUlamSum a n (a n) ∧
∀ m, a (n - 1) < m → m < a n → ¬ UniqueUlamSum a n m$a(0) = 1$ by definition.
@[category test, AMS 5 11 40]
theorem erdos_342.test.a0 : ∀ a : ℕ → ℕ, IsUlamSequence a → a 0 = 1 := ⊢ ∀ (a : ℕ → ℕ), IsUlamSequence a → a 0 = 1
intro a a:ℕ → ℕha0:a 0 = 1left✝:a 1 = 2right✝:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n m⊢ a 0 = 1; All goals completed! 🐙$a(1) = 2$ by definition.
@[category test, AMS 5 11 40]
theorem erdos_342.test.a1 : ∀ a : ℕ → ℕ, IsUlamSequence a → a 1 = 2 := ⊢ ∀ (a : ℕ → ℕ), IsUlamSequence a → a 1 = 2
intro a a:ℕ → ℕleft✝:a 0 = 1ha1:a 1 = 2right✝:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n m⊢ a 1 = 2; All goals completed! 🐙$a(2) = 3$: the only pair $(i,j)$ with $i < j < 2$ is $(0,1)$, giving $1 + 2 = 3$.
@[category test, AMS 5 11 40]
theorem erdos_342.test.a2 : ∀ a : ℕ → ℕ, IsUlamSequence a → a 2 = 3 := ⊢ ∀ (a : ℕ → ℕ), IsUlamSequence a → a 2 = 3
intro a a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n m⊢ a 2 = 3
obtain ⟨_, ⟨⟨i, j⟩, ⟨hij, hj, hsum⟩, _⟩, _⟩ := ha 2 (a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n m⊢ 2 ≤ 2 All goals completed! 🐙)
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mleft✝:a (2 - 1) < a 2right✝¹:∀ (m : ℕ), a (2 - 1) < m → m < a 2 → ¬UniqueUlamSum a 2 mi:ℕj:ℕright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 2 ∧ a 2 = a p.1 + a p.2) y → y = (i, 0)hij:(i, 0).1 < (i, 0).2hj:(i, 0).2 < 2hsum:a 2 = a (i, 0).1 + a (i, 0).2⊢ a 2 = 3a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mleft✝:a (2 - 1) < a 2right✝¹:∀ (m : ℕ), a (2 - 1) < m → m < a 2 → ¬UniqueUlamSum a 2 mi:ℕj:ℕright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 2 ∧ a 2 = a p.1 + a p.2) y → y = (i, 1)hij:(i, 1).1 < (i, 1).2hj:(i, 1).2 < 2hsum:a 2 = a (i, 1).1 + a (i, 1).2⊢ a 2 = 3 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mleft✝:a (2 - 1) < a 2right✝¹:∀ (m : ℕ), a (2 - 1) < m → m < a 2 → ¬UniqueUlamSum a 2 mi:ℕj:ℕright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 2 ∧ a 2 = a p.1 + a p.2) y → y = (i, 0)hij:(i, 0).1 < (i, 0).2hj:(i, 0).2 < 2hsum:a 2 = a (i, 0).1 + a (i, 0).2⊢ a 2 = 3a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mleft✝:a (2 - 1) < a 2right✝¹:∀ (m : ℕ), a (2 - 1) < m → m < a 2 → ¬UniqueUlamSum a 2 mi:ℕj:ℕright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 2 ∧ a 2 = a p.1 + a p.2) y → y = (i, 1)hij:(i, 1).1 < (i, 1).2hj:(i, 1).2 < 2hsum:a 2 = a (i, 1).1 + a (i, 1).2⊢ a 2 = 3 All goals completed! 🐙$a(3) = 4$: among sums $> 3$ with a unique representation from ${1,2,3}$, the smallest is $4 = 1 + 3$. The candidate $5 = 2 + 3$ is ruled out by minimality since $4$ has a unique representation.
@[category test, AMS 5 11 40]
theorem erdos_342.test.a3 : ∀ a : ℕ → ℕ, IsUlamSequence a → a 3 = 4 := ⊢ ∀ (a : ℕ → ℕ), IsUlamSequence a → a 3 = 4
intro a a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n m⊢ a 3 = 4
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩⊢ a 3 = 4
obtain ⟨hinc, ⟨⟨i, j⟩, ⟨hij, hj, hsum⟩, _⟩, hmin⟩ := ha 3 (a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩⊢ 2 ≤ 3 All goals completed! 🐙)
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, j)hij:(i, j).1 < (i, j).2hj:(i, j).2 < 3hsum:a 3 = a (i, j).1 + a (i, j).2hinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 m⊢ a 3 = 4
-- hinc : a 2 < a 3, hmin : ∀ m, a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 m
-- hsum : a 3 = a i + a j, hij : i < j, hj : j < 3
-- Enumerate j ∈ {0, 1, 2}
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, 0)hij:(i, 0).1 < (i, 0).2hj:(i, 0).2 < 3hsum:a 3 = a (i, 0).1 + a (i, 0).2⊢ a 3 = 4a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, 1)hij:(i, 1).1 < (i, 1).2hj:(i, 1).2 < 3hsum:a 3 = a (i, 1).1 + a (i, 1).2⊢ a 3 = 4a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, 2)hij:(i, 2).1 < (i, 2).2hj:(i, 2).2 < 3hsum:a 3 = a (i, 2).1 + a (i, 2).2⊢ a 3 = 4
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, 0)hij:(i, 0).1 < (i, 0).2hj:(i, 0).2 < 3hsum:a 3 = a (i, 0).1 + a (i, 0).2⊢ a 3 = 4 -- j = 0: i < 0 impossible
All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, 1)hij:(i, 1).1 < (i, 1).2hj:(i, 1).2 < 3hsum:a 3 = a (i, 1).1 + a (i, 1).2⊢ a 3 = 4 -- j = 1: i = 0, so a 3 = a 0 + a 1 = 1 + 2 = 3, but a 3 > a 2 = 3
have hi : i = 0 := ⊢ ∀ (a : ℕ → ℕ), IsUlamSequence a → a 3 = 4 All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩j:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (0, 1)hij:(0, 1).1 < (0, 1).2hj:(0, 1).2 < 3hsum:a 3 = a (0, 1).1 + a (0, 1).2⊢ a 3 = 4; a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩j:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (0, 1)hij:(0, 1).1 < (0, 1).2hj:(0, 1).2 < 3hsum:a 3 = 1 + 2⊢ a 3 = 4; a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩j:ℕhinc:3 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (0, 1)hij:(0, 1).1 < (0, 1).2hj:(0, 1).2 < 3hsum:a 3 = 1 + 2⊢ a 3 = 4; All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (i, 2)hij:(i, 2).1 < (i, 2).2hj:(i, 2).2 < 3hsum:a 3 = a (i, 2).1 + a (i, 2).2⊢ a 3 = 4 -- j = 2
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (0, 2)hij:(0, 2).1 < (0, 2).2hj:(0, 2).2 < 3hsum:a 3 = a (0, 2).1 + a (0, 2).2⊢ a 3 = 4a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = a (1, 2).1 + a (1, 2).2⊢ a 3 = 4
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (0, 2)hij:(0, 2).1 < (0, 2).2hj:(0, 2).2 < 3hsum:a 3 = a (0, 2).1 + a (0, 2).2⊢ a 3 = 4 -- i = 0: a 3 = a 0 + a 2 = 1 + 3 = 4
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (0, 2)hij:(0, 2).1 < (0, 2).2hj:(0, 2).2 < 3hsum:a 3 = 1 + 3⊢ a 3 = 4; All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = a (1, 2).1 + a (1, 2).2⊢ a 3 = 4 -- i = 1: a 3 = a 1 + a 2 = 2 + 3 = 5
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3⊢ a 3 = 4
-- hsum : a 3 = 5. Use minimality: m = 4 has unique sum, contradiction.
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3⊢ False
have h4 := hmin 4 (a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3⊢ a 2 < 4 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3⊢ 3 < 4; All goals completed! 🐙) (a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3⊢ 4 < a 3 All goals completed! 🐙)
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)⊢ UniqueUlamSum a 3 4
-- Goal: UniqueUlamSum a 3 4, i.e. ∃! (p : ℕ × ℕ), p.1 < p.2 ∧ p.2 < 3 ∧ 4 = a p.1 + a p.2
-- Witness: (0, 2) since a 0 + a 2 = 1 + 3 = 4
refine ⟨⟨0, 2⟩, ⟨a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)⊢ (0, 2).1 < (0, 2).2 All goals completed! 🐙, a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)⊢ (0, 2).2 < 3 All goals completed! 🐙, a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)⊢ 4 = a (0, 2).1 + a (0, 2).2 All goals completed! 🐙⟩, ?_⟩
-- Uniqueness: check all pairs (i', j') with i' < j' < 3
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', j').1 < (i', j').2hj':(i', j').2 < 3hsum':4 = a (i', j').1 + a (i', j').2⊢ (i', j') = (0, 2)
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', j').1 < (i', j').2hj':(i', j').2 < 3hsum':4 = a (i', j').1 + a (i', j').2⊢ i' = 0 ∧ j' = 2
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', 0).1 < (i', 0).2hj':(i', 0).2 < 3hsum':4 = a (i', 0).1 + a (i', 0).2⊢ i' = 0 ∧ 0 = 2a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', 1).1 < (i', 1).2hj':(i', 1).2 < 3hsum':4 = a (i', 1).1 + a (i', 1).2⊢ i' = 0 ∧ 1 = 2a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', 2).1 < (i', 2).2hj':(i', 2).2 < 3hsum':4 = a (i', 2).1 + a (i', 2).2⊢ i' = 0 ∧ 2 = 2
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', 0).1 < (i', 0).2hj':(i', 0).2 < 3hsum':4 = a (i', 0).1 + a (i', 0).2⊢ i' = 0 ∧ 0 = 2 All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', 1).1 < (i', 1).2hj':(i', 1).2 < 3hsum':4 = a (i', 1).1 + a (i', 1).2⊢ i' = 0 ∧ 1 = 2 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 1).1 < (0, 1).2hj':(0, 1).2 < 3hsum':4 = a (0, 1).1 + a (0, 1).2⊢ 0 = 0 ∧ 1 = 2
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 1).1 < (0, 1).2hj':(0, 1).2 < 3hsum':4 = a (0, 1).1 + a (0, 1).2⊢ 0 = 0 ∧ 1 = 2 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 1).1 < (0, 1).2hj':(0, 1).2 < 3hsum':4 = 1 + 2⊢ 0 = 0 ∧ 1 = 2; All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(i', 2).1 < (i', 2).2hj':(i', 2).2 < 3hsum':4 = a (i', 2).1 + a (i', 2).2⊢ i' = 0 ∧ 2 = 2 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = a (0, 2).1 + a (0, 2).2⊢ 0 = 0 ∧ 2 = 2a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(1, 2).1 < (1, 2).2hj':(1, 2).2 < 3hsum':4 = a (1, 2).1 + a (1, 2).2⊢ 1 = 0 ∧ 2 = 2
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = a (0, 2).1 + a (0, 2).2⊢ 0 = 0 ∧ 2 = 2 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = 1 + 3⊢ 0 = 0 ∧ 2 = 2; a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = 1 + 3⊢ 0 = 0a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = 1 + 3⊢ 2 = 2 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = 1 + 3⊢ 0 = 0a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(0, 2).1 < (0, 2).2hj':(0, 2).2 < 3hsum':4 = 1 + 3⊢ 2 = 2 All goals completed! 🐙
a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(1, 2).1 < (1, 2).2hj':(1, 2).2 < 3hsum':4 = a (1, 2).1 + a (1, 2).2⊢ 1 = 0 ∧ 2 = 2 a:ℕ → ℕha0:a 0 = 1ha1:a 1 = 2ha:∀ (n : ℕ), 2 ≤ n → a (n - 1) < a n ∧ UniqueUlamSum a n (a n) ∧ ∀ (m : ℕ), a (n - 1) < m → m < a n → ¬UniqueUlamSum a n mha2:a 2 = 3 := a2 a ⟨ha0, ⟨ha1, ha⟩⟩i:ℕj:ℕhinc:a 2 < a 3hmin:∀ (m : ℕ), a 2 < m → m < a 3 → ¬UniqueUlamSum a 3 mright✝:∀ (y : ℕ × ℕ), (fun p => p.1 < p.2 ∧ p.2 < 3 ∧ a 3 = a p.1 + a p.2) y → y = (1, 2)hij:(1, 2).1 < (1, 2).2hj:(1, 2).2 < 3hsum:a 3 = 2 + 3h4:¬UniqueUlamSum a 3 4 :=
hmin 4 (Eq.mpr (id (congrArg (fun _a => _a < 4) ha2)) (Decidable.byContradiction fun a_1 => a3._proof_5 a a_1))
(Decidable.byContradiction fun a_1 => a3._proof_6 a hsum a_1)i':ℕj':ℕhij':(1, 2).1 < (1, 2).2hj':(1, 2).2 < 3hsum':4 = 2 + 3⊢ 1 = 0 ∧ 2 = 2; All goals completed! 🐙
Do infinitely many pairs $(a, a+2)$ occur in Ulam's sequence?
@[category research open, AMS 5 11 40]
theorem erdos_342.parts.i :
answer(sorry) ↔
∀ a : ℕ → ℕ, IsUlamSequence a →
Set.Infinite {n : ℕ | ∃ m, a m = a n + 2} := ⊢ True ↔ ∀ (a : ℕ → ℕ), IsUlamSequence a → {n | ∃ m, a m = a n + 2}.Infinite
All goals completed! 🐙
Does Ulam's sequence eventually have periodic differences? That is, is $a(n+1) - a(n)$ eventually periodic?
@[category research open, AMS 5 11 40]
theorem erdos_342.parts.ii :
answer(sorry) ↔
∀ a : ℕ → ℕ, IsUlamSequence a →
let d (n : ℕ) : ℤ := a (n + 1) - a n
∃ p > 0, ∀ᶠ m in atTop, d (m + p) = d m := ⊢ True ↔
∀ (a : ℕ → ℕ),
IsUlamSequence a →
let d := fun n => ↑(a (n + 1)) - ↑(a n);
∃ p > 0, ∀ᶠ (m : ℕ) in atTop, d (m + p) = d m
All goals completed! 🐙
Part (iii), is the density of the sequence 0?
@[category research open, AMS 5 11 40]
theorem erdos_342.parts.iii :
answer(sorry) ↔
∀ a : ℕ → ℕ, IsUlamSequence a →
Set.upperDensity (Set.range a) = 0 := ⊢ True ↔ ∀ (a : ℕ → ℕ), IsUlamSequence a → (range a).upperDensity = 0
All goals completed! 🐙
end Erdos342