Vision

Core Vision

Euled is not a fixed set of proofs: it is an algorithm. You give it a problem statement. It searches outward from the axioms (all of Mathlib) and inward from the target (the problem). It maintains a growing lemma bank of every non-trivial verified sub-lemma it discovers. When it finds a proof, it returns the result and the proof. Then it runs the Shortener cascade to tighten the proof. The cycle repeats: solve → tighten → bank → solve harder problems.

The Loop

while problems_remain:
  target = select_highest_coverage_per_cost(open_problems)
  proof = two_ended_search(target, lemma_bank)
  if proof:
    short_proof = shortener_cascade(proof)
    lemma_bank.add(short_proof.sublemmas)
    output(target, short_proof)
  else:
    open_problems.remove(target)  # or re-queue with lower priority

Expanding from Axioms and All Existing Math Research

The forward frontier starts from Mathlib axioms and definitions. But it also incorporates all existing formalized mathematics: every theorem in Mathlib, every proof in formal-conjectures, every AlphaProof Nexus result, every FME problem. The lemma bank is the union of all verified sub-lemmas from all these sources, plus every new lemma Euled discovers.

Mathlib

  • All Mathlib theorems
  • All definitions and axioms
  • Pinned to frozen commit per source

Formal-Conjectures

  • 909 ErdosProblems
  • 17 categories
  • Millennium, Hilbert, OEIS, etc.

AlphaProof Nexus + FME

  • Published AlphaProof proofs
  • 68 FME conjectures
  • PutnamBench, miniF2F

Answer: Result Plus Proof

Every output is a pair: (result, proof). The proof is a Lean 4 term that type-checks against the frozen Mathlib commit. No natural language explanations: the proof is the explanation. The site shows: statement, status, Verso-rendered proof, "run it" link (live.lean-lang.org if compatible, else lake command), and the verification checklist (Rule 2: wrapper check, axiom audit, lake build).

What Every Output Contains

  • Problem statement (Lean + LaTeX)
  • Verified proof (Lean term)
  • Verso link (literate HTML)
  • "Run it" link (live.lean-lang.org or lake command)
  • Verification: wrapper check, axiom audit and lake build, each passed
  • Rerun command (one-line reproduction)
  • Cost: tokens, GPU-hours, $ estimate

Then Tighten the Proof

The Shortener cascade runs on every new proof: AXLE simplify → collapse blocks → grind finish? → have2lemma + re-prove → meta-short merge. GPU neural shortener (G3) at equal compute vs ImProver-style rewriting. Idempotence test ensures CPU passes converge. The shortened proof replaces the original in the lemma bank: future searches use the tight version.

Shortener Pipeline

CPU (C2, idempotence tested)

  1. AXLE simplify_theorems to fixpoint
  2. Collapse have/tactic blocks
  3. grind finish? scripts
  4. have2lemma + re-prove from scratch
  5. Meta-short: merge shortest across versions

GPU (G3)

  • ~1.0h vs ImProver-style at equal compute
  • Target: 80% fewer steps
  • Must Lean-verify before return
  • Non-convergence spread over 3 seeds
  • Flag grind/hammer-only gains

Long-Range Targets

The same algorithm that solves Erdos problems and Putnam problems is aimed at the Millennium Prize problems formalized in Lean. Mathlib defines RiemannHypothesis: it is the expected top target by coverage-per-cost. P vs NP formalization is tracked. These are labeled as targets, not claims.

Riemann Hypothesis

  • Formalized in Mathlib: RiemannHypothesis
  • Expected top target by coverage-per-cost
  • Background run scores Millennium problems by coverage-per-cost
  • The background run targets it once Lean-verified numbers exist
  • Notify only after Rule 2 in full + clean rebuild + independent re-check

P vs NP

  • Formalization in progress (tracking)
  • Labeled as target
  • Same algorithm: expand from axioms, search from target
  • Lemma bank grows toward this
  • No timeline: it's a direction

Background Run (Phase 5)

Status: not started. Once the Lean harness verifies real sub-lemmas, a launchd job on this Mac will run a continuous CPU cascade (nice 19). Frontier calls through fcc with daily cap. GPU only when idle (tag: background). It will write every 6 hours background/progress.json with: bridge distance to target, non-trivial verified sub-lemmas on best path, bank size and reuse, open subgoals on best path, CPU-h, GPU-h, fcc calls, tokens.

Notification Policy

  • Notify (ntfy.sh + email) ONLY after: Rule 2 in full against Mathlib's RiemannHypothesis + clean rebuild on fresh machine + independent fresh-agent re-check
  • Weekly progress push (no notification, just log)
  • Failed/suspicious solves → background/false_alarms.md (never notify)

Optimize the Optimization

  • Weekly Optuna: closer order, timeouts, bank top-k, middle-point count, frontier-call threshold
  • Objective: non-trivial sub-lemmas on target path per token (held-out slice)
  • Monthly: coverage-per-cost engine tunes the weekly search itself
  • Stop when expected gain from more tuning < compute cost of tuning
  • Keep change only if it beats previous on held-out slice; log before/after in DECISIONS.md

Credits

This work builds on:

  • DeepMind: AlphaProof, AlphaProof Nexus, formal-conjectures
  • Epoch AI: LeanOpenProblems (FME), forecasting
  • Mathlib: The mathematics library
  • UW Math AI: TheoremGraph, LeanGraph, LeanExplore
  • Axiom: AXLE (verify_proof, simplify_theorems, have2lemma, disprove)
  • Numina: Goedel-Prover models
  • Goedel-LM: Goedel-Prover-V2-8B
  • Questboy23: ai-math-forecast (dated Erdős forecast)