REI-PROVE — paste-and-go Lean 4 自動証明

EN: REI-PROVE — Paste-and-go Lean 4 Auto-Prover
Last updated: 2026-05-02 ・ License: CC-BY 4.0 / AGPL-3.0 (per content type) ・ Author: Nobuki Fujimoto + Rei + Claude (Anthropic)

概要 / Description

日: OUKC の Lean 4 自動証明 tool. paste-and-go formalization + D-FUMT₈ 8 値 honest tagging (TRUE_PROVED / FALSE_DISPROVED / BOTH / NEITHER / INFINITY / ZERO / FLOWING / SELF / FAIL_TIMEOUT). 既存 auto-prover との差別化は honest failure semantics. AGPL-3.0 + CC-BY 4.0.

EN: OUKC's Lean 4 auto-prover. Paste-and-go formalization + D-FUMT₈ 8-valued honest outcome tagging. Distinctive feature: honest failure semantics, not just success/fail. AGPL-3.0 + CC-BY 4.0.

⧯ Open Interactive Rei-AIOS (SPA)

REI-PROVE — Paste-and-go Lean 4 Auto-Prover with D-FUMT₈ Honest Tagging

Version: MVP (Phase 1 of REI-PROVE roadmap) License: AGPL-3.0 (code) + CC-BY 4.0 (output) Repository: github.com/fc0web/rei-aiossrc/aios/auto-prover/ Try it: rei-aios.pages.dev/#/oukc → Auto-Prover tab

What is it?

REI-PROVE is a paste-and-go Lean 4 formalization auto-prover that takes a natural-language proof goal or partial Lean 4 statement, attempts to formalize and prove it, and returns a D-FUMT₈ honest outcome tag indicating exactly what the prover succeeded or failed at.

Differentiator: Unlike traditional auto-provers that return only success or fail, REI-PROVE classifies outcomes across an 8-valued logic space:

D-FUMT₈ tag Meaning
TRUE_PROVED Goal mechanically verified by lake env lean (exit 0)
FALSE_DISPROVED Counterexample found; goal is false
BOTH Goal contains internal tension (proved under axiom A, disproved under not-A)
NEITHER Goal is structurally underdetermined (W-48 Negative Capability)
INFINITY Search space exceeded computational bounds
ZERO Trivially reduced to 0 = 0 or empty
FLOWING Partial proof / depends on unresolved lemma
SELF Self-referential / fixed-point / recursive structure detected
FAIL_TIMEOUT Prover exhausted time budget without classification

How it works (high-level)

User input (natural language or Lean 4 partial)
        ↓
[Goal Extractor] — identifies the formal goal
        ↓
[Single-Prover Engine] — tries multiple tactics
        ↓
[Lean Verifier] — runs `lake env lean` for ground truth
        ↓
[D-FUMT₈ Tagger] — classifies the outcome
        ↓
Output: { proof: string | null, dfumt8Tag: string, reasoning: string }

Layer A (public): single-prover, ~60s budget, sufficient for most undergraduate-level lemmas. Layer B (private, founder strategic): ensemble voting + iterative feedback loop, multi-prover consensus.

Sample input → output

Example 1: Trivial divisibility

Input (natural language):

For all natural numbers n, n^2 + n is even.

REI-PROVE output:

theorem n_squared_plus_n_even (n : ℕ) : Even (n^2 + n) := by
  rcases Nat.even_or_odd n with h | h
  · exact (Nat.Even.add (Nat.Even.pow h) h)
  · exact (Nat.Odd.add_odd (Nat.Odd.pow h) h)

D-FUMT₈ tag: TRUE_PROVED (verified by lake env lean exit 0) Reasoning: "Goal reduced to even/odd case split; both cases dispatched by Mathlib lemmas."

Example 2: Untimely Lean stuck

Input:

Brocard's problem: ∀ n ≥ 8, n! + 1 is not a perfect square.

REI-PROVE output:

[partial proof for n=8..150 via decide, n>150 sorry]

D-FUMT₈ tag: FLOWING (partial: ranges proved, general case open) Reasoning: "n=[8, 150] mechanically verified using decide tactic. n>150 requires deeper number theory; classified as FLOWING (partial proof, general case = open conjecture)."

Example 3: Underdetermined goal

Input:

This statement is unprovable.

REI-PROVE output:

(no Lean 4 output — self-referential structure detected)

D-FUMT₈ tag: SELF + NEITHER Reasoning: "Goal contains self-reference. Classified as SELF (Gödelian) + NEITHER (W-48 — structurally not type-able as standard Prop)."

Why D-FUMT₈ tagging matters

Traditional auto-provers conflate three failure modes:

These are very different epistemically. REI-PROVE separates them, giving you honest failure information — not just "fail."

This honest tagging is the basis for OUKC's Lean 4 corpus quality control: every unproved theorem is annotated with WHY it remains unproved, allowing prioritization (FLOWING ⊃ NEITHER ⊃ FAIL_TIMEOUT in practical effort terms).

What REI-PROVE does NOT do (honest hedge)

Phase 1 capability targets (current)

Phase 2 roadmap (future)

Compared to existing tools

Tool Auto-prove Honest fail tagging Mathlib compat License
REI-PROVE ✓ (D-FUMT₈ 8 values) ✓ (no AI-PR to Mathlib) AGPL-3.0 + CC-BY 4.0
LeanCopilot ✗ (binary success/fail) (Apache)
Lean Auto + Duper Apache
GPT-f / DeepSeek-Prover Various
LLMStep MIT

REI-PROVE's distinctive contribution is the 8-valued honest-failure semantics, not raw proving power. We do not claim to beat existing tools at speed or coverage; we claim to give you better information about what failed when proof attempts fail.

Try it now (interactive)

Open REI-PROVE in Rei-AIOS SPA →

(Click the "Auto-Prover" tab in the OUKC navigation.)

Cite REI-PROVE

@misc{reiprove2026,
  title  = {REI-PROVE: Paste-and-go Lean 4 Auto-Prover with D-FUMT₈ Honest Tagging},
  author = {Fujimoto, Nobuki and Rei (Rei-AIOS) and Claude (Anthropic)},
  year   = {2026},
  url    = {https://rei-aios.pages.dev/tools/auto-prover/},
  note   = {OUKC tool, AGPL-3.0 + CC-BY 4.0}
}

Bug reports / feature requests

GitHub Discussions / Auto-Prover category — please include the input, the output, and what you expected.

Related


REI-PROVE is part of OUKC, an AI-collaborative knowledge commons. Founded with three-party co-authorship: 藤本伸樹 (Founder) × Rei (Rei-AIOS) × Claude (Anthropic).

⧯ Open Interactive Rei-AIOS (SPA)