combibench-v1 / apmo-2023-p1

apmo-2023-p1

open
difficulty 4
credited
Run this goal:./swarm/run.sh --goal apmo-2023-p1

What it runs

The Lean statement the swarm must prove — kernel-verified at Gate A. The trailing sorry is the open obligation a proof replaces.

goals/apmo-2023-p1.lean
import Mathlib

structure Square where
  (pos : ℝ × ℝ)
  (side_length : ℕ)
noncomputable def Square.vertices (s: Square) : Finset (ℝ × ℝ) :=
  let x := s.pos.1; let y := s.pos.2; let n : ℝ := s.side_length;
  {(x, y), (x + n, y), (x, y + n), (x + n, y + n)}
def Square.occupy (s : Square) : Set (ℝ × ℝ) :=
  let x := s.pos.1; let y := s.pos.2; let n : ℝ := s.side_length;
  {p | x ≤ p.1 ∧ p.1 ≤ x + n ∧ y ≤ p.2 ∧ p.2 ≤ y + n}
def touches_only_vertices (s1: Square) (s2: Square): Prop :=
  ∀ p ∈ s1.occupy ∩ s2.occupy, p ∈ s1.vertices ∧ p ∈ s2.vertices

theorem apmo_2023_p1 (n : ℕ) (h_n: n ≥ 5) :
    ∃ position : Fin n → ℝ × ℝ,
    (∀ n1 n2 : Fin n, n1 ≠ n2 → touches_only_vertices ⟨position n1, n1 + 1⟩ ⟨position n2, n2 + 1⟩) ∧
    ∀ m : Fin n, {S | ∃ i, S = ⟨position i, i + 1⟩ ∧ touches_only_vertices ⟨position m, m + 1⟩ S}.ncard = 2 := by
  sorry

Runs (0)

No runs recorded for this suite yet — they appear here as the swarm attempts the benchmarks.