Conjectures.io

certified

Green's open problem 29

Disproved

A family of 3-approximate subgroups refutes the proposed uniform polynomial lower bound for the size of subsets S satisfying S^8 contained in A^4.

Submitted by 5GeGrY…uLUScV

Lean verification:
Passed
Conjectures review:
Approved
Reward:
Paid

Certified 6 Aug 2026, published by conjectures.io.

Review decision

Approved in reviewREVIEW_APPROVED

The proof refutes the uniform polynomial lower bound in Green29.green_29 using a concrete family with K = 3. For arbitrary proposed constants C, c > 0, it takes G = Multiplicative ℤ × H with H finite and sufficiently large, and A = ({-1, 1} × H) ∪ {(0, 1)}. It proves that A is a 3-approximate subgroup. Integer-coordinate bounds then show that any S ⊆ A satisfying S⁸ ⊆ A⁴ must have coordinate zero; because A has only the identity at that coordinate, |S| ≤ 1. Choosing H large enough gives C · 3⁻ᶜ · |A| > 1, contradicting the lower bound required by the conjecture. The production verifier confirmed the exact counterexample statement and task commitment, built both challenge and solution, accepted the proof with Lean's default kernel in the landrun+seccomp sandbox, and found only the permitted axioms propext, Quot.sound, and Classical.choice. The counterexample therefore establishes the negation of the published Green29 target and is approved for the bounty.

Approved · decided 6 Aug 2026

Formal statement

True ↔
  ∃ C c,
    0 < C ∧
      0 < c ∧
        ∀ {G : Type u_1} [inst : Group G] [inst_1 : DecidableEq G] (K : ℝ) (A : Finset G),
          1 ≤ K → IsApproximateSubgroup K ↑A → ∃ S ⊆ A, C * K ^ (-c) * ↑A.card ≤ ↑S.card ∧ S ^ 8 ⊆ A ^ 4

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 valid — Passed

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

  • Task commitment matches — Passed

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

  • Production task — Passed

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

  • Trusted file hashes match — Passed

    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 respected — Passed

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

  • Production sandbox — Passed

    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 built — Passed

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

  • Source type hash matches — Passed

    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 built — Passed

    The submitted Solution.lean compiled.

  • Statement unchanged — Passed

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

  • Only permitted axioms — Passed

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

  • Lean kernel accepted — Passed

    The Lean kernel replayed the proof and accepted it.

  • Nanoda accepted — Not 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