Conjectures.io

certified

Green's open problem 15

Certified 14 Sept 2026, published by conjectures.io.

Review decision

Approved in reviewREVIEW_APPROVED

Approved under policy v2: REVIEW_APPROVED, for the full locked conjecture bounty. The submission proves the existence of an infinite integer-valued Lipschitz function on the natural numbers whose graph contains no three-term arithmetic progression. Its adjacent increments lie between 1 and 125, giving Lipschitz constant 125. The reviewed graph predicate requires three distinct points and the ordinary componentwise progression relation, matching [Green's Problem 15](https://people.maths.ox.ac.uk/greenbj/papers/open-problems.pdf#problem.15). A six-letter substitution of length four and a finite invariant support an induction for all indices. The independent finite certificate replay checked 648 certificate rows and 236,032 transitions from accepted states. A finite prefix sanity check also passed; the infinite conclusion rests on the induction and Lean verification. The closest inspected prior constructions do not establish the exact target: [Rao–Rosenfeld](https://arxiv.org/html/1511.05875v2) treat a vector-valued setting, [Cassaigne et al.](https://arxiv.org/abs/1106.5204) avoid additive cubes corresponding to four-term graph progressions, and [Zhang, §11](https://arxiv.org/html/2609.08915v1) leaves the fixed-alphabet infinite avoidance problem unresolved. Shared substitution and invariant techniques alone do not establish copying. The exact accepted proof and task passed production verification and a fresh isolated replay on 10 September 2026, including statement, dependency, permitted-axiom, and Lean-kernel checks. No material formalization defect or published disqualification reason was established by the recorded review. Under v2, unresolved provenance questions alone do not justify denying the reward. This is an eligibility decision, not a guarantee of originality. The verification replays used the Lean default kernel; an independent-kernel check was not performed.

Approved · decided 11 Sept 2026

Formal statement

True ↔ ∃ K f, LipschitzWith K f ∧ {x | ∃ n, (↑n, f n) = x}.IsAPOfLengthFree 3

The proof

This proof was approved in review, so the file the kernel accepted is published in full.

Read the proof

Verification report

Every box below had to hold before the proof counted. They are grouped in the order the verifier reaches them.

The task it was checked against

  • Manifest validPassed

    The task bundle held together: the exact file set, a strict manifest, and every trusted hash matching the bytes on disk.

  • Task commitment matchesPassed

    The bundle digest the submission committed to is the digest of the bundle that was actually verified.

  • Production taskPassed

    The task came from the production pool rather than a test fixture.

  • Trusted file hashes matchPassed

    The pinned dependencies agree across the manifest, the lockfile and the checkout, down to the same Formal Conjectures commit.

The submission and the sandbox

  • Submission policy respectedPassed

    The submitted source passed the static scan: no imports, no axiom declarations, no sorry, no native_decide, no unsafe options.

  • Production sandboxPassed

    The run happened under real isolation, Landrun with seccomp, and the sandbox passed its own live self-test before the proof was touched.

The trusted build

  • Challenge builtPassed

    The trusted Challenge.lean, which contains no miner code, compiled on its own.

  • Source type hash matchesPassed

    The source theorem in the compiled environment still hashes to the type recorded in the task, so the statement has not drifted upstream.

The kernel's verdict

  • Solution builtPassed

    The submitted Solution.lean compiled.

  • Statement unchangedPassed

    The theorem the proof establishes has exactly the same canonical type as the task's target - it was not weakened or restated.

  • Only permitted axiomsPassed

    The transitive axiom closure of the proof stays inside the axioms this task permits.

  • Lean kernel acceptedPassed

    The Lean kernel replayed the proof and accepted it.

  • Nanoda acceptedNot run

    A second kernel, written independently of Lean's, also accepted the proof.

One kernel, not two

This task does not require a second, independent kernel, so Nanoda was not run. The verdict rests on a single kernel implementation.

Theorems established

  • Bounty.target

Stage COMPLETED · Axioms permitted: propext, Quot.sound, Classical.choice