Skip to content

ertwro/one_third_two_thirds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The 1/3–2/3 Poset Conjecture — Lean 4 Formalization

DOI

The Result

A Lean 4 / Mathlib formalization of the Causal Flow framework for the 1/3–2/3 Conjecture (Kislitsyn 1968, Fredman 1976, Linial 1984).

Main Result (Corollary in paper, sorry-free in Lean). The 1/3–2/3 Conjecture holds for every finite poset whose dominant linear extension has at most three disjoint adjacent bottleneck pairs — a structural class defined for all n:

$$3 \cdot \min(c(x,y),; k - c(x,y)) ;\ge; k$$

for some incomparable pair (x, y), where k = |L(P)| and c(x,y) counts extensions with x before y.

This reduces the full conjecture to a single explicit obstruction: posets admitting four or more disjoint bottleneck pairs in their dominant extension.

The Causal Flow Partition

The proof introduces a new decomposition of linear extensions for any incomparable pair (a, b):

  1. Partition: k = 2A + N — every extension is adjacent or non-adjacent
  2. Adjacency Involution: |A⁺| = |A⁻| — swap at distance 1 is a bijection
  3. Flexible Buffer Involution: |F⁺| = |F⁻| — position-swap for all-incomparable buffers
  4. Skewness Equation: c(a,b) − c(b,a) = R⁺ − R⁻ — all skewness comes from rigid buffers

Rigid Necessity: Under AllSkewed, every incomparable pair has a comparability witness — an element comparable to exactly one endpoint.

See docs/proof_overview.pdf for the full paper.

Status

Metric Value
Sorry count (main path) 1 (allskewed_k_ge10_false — the
Sorry count (off-path) 2 (SmallCases: n = 6, 7 native_decide timeouts)
**Main result ( S
Lean errors 0

Sorry Inventory

Sorry File On main path? Description
allskewed_k_ge10_false BackboneDichotomy.lean:523 Yes AllSkewed + k ≥ 10 → False (handles
poset6_one_third_two_thirds SmallCases.lean:299 No native_decide valid (~30 min); verified by Rust
poset7_one_third_two_thirds SmallCases.lean:359 No native_decide OOMs (>32 GB); verified by Rust

Proved sorry-free (key lemmas)

  • adj_involution_card (Defs.lean): |A⁺| = |A⁻| for any incomparable pair
  • flexible_buffer_involution_card (BackboneDichotomy.lean): |F⁺| = |F⁻|
  • skewness_eq_rigid_diff (BackboneDichotomy.lean): c(a,b) − c(b,a) = R⁺ − R
  • rigid_nonempty_of_allskewed (BackboneDichotomy.lean): AllSkewed → rigid buffers exist
  • pigeonhole_two_bottlenecks (CombinatorialBasics.lean): |S| ≤ 2 → False (all n)
  • star_graph_shattered (CombinatorialBasics.lean): |S| = 3 → False (all n)
  • core_extraction (CombinatorialBasics.lean): AllSkewed preserves under restriction to all-active core

Module DAG

SmallCases ──→ CombinatorialBasics ──→ Defs ──→ BackboneDichotomy
                      │                                  │
                      ↓                                  ↓
              CollisionAttack*         TopologicalEndgame ──→ Assembly

* CollisionAttack contains dead code (geometric |S| ≥ 4 analysis, superseded by algebraic bypass). Not on the main proof path.

File Hierarchy

Math/
  Kislitsyn.lean                ← barrel import
  Kislitsyn/
    SmallCases.lean              ← Poset3–5 native_decide (sorry-free); n=6,7 sorry'd
    CombinatorialBasics.lean     ← FinPoset API, majority tournament, core extraction
    CollisionAttack.lean         ← geometric |S|≥4 cases (DEAD CODE, not on main path)
    Defs.lean                    ← Buffer API: adjacency, buffers, skewness
    BackboneDichotomy.lean       ← flex/rigid involution, Rigid Necessity (1 sorry)
    TopologicalEndgame.lean      ← bottleneck case router
    Assembly.lean                ← main theorem: kislitsyn_fredman
    FEATURE_DICTIONARY.lean      ← architecture documentation
    docs/
      proof_overview.pdf         ← the paper
      proof_overview.tex         ← paper source
lakefile.toml                    ← build config (Mathlib v4.28.0)

Build Instructions

Requires Lean 4 + Mathlib v4.28.0. From the repository root:

# First time: fetch Mathlib cache
lake exe cache get

# Build the main theorem
lake build Math.Kislitsyn.Assembly

The build will succeed with one warning (declaration uses sorry) for allskewed_k_ge10_false.

References

  • Kislitsyn (1968). Finite partially ordered sets and their associated sets of permutations.
  • Fredman (1976). How good is the information theory bound in sorting?
  • Linial (1984). The information-theoretic bound is good for merging.
  • Kahn & Saks (1984). Balancing poset extensions.
  • Brightwell, Felsner & Trotter (1995). Balancing pairs and the cross product conjecture.
  • Peczarski (2006). The gold partition conjecture.

License

This formalization is released for academic review.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors