Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Finite descent outside a closed family

Proved
OPG500Counterexample.finite_good_outside

by hao jia · Sep 7, 2026 · Mathlib 0df444a (Lean v4.33.1)

combinatoricsformalizationgeodesicsgraph-theory

Let CCC be a type of objects with a complete finite list, a weak total preorder ⪯\preceq⪯, and a strict relation ≺\prec≺ compatible in the sense that a⪯ba\preceq ba⪯b rules out b≺ab\prec ab≺a. Let each object have a code in a type VVV with a binary combination, and let I⊆VI\subseteq VI⊆V be closed under that combination.

Assume every object that is not good splits into two strictly smaller objects and that its code is the combination of their codes. If at least one object's code lies outside III, then

∃c,c is good and code⁡(c)∉I.\exists c,\quad c\text{ is good and }\operatorname{code}(c)\notin I.∃c,c is good and code(c)∈/I.

The finite list must contain every object; duplicates and ties are allowed.

Preamble
import Definitions.Def_opg500_weighted_cycle_models
Formal statement
namespace OPG500Counterexample

universe u v

/-- A complete finite table supplies a minimal good object outside any predicate
closed under the binary combination, provided every nongood object splits into
strictly smaller children and weak comparison excludes strict descent. -/
theorem finite_good_outside
    {C : Type u} {V : Type v}
    (combine : V → V → V) (code : C → V)
    (inside : V → Prop) (good : C → Prop)
    (leq smaller : C → C → Prop)
    (hrefl : ∀ a, leq a a)
    (htrans : ∀ a b c, leq a b → leq b c → leq a c)
    (htotal : ∀ a b, leq a b ∨ leq b a)
    (hcompat : ∀ a b, leq a b → ¬ smaller b a)
    (closed : ∀ a b, inside a → inside b → inside (combine a b))
    (split : ∀ c, ¬ good c → ∃ a, ∃ b,
      smaller a c ∧ smaller b c ∧ code c = combine (code a) (code b))
    (table : List C)
    (complete : ∀ c, c ∈ table)
    (outside : ∃ c, ¬ inside (code c)) :
    ∃ c, good c ∧ ¬ inside (code c) := by sorry

end OPG500Counterexample
Source
Candidate C12, frozen finite-descent declaration: https://github.com/vibemathing/problem-opg-500-geodesic-cycles/blob/a41fe59b4535851ea55f6e868e938b9aaf81e924/research/artifacts/candidates/opg500-a01-c12/FiniteDescent.lean
Read-back

What the Lean code literally says, in plain math · gpt-5.6-luna

Let CCC and VVV be types. Let combine : V\times V\to V, code : C\to V, inside : V\to\mathrm{Prop}, good : C\to\mathrm{Prop}, and let leq and smaller be binary relations on CCC. Assume:

for every a, leq(a,a);for all a,b,c, leq(a,b)∧leq(b,c)⇒leq(a,c);for all a,b, leq(a,b)∨leq(b,a);for all a,b, leq(a,b)⇒¬smaller(b,a);if a,b are inside, then combine(a,b) is inside;for every c that is not good, there exist a,b with smaller(a,c), smaller(b,c),and code(c)=combine(code(a),code(b)).\begin{aligned} &\text{for every }a,\ \mathrm{leq}(a,a);\\ &\text{for all }a,b,c,\ \mathrm{leq}(a,b)\land\mathrm{leq}(b,c)\Rightarrow\mathrm{leq}(a,c);\\ &\text{for all }a,b,\ \mathrm{leq}(a,b)\lor\mathrm{leq}(b,a);\\ &\text{for all }a,b,\ \mathrm{leq}(a,b)\Rightarrow\neg\mathrm{smaller}(b,a);\\ &\text{if }a,b\text{ are inside, then }\mathrm{combine}(a,b)\text{ is inside};\\ &\text{for every }c\text{ that is not good, there exist }a,b\text{ with }\mathrm{smaller}(a,c),\ \mathrm{smaller}(b,c),\\ &\qquad\text{and }\mathrm{code}(c)=\mathrm{combine}(\mathrm{code}(a),\mathrm{code}(b)). \end{aligned}​for every a, leq(a,a);for all a,b,c, leq(a,b)∧leq(b,c)⇒leq(a,c);for all a,b, leq(a,b)∨leq(b,a);for all a,b, leq(a,b)⇒¬smaller(b,a);if a,b are inside, then combine(a,b) is inside;for every c that is not good, there exist a,b with smaller(a,c), smaller(b,c),and code(c)=combine(code(a),code(b)).​

Let table be a finite list of elements of CCC containing every element of CCC. If there exists some ccc in CCC for which code(c)\mathrm{code}(c)code(c) is not inside, then there exists some ccc in CCC such that ccc is good and code(c)\mathrm{code}(c)code(c) is not inside.

Human review
  • Endorsed by Shuze Chen · Sep 7, 2026

  • Endorsed by hao jia · Sep 7, 2026

    Confirmed by the mission captain (proposal self-audit).

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.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me