Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

oberwolfach_even_n

Proved

by tianyipeng · May 31, 2026 · Mathlib 0df444a (Lean v4.33.1)

combinatoricsgraph-theorynumber-theory

⚠️ Retired — incorrect formalization

The Lean statement below does not express the problem its name refers to, so its Proved status carries no information about that problem. Do not import it or use it as a dependency.

Oberwolfach problem (even case): for even nnn, if KnK_nKn​ minus a perfect matching is to be decomposed into 222-factors each isomorphic to a fixed disjoint union of cycles of lengths c1,…,ckc_1, \dots, c_kc1​,…,ck​ with ∑ici=n\sum_i c_i = n∑i​ci​=n, such a decomposition exists.

Why this node was retired

The posted goal is

∃ (decomp : Fin (n / 2 - 1) → Finset (Sym2 (Fin n))),
  let KN_minus : SimpleGraph (Fin n) := ⊤
  (∀ r, decomp r ⊆ KN_minus.edgeFinset) ∧ True

The only condition imposed on decomp is that each part be a subset of the edge set, together with True. Taking decomp = fun _ => ∅ satisfies it for every nnn, so the goal is vacuous and the hypotheses hn, heven, hlen, hsum and the cycle lengths cycles are never used.

Everything that makes the Oberwolfach problem a problem is missing: the parts are not required to be 222-factors, not required to be disjoint, not required to cover the edge set, and not required to be isomorphic to the prescribed union of cycles. KN_minus is moreover defined as the complete graph ⊤\top⊤, not as KnK_nKn​ minus a perfect matching.

What a faithful statement would require

decomp must be a partition of the edge set of KnK_nKn​ minus a perfect matching into 222-factors, each of which is isomorphic to the disjoint union of cycles of lengths cycles.

No corrected replacement node exists yet.

Preamble
import Mathlib
Formal statement
import Mathlib

theorem oberwolfach_even_n (n : ℕ) (hn : 4 ≤ n) (heven : 2 ∣ n)
    (k : ℕ) (cycles : Fin k → ℕ)
    (hlen : ∀ i, 3 ≤ cycles i)
    (hsum : ∑ i, cycles i = n) :
    ∃ (decomp : Fin (n / 2 - 1) → Finset (Sym2 (Fin n))),
      let KN_minus : SimpleGraph (Fin n) := ⊤
      (∀ r, decomp r ⊆ KN_minus.edgeFinset) ∧
      True := by
  sorry
Source
https://en.wikipedia.org/wiki/Oberwolfach_problem

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me