Plectis Atlas
Search

↑ and ↓ move, Enter opens, Esc closes.

Lean statement

Frame, spectral, and density estimates for Thorp mixing

Lean is a language for mathematical statements and proofs that a computer can verify. This page shows one statement file from OpenAI’s release, possible paper matches and independent reports. The code-like names below identify the definitions or theorems selected by the proof-verification settings.

Theorem selected for verification: OAI.ThorpResults.remaining_main

Lean statement file: ThorpRemaining.leanShow on the mapOpenAI’s Lean catalogue does not list this as a main result; the release’s Lean notes for family 238 link it.

The Lean statement

The lines of the Lean statement that state the theorem, then the definitions in the file that it uses.

theorem remaining_main :    FrameMain ∧ InformationMain ∧ SpectrumMain ∧ SignedMain ∧      DegreeSavingMain ∧ FullDensityMain ∧ ForwardMixingMain ∧ OptimalOrderMain := by  sorry

A Lean statement states the theorem and leaves its proof as sorry on purpose. OpenAI’s proof is in a separate solution module, and a program called Comparator checks that proof against this statement.

Definitions needed to read it

Local definitions the statement names, followed through the definitions they name in turn. The match is by name in the source text, so a name reached only through notation can be missed; the full file is below.

  • abbreviation OAI.Thorp.Position line 13

    abbrev Position (d : ℕ) := Fin d → Bool
  • abbreviation OAI.Thorp.State line 14

    abbrev State (d : ℕ) := Equiv.Perm (Position d)
  • definition OAI.Thorp.Coins line 16

    def Coins : ℕ → Type  | 0 => Unit  | d + 1 => Position d → Bool
  • definition OAI.Thorp.pairSwitch line 26

    def pairSwitch (d : ℕ) (c : Position d → Bool) : Equiv.Perm (Bool × Position d) where  toFun p := (p.1 ^^ c p.2, p.2)  invFun p := (p.1 ^^ c p.2, p.2)  left_inv p := by    rcases p with ⟨b, s⟩    cases b <;> cases h : c s <;> simp [h]  right_inv p := by    rcases p with ⟨b, s⟩    cases b <;> cases h : c s <;> simp [h]
  • definition OAI.Thorp.rotate line 36

    def rotate (d : ℕ) : State d :=  Equiv.piCongrLeft (fun _ : Fin d => Bool) (finRotate d).symm
  • definition OAI.Thorp.step line 39

    def step : (d : ℕ) → Coins d → State d  | 0, _ => Equiv.refl _  | d + 1, c =>    (((Fin.consEquiv (fun _ : Fin (d + 1) => Bool)).symm.trans      (pairSwitch d c)).trans      (Fin.consEquiv (fun _ : Fin (d + 1) => Bool))).trans (rotate (d + 1))
  • abbreviation OAI.Thorp.History line 46

    abbrev History (d t : ℕ) := Fin t → Coins d
  • definition OAI.Thorp.run line 48

    def run (d t : ℕ) (ω : History d t) : State d :=  ((List.ofFn fun i : Fin t => step d (ω i)).reverse).prod
  • definition OAI.Thorp.fairMass line 51

    def fairMass {Ω : Type u} {α : Type v} [Fintype Ω] (f : Ω → α) (a : α) : ℝ := by  classical  exact (∑ ω : Ω, if f ω = a then (1 : ℝ) else 0) / Fintype.card Ω
  • definition OAI.Thorp.law line 55

    def law (d t : ℕ) : State d → ℝ := fairMass (run d t)
  • definition OAI.Thorp.uniform line 57

    def uniform (d : ℕ) (_ : State d) : ℝ := 1 / Fintype.card (State d)
  • definition OAI.Thorp.tv line 59

    def tv {α : Type u} [Fintype α] (μ ν : α → ℝ) : ℝ :=  (1 / 2 : ℝ) * ∑ a : α, |μ a - ν a|
  • definition OAI.Thorp.distance line 62

    def distance (d t : ℕ) : ℝ := tv (law d t) (uniform d)
  • definition OAI.Thorp.lawFrom line 64

    def lawFrom (d t : ℕ) (g₀ : State d) : State d → ℝ :=  fairMass (fun ω : History d t => run d t ω * g₀)
  • abbreviation OAI.Thorp.LabelList line 67

    abbrev LabelList (d k : ℕ) := Fin k ↪ Position d
  • definition OAI.Thorp.coordinateRun line 69

    def coordinateRun (d t : ℕ) (ω : History d t) : State d :=  (rotate d)⁻¹ ^ t * run d t ω
  • definition OAI.Thorp.images line 72

    def images {d k : ℕ} (t : ℕ) (start : State d) (labels : LabelList d k)    (ω : History d t) : LabelList d k :=  labels.trans ((coordinateRun d t ω * start).toEmbedding)
  • definition OAI.Thorp.listTV line 76

    def listTV {d k : ℕ} (t : ℕ) (start : State d) (labels : LabelList d k) : ℝ :=  tv (fairMass (images t start labels)) (fun _ => 1 / Fintype.card (LabelList d k))
  • definition OAI.Thorp.mixingTime line 79

    def mixingTime (d : ℕ) : ℕ := sInf {t : ℕ | distance d t ≤ 1 / 4}
  • abbreviation OAI.ThorpNine.Harmonic.Thorp.Card line 89

    abbrev Card (d : ℕ) := Fin d → Bool
  • abbreviation OAI.ThorpNine.Harmonic.Thorp.Specht.Cell line 155

    abbrev Cell (μ : YoungDiagram) := {x : ℕ × ℕ // x ∈ μ.cells}
  • definition OAI.ThorpNine.Harmonic.Thorp.Specht.row line 157

    def row {μ : YoungDiagram} (x : Cell μ) : ℕ := x.1.1
  • definition OAI.ThorpNine.Harmonic.Thorp.Specht.col line 159

    def col {μ : YoungDiagram} (x : Cell μ) : ℕ := x.1.2
  • definition OAI.ThorpNine.Harmonic.Thorp.Specht.rowIndex line 164

    noncomputable def rowIndex {μ : YoungDiagram} (x : Cell μ) : Fin (μ.colLen 0) :=  ⟨row x, (row_lt_colLen x).trans_le (μ.colLen_anti 0 (col x) (Nat.zero_le _))⟩

42 more definitions are reached the same way; the full file lists them.

Possible paper match, with no recorded review

Atlas selected this possible match by comparing words in the Lean statement with every statement in the family. No review of whether the statements mean the same thing is recorded.

Words of the Lean statement, its names split into words, that also appear in the theorem: optimal, theta, mix, 1/4, time, distance, order, tv and two more. Found in the paper’s title, which its main theorem states: thorp.

Statements in Optimal-order mixing of the Thorp shuffle come first because the AI draft reading of OpenAI’s note shares words with that paper’s title.

Theorem 1.1 of Optimal-order mixing of the Thorp shuffle

Theorem (Optimal-order mixing)

As d\to\infty,

\|q_d^{*(1600d)}-U_n\|_{\mathrm{TV}}\longrightarrow0.

For every integer t\ge0,

\|q_d^{*t}-U_n\|_{\mathrm{TV}} \ge 1-\frac{2^{tn/2}}{n!}.

Consequently the mixing time at distance 1/4 satisfies

t_{\mathrm{mix}}(d)\ge \left\lceil\frac2n\log_2\frac{3n!}{4}\right\rceil =2d-O(1), \qquad t_{\mathrm{mix}}(d)=\Theta(d).
Section 1, Introduction Read it in the paper TeX source, line 53
Show the TeX
As $d\to\infty$,
\[
 \|q_d^{*(1600d)}-U_n\|_{\mathrm{TV}}\longrightarrow0.
\]
For every integer $t\ge0$,
\[
 \|q_d^{*t}-U_n\|_{\mathrm{TV}}
 \ge 1-\frac{2^{tn/2}}{n!}.
\]
Consequently the mixing time at distance $1/4$ satisfies
\[
 t_{\mathrm{mix}}(d)\ge
 \left\lceil\frac2n\log_2\frac{3n!}{4}\right\rceil
 =2d-O(1),
 \qquad t_{\mathrm{mix}}(d)=\Theta(d).
\]

Other possible paper matches, closest wording first

  • Theorem 15.1 of Random coordinate frames and partial permutation laws. Words of the Lean statement, its names split into words, that also appear in the theorem: fair, step, using, switches, mix, 1/4 and six more. Found in the paper’s title, which its main theorem states: frames, coordinate, permutation and laws. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: initial, deck, total, variation and shuffle.
  • Proposition 8.3 of Compatibility entropy and the spectrum of a Thorp sweep. Words of the Lean statement, its names split into words, that also appear in the theorem: actions, remaining, acting, injective, function, space and nine more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: bound.
  • Theorem 1.1 of Conditional information under deterministic coordinate sweeps. Words of the Lean statement, its names split into words, that also appear in the theorem: 3/2, images, full, time, lists, starting and five more. Found in the paper’s title, which its main theorem states: information, coordinate and sweeps. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: deck, uniformly, total and variation.
  • Proposition 12.14 of Random coordinate frames and partial permutation laws. Words of the Lean statement, its names split into words, that also appear in the theorem: last, tails, history, unit, range, unitary and eight more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: gives and bound.
  • Proposition 4.1 of Compatibility entropy and the spectrum of a Thorp sweep. Words of the Lean statement, its names split into words, that also appear in the theorem: steps, index, operators, finite, regular, moment and ten more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: total and variation.
  • Theorem 1.2 of A strict four-row permanent inequality and permutation moments. Words of the Lean statement, its names split into words, that also appear in the theorem: saving, even, forward, moment, degree, zero and six more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: deck, uniformly, total and variation.

How Atlas selects possible matches: it compares words in the Lean statement with every statement in the family. It also splits Lean names into words. The release’s label and note receive less weight; a main theorem wins a close match. If the Lean wording yields no clear match, Atlas uses the catalogue description. This selects passages to compare; it does not establish that they mean the same thing.

Reported Comparator runs

two independent groups report that Comparator accepted runs for this Lean statement file: Carlos Toledo’s cert-machine; MathVet. Each group reports its own Comparator run for this statement file. Atlas has not repeated the runs.

For a configured theorem, Comparator tests whether OpenAI’s proof proves the exact Lean statement. Some files instead configure definitions for comparison by name and type. Acceptance does not establish that the statement means the same thing as the paper’s theorem.

Carlos Toledo’s cert-machine

How they ran it, in their words

Every Comparator challenge re-run on Linux with nanoda switched on, decided by a preregistered rule; every family’s challenge statements read against OpenAI’s headline, clause by clause. Decider: Comparator (leanprover/comparator d03acab1 = tag v4.34.0, built with the release’s toolchain v4.34.1), lean4export 076e8e57, landrun 811cfff5, nanoda_lib 3a240721 — on GitHub’s Linux runners (.github/workflows/openai-math-kernel.yml), one j…

  • Accepted Their term: “CERTIFIED”.

    Re-run through Comparator with the independent nanoda kernel switched on: Lean’s kernel and nanoda both accept OpenAI’s solution.

    Reported 10 October 2026, at the release version shown here. Original verification report

MathVet

How they ran it, in their words

An independent, model-assisted, pre-referee reading of each family’s challenge statements against its headline claim under a published rubric (PROTOCOL.md), with its own Comparator runs per challenge. Its protocol describes a planned error-rate study; this import does not establish that the study has been completed.

  • Accepted Their term: “comparator-sandboxed-pass”.

    Re-run through Comparator in a sandboxed virtual machine: accepted.

    Reported 8 October 2026, at the release version shown here. Original verification report

What an accepted Comparator run would establish

If Comparator is run under this configuration and accepts, the solution proves the configured theorem using only the allowed axioms, and the Lean kernel accepts every step.

This configuration lists no definition holes, so every definition the statement uses is compared as it is written in this file.

Allowed axioms: propext, Quot.sound, Classical.choice

Acceptance leaves open whether the Lean statement means the same thing as the paper’s theorem, whether the paper’s other claims are correct, and whether the result is new. Those questions require comparing the definitions and statements, reviewing the paper’s arguments, and reading the earlier literature.

Do family 238’s Lean statements express the advertised result?

These assessments compare all the family’s Lean statements with the whole result OpenAI describes in its catalogue. They do not assess this statement alone. Each group uses its own published rules.

MathVet and cert-machine agree on how much of the advertised result the Lean statements express.

  • MathVet

    Finds the whole advertised result stated or implied Their term: “full”.

    The challenge statements imply the headline claim after unpacking definitions or one routine step. Their record

    Their note: ThorpResults.remaining_main (ThorpRemaining) is a conjunction whose last conjunct OptimalOrderMain := IsTheta atTop (mixingTime d) (log (2^d)) states exactly the Θ(log N) mixing for N = 2^d cards, with mixingTime d := sInf {t | distance d t ≤ 1/4}, distance d t := tv (law d t) (uniform d) the total-variation distance of the full permutation law (and InformationMain records that lawFrom from any starting deck has the same distance, plus distance d (2048 d) → 0); the 12 other challenge files are supporting Fourier/representation estimates (regular_trace_smoothing, binary_sweep_contraction_and_mixing, robust_permanent, ...). All of them state estimates for the same hand-built Thorp shuffle.

    Definitions the group asks readers to compare with the paper: Custom Thorp shuffle and 'mixing time': step (d+1) c := (pairSwitch d c on the head bit, then rotate the coordinate order) on State d := Equiv.Perm (Fin d → Bool) with Coins (d+1) = (Fin d → Bool) → Bool iid fair coins, fairMass, tv, mixingTime d := sInf {t | distance d t ≤ 1/4}; this is the standard pair-swap-and-interleave Thorp shuffle and TV-from-uniform with ε = 1/4, but it is a hand-written model and the Θ-statement hides explicit constants (1600d, 2048d, ...). OccupiedOverlap shows an axiom_files hit (HookModel.lean) that is a doc-comment false positive.

  • Carlos Toledo’s cert-machine

    Finds the whole advertised result stated or implied Their term: “MATCHES”.

    The challenge statements state the headline as OpenAI wrote it. Their record

Read the complete assessments on the family page.

OpenAI’s own note on what this Lean statement covers

“The formalization proves optimal-order mixing of the Thorp shuffle on $2^d$ cards. After $1600d$ complete shuffles, the full permutation law converges in total variation to uniform as $d\to\infty$, uniformly over initial decks. Together with the support lower bound of $2d-O(1)$, this gives mixing time $\Theta(d)=\Theta(\log(2^d))$.”

An AI agent drafted an interpretation of that note, classifying this statement as “states a weaker form of a paper’s theorem”. No human review of the draft is recorded.

Supporting material

The complete Lean statement file

550 lines, copied from release version fd4aeeb. A name defined in this file links to its line; pointing at the name shows its definition.

Declared in this fileOpenAI’s library at fd4aeebOther linked names open the current documentation for Mathlib, Lean’s mathematical library.

Links in the file: 295 to its own declarations, 290 to Mathlib’s documentation. 61 declared names also link to the same declaration in OpenAI’s library. OpenAI uses Mathlib version d13f23b. The linked documentation describes the current version, so names that have since changed may be missing there.

import Mathlibnamespace OAIuniverse u vnoncomputable sectionopen scoped BigOperatorsopen Filternamespace Thorpabbrev Position (d : ℕ) := Fin d → Boolabbrev State (d : ℕ) := Equiv.Perm (Position d)def Coins : ℕ → Type  | 0 => Unit  | d + 1 => Position d → Boolinstance coinsFintype (d : ℕ) : Fintype (Coins d) := by  cases d <;> simp only [Coins] <;> infer_instanceinstance coinsInhabited (d : ℕ) : Inhabited (Coins d) := by  cases d <;> simp only [Coins] <;> infer_instancedef pairSwitch (d : ℕ) (c : Position d → Bool) : Equiv.Perm (Bool × Position d) where  toFun p := (p.1 ^^ c p.2, p.2)  invFun p := (p.1 ^^ c p.2, p.2)  left_inv p := by    rcases p with ⟨b, s⟩    cases b <;> cases h : c s <;> simp [h]  right_inv p := by    rcases p with ⟨b, s⟩    cases b <;> cases h : c s <;> simp [h]def rotate (d : ℕ) : State d :=  Equiv.piCongrLeft (fun _ : Fin d => Bool) (finRotate d).symmdef step : (d : ℕ) → Coins d → State d  | 0, _ => Equiv.refl _  | d + 1, c =>    (((Fin.consEquiv (fun _ : Fin (d + 1) => Bool)).symm.trans      (pairSwitch d c)).trans      (Fin.consEquiv (fun _ : Fin (d + 1) => Bool))).trans (rotate (d + 1))abbrev History (d t : ℕ) := Fin t → Coins ddef run (d t : ℕ) (ω : History d t) : State d :=  ((List.ofFn fun i : Fin t => step d (ω i)).reverse).proddef fairMass {Ω : Type u} {α : Type v} [Fintype Ω] (f : Ω → α) (a : α) : ℝ := by  classical  exact (∑ ω : Ω, if f ω = a then (1 : ℝ) else 0) / Fintype.card Ωdef law (d t : ℕ) : State d → ℝ := fairMass (run d t)def uniform (d : ℕ) (_ : State d) : ℝ := 1 / Fintype.card (State d)def tv {α : Type u} [Fintype α] (μ ν : α → ℝ) : ℝ :=  (1 / 2 : ℝ) * ∑ a : α, |μ a - ν a|def distance (d t : ℕ) : ℝ := tv (law d t) (uniform d)def lawFrom (d t : ℕ) (g₀ : State d) : State d → ℝ :=  fairMass (fun ω : History d t => run d t ω * g₀)abbrev LabelList (d k : ℕ) := Fin k ↪ Position ddef coordinateRun (d t : ℕ) (ω : History d t) : State d :=  (rotate d)⁻¹ ^ t * run d t ωdef images {d k : ℕ} (t : ℕ) (start : State d) (labels : LabelList d k)    (ω : History d t) : LabelList d k :=  labels.trans ((coordinateRun d t ω * start).toEmbedding)def listTV {d k : ℕ} (t : ℕ) (start : State d) (labels : LabelList d k) : ℝ :=  tv (fairMass (images t start labels)) (fun _ => 1 / Fintype.card (LabelList d k))def mixingTime (d : ℕ) : ℕ := sInf {t : ℕ | distance d t ≤ 1 / 4}end Thorpnamespace ThorpNine.Harmonicnamespace Thorpopen scoped BigOperatorsopen Filterabbrev Card (d : ℕ) := Fin d → Booldef switchFun {d : ℕ} (ξ : Card d → Bool) (x : Card (d + 1)) : Card (d + 1) :=  Fin.cons (Bool.xor (x 0) (ξ (Fin.tail x))) (Fin.tail x)theorem switchFun_involutive {d : ℕ} (ξ : Card d → Bool) :    Function.Involutive (switchFun ξ) := by  intro x  funext i  refine Fin.cases ?_ (fun j => ?_) i  · simp only [switchFun, Fin.cons_zero, Fin.tail_cons]    cases x 0 <;> cases ξ (Fin.tail x) <;> rfl  · simp [switchFun, Fin.tail]def pairSwitch {d : ℕ} (ξ : Card d → Bool) : Equiv.Perm (Card (d + 1)) :=  { toFun := switchFun ξ    invFun := switchFun ξ    left_inv := switchFun_involutive ξ    right_inv := switchFun_involutive ξ }end Thorpnamespace Thorprun_cmd do  Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}  let matcherCache := Lean.mkIdent    (Lean.mkPrivateNameCore `Lean.Meta.Match.Match `Lean.Meta.Match.matcherExt)  Lean.Elab.Command.elabCommand (← `(command|    run_cmd Lean.modifyEnv fun env => Lean.EnvExtension.setState $matcherCache env {}))open scoped BigOperators Classicaldef Coins : ℕ → Type  | 0 => Unit  | d + 1 => Card d → Boolinstance (d : ℕ) : Fintype (Coins d) := by  cases d <;> dsimp [Coins] <;> infer_instanceinstance (d : ℕ) : Nonempty (Coins d) := by  cases d <;> dsimp [Coins] <;> infer_instancedef rotate (d : ℕ) : Equiv.Perm (Card d) where  toFun x i := x (finRotate d i)  invFun x i := x ((finRotate d).symm i)  left_inv x := by funext i; simp only [Equiv.apply_symm_apply]  right_inv x := by funext i; simp only [Equiv.symm_apply_apply]def step : (d : ℕ) → Coins d → Equiv.Perm (Card d)  | 0, _ => 1  | d + 1, ξ => rotate (d + 1) * pairSwitch ξdef run (d : ℕ) : (t : ℕ) → (Fin t → Coins d) → Equiv.Perm (Card d)  | 0, _ => 1  | t + 1, ω => step d (ω (Fin.last t)) * run d t (fun i => ω i.castSucc)noncomputable def law (d t : ℕ) (g : Equiv.Perm (Card d)) : ℝ :=  (Fintype.card {ω : Fin t → Coins d // run d t ω = g} : ℝ) /    (Fintype.card (Fin t → Coins d) : ℝ)lemma card_positions (d : ℕ) : Fintype.card (Card d) = 2 ^ d := by  simp [Card]end Thorpnamespace Thorp.Spechtopen scoped BigOperators Classicalabbrev Cell (μ : YoungDiagram) := {x : ℕ × ℕ // x ∈ μ.cells}def row {μ : YoungDiagram} (x : Cell μ) : ℕ := x.1.1def col {μ : YoungDiagram} (x : Cell μ) : ℕ := x.1.2lemma row_lt_colLen {μ : YoungDiagram} (x : Cell μ) : row x < μ.colLen (col x) :=  YoungDiagram.mem_iff_lt_colLen.mp x.2noncomputable def rowIndex {μ : YoungDiagram} (x : Cell μ) : Fin (μ.colLen 0) :=  ⟨row x, (row_lt_colLen x).trans_le (μ.colLen_anti 0 (col x) (Nat.zero_le _))⟩abbrev Tabloid (μ : YoungDiagram) :=  {f : Cell μ → Fin (μ.colLen 0) // ∃ p : Equiv.Perm (Cell μ), f = rowIndex ∘ p}noncomputable instance (μ : YoungDiagram) : Fintype (Tabloid μ) := Fintype.ofFinite _noncomputable def baseTabloid (μ : YoungDiagram) : Tabloid μ := ⟨rowIndex, 1, rfl⟩noncomputable def tabloidAct {μ : YoungDiagram} (p : Equiv.Perm (Cell μ)) :    Equiv.Perm (Tabloid μ) where  toFun f := ⟨fun x => f.1 (p⁻¹ x), by    obtain ⟨q,hq⟩ := f.2    refine ⟨q*p⁻¹, ?_⟩    funext x    simp only [hq,Function.comp_apply,Equiv.Perm.mul_apply]⟩  invFun f := ⟨fun x => f.1 (p x), by    obtain ⟨q,hq⟩ := f.2    refine ⟨q*p, ?_⟩    funext x    simp only [hq,Function.comp_apply,Equiv.Perm.mul_apply]⟩  left_inv f := by apply Subtype.ext; funext x; simp  right_inv f := by apply Subtype.ext; funext x; simp@[simp] lemma tabloidAct_apply {μ : YoungDiagram} (p : Equiv.Perm (Cell μ))    (f : Tabloid μ) (x : Cell μ) : (tabloidAct p f).1 x = f.1 (p⁻¹ x) := rfl@[simp] lemma tabloidAct_one (μ : YoungDiagram) : tabloidAct (1 : Equiv.Perm (Cell μ)) = 1 := by  ext f x  rfl@[simp] lemma tabloidAct_mul {μ : YoungDiagram} (p q : Equiv.Perm (Cell μ)) :    tabloidAct (p*q) = tabloidAct p * tabloidAct q := by  ext f x  simp only [tabloidAct_apply, mul_inv_rev,Equiv.Perm.mul_apply]noncomputable def tabloidRep (μ : YoungDiagram) :    Representation ℂ (Equiv.Perm (Cell μ)) (Tabloid μ → ℂ) where  toFun p :=    { toFun := fun v f => v (tabloidAct p⁻¹ f)      map_add' := by intros; rfl      map_smul' := by intros; rfl }  map_one' := by ext v f; simp  map_mul' p q := by    ext v f    simp only [mul_inv_rev,tabloidAct_mul,Equiv.Perm.mul_apply]    rflnoncomputable def delta {μ : YoungDiagram} (f : Tabloid μ) : Tabloid μ → ℂ :=  fun g => if g=f then 1 else 0noncomputable def colGroup (μ : YoungDiagram) : Subgroup (Equiv.Perm (Cell μ)) where  carrier := {p | ∀ x, col (p x) = col x}  one_mem' := by intro x; rfl  mul_mem' := by intro p q hp hq x; exact (hp (q x)).trans (hq x)  inv_mem' := by intro p hp x; simpa using (hp (p⁻¹ x)).symmnoncomputable def permSign {α : Type*} [Fintype α] [DecidableEq α] (p : Equiv.Perm α) : ℂ :=  ((Equiv.Perm.sign p : ℤ) : ℂ)sectionvariable {α V : Type*} [Fintype α] [DecidableEq α] [AddCommGroup V] [Module ℂ V]noncomputable def alternator (C : Subgroup (Equiv.Perm α))    (ρ : Representation ℂ (Equiv.Perm α) V) : Module.End ℂ V := by  classical  exact ∑ c : C, permSign (c : Equiv.Perm α) • ρ cendnoncomputable def polytabloid (μ : YoungDiagram) : Tabloid μ → ℂ :=  alternator (colGroup μ) (tabloidRep μ) (delta (baseTabloid μ))noncomputable def space (μ : YoungDiagram) : Submodule ℂ (Tabloid μ → ℂ) :=  Submodule.span ℂ (Set.range (fun p : Equiv.Perm (Cell μ) => tabloidRep μ p (polytabloid μ)))lemma orbit_mem_space (μ : YoungDiagram) (p : Equiv.Perm (Cell μ)) :    tabloidRep μ p (polytabloid μ) ∈ space μ := Submodule.subset_span ⟨p,rfl⟩lemma action_mem_space (μ : YoungDiagram) (p : Equiv.Perm (Cell μ))    (v : Tabloid μ → ℂ) (hv : v ∈ space μ) : tabloidRep μ p v ∈ space μ := by  induction hv using Submodule.span_induction with  | mem v hv =>    obtain ⟨q,rfl⟩ := hv    change ((tabloidRep μ p)*(tabloidRep μ q)) (polytabloid μ) ∈ space μ    rw [←map_mul]    exact orbit_mem_space μ (p*q)  | zero => simp  | add v w hv hw ihv ihw => simpa using (space μ).add_mem ihv ihw  | smul a v hv ih => simpa using (space μ).smul_mem a ihnoncomputable def subrepresentation (μ : YoungDiagram) : Subrepresentation (tabloidRep μ) :=  ⟨space μ, fun p v hv => action_mem_space μ p v hv⟩noncomputable def representation (μ : YoungDiagram) :    Representation ℂ (Equiv.Perm (Cell μ)) (space μ) :=  (subrepresentation μ).toRepresentationend Thorp.Spechtnamespace Thorp.PermutationHilbertopen scoped BigOperators ComplexConjugate Classicalopen Complexvariable {X : Type*} [Fintype X]abbrev H (X : Type*) [Fintype X] := EuclideanSpace ℂ Xend Thorp.PermutationHilbertnamespace Thorp.Spechtopen scoped BigOperators Classicalnoncomputable def hilbertEquiv (μ : YoungDiagram) :    (Tabloid μ → ℂ) ≃ₗ[ℂ] PermutationHilbert.H (Tabloid μ) :=  (WithLp.linearEquiv 2 ℂ (Tabloid μ → ℂ)).symmnoncomputable def hilbertSpace (μ : YoungDiagram) :    Submodule ℂ (PermutationHilbert.H (Tabloid μ)) := (space μ).map (hilbertEquiv μ).toLinearMapend Thorp.Spechtnamespace Thorp.UnitaryFinitesectionopen scoped BigOperators ComplexConjugate Classicalvariable {G : Type*} [Group G] [Fintype G]variable {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℂ V] [FiniteDimensional ℂ V]noncomputable def continuousRepresentation (ρ : Representation ℂ G V) : G →* (V →L[ℂ] V) where  toFun g := (ρ g).toContinuousLinearMap  map_one' := by ext v; simp  map_mul' g h := by ext v; simpendopen scoped BigOperators Classicalvariable {G : Type*} [Group G] [Fintype G]variable {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℂ V] [FiniteDimensional ℂ V]variable {Ω Ξ : Type*} [Fintype Ω] [Fintype Ξ]noncomputable def sampleOperator (ρ : Representation ℂ G V) (P : Ω → G) : V →L[ℂ] V :=  (Fintype.card Ω:ℂ)⁻¹ • ∑ ω,continuousRepresentation ρ (P ω)end Thorp.UnitaryFinitenamespace Thorp.Spechtopen scoped BigOperators Classicalnoncomputable def spaceHilbertEquiv (μ : YoungDiagram) : space μ ≃ₗ[ℂ] hilbertSpace μ :=  (hilbertEquiv μ).submoduleMap (space μ)noncomputable def unitaryRepresentation (μ : YoungDiagram) :    Representation ℂ (Equiv.Perm (Cell μ)) (hilbertSpace μ) :=  ((spaceHilbertEquiv μ).conjAlgEquiv ℂ).toMonoidHom.comp (representation μ)variable {α ι : Type*} [Fintype α] [Fintype ι]noncomputable def relabelledUnitary (μ : YoungDiagram) (e : α ≃ Cell μ) :    Representation ℂ (Equiv.Perm α) (hilbertSpace μ) :=  (unitaryRepresentation μ).comp e.permCongrHom.toMonoidHomend Thorp.Spechtnamespace Thorp.Spechtopen scoped BigOperators Classical@[simp] lemma card_cell (μ : YoungDiagram) : Fintype.card (Cell μ) = μ.card := by  simp [Cell, YoungDiagram.card]noncomputable def cellRowsEquiv (μ : YoungDiagram) :    Cell μ ≃ (i : Fin (μ.colLen 0)) × Fin (μ.rowLen i) where  toFun x := ⟨rowIndex x,⟨col x,YoungDiagram.mem_iff_lt_rowLen.mp x.2⟩⟩  invFun p := ⟨(p.1,p.2),YoungDiagram.mem_iff_lt_rowLen.mpr p.2.2⟩  left_inv x := by apply Subtype.ext; rfl  right_inv p := by rcases p with ⟨⟨i,hi⟩,⟨j,hj⟩⟩; rfllemma card_eq_sum_rowLen (μ : YoungDiagram) : μ.card = ∑ i : Fin (μ.colLen 0), μ.rowLen i := by  rw [←card_cell,Fintype.card_congr (cellRowsEquiv μ),Fintype.card_sigma]  simp only [Fintype.card_fin]lemma sum_rowLens (μ : YoungDiagram) : μ.rowLens.sum = μ.card := by  rw [card_eq_sum_rowLen,YoungDiagram.rowLens]  rw [Fin.sum_univ_eq_sum_range]  have hh (n : ℕ) : (List.map μ.rowLen (List.range n)).sum = ∑ i ∈ Finset.range n, μ.rowLen i := by    induction n with    | zero => simp    | succ n ih => simp [List.range_succ,List.map_append,Finset.sum_range_succ,ih]  exact hh _noncomputable def diagramPartition (μ : YoungDiagram) : Nat.Partition μ.card where  parts := μ.rowLens  parts_pos := fun {i} hi => μ.pos_of_mem_rowLens i (by simpa using hi)  parts_sum := by simpnoncomputable def partitionDiagram {N : ℕ} (p : Nat.Partition N) : YoungDiagram :=  YoungDiagram.ofRowLens (p.parts.sort (· ≥ ·)) (Multiset.pairwise_sort _ _).sortedGElemma partitionDiagram_rowLens {N : ℕ} (p : Nat.Partition N) :    (partitionDiagram p).rowLens = p.parts.sort (· ≥ ·) := by  apply YoungDiagram.rowLens_ofRowLens_eq_self  intro x hx  exact p.parts_pos ((Multiset.mem_sort _).mp hx)lemma partitionDiagram_card {N : ℕ} (p : Nat.Partition N) : (partitionDiagram p).card = N := by  rw [←sum_rowLens,partitionDiagram_rowLens]  change (↑(p.parts.sort (· ≥ ·)) : Multiset ℕ).sum = N  rw [Multiset.sort_eq,p.parts_sum]lemma partitionDiagram_diagramPartition (μ : YoungDiagram) :    partitionDiagram (diagramPartition μ) = μ := by  apply YoungDiagram.equivListRowLens.injective  apply Subtype.ext  change (partitionDiagram (diagramPartition μ)).rowLens = μ.rowLens  rw [partitionDiagram_rowLens]  change (↑μ.rowLens : Multiset ℕ).sort (· ≥ ·) = μ.rowLens  rw [Multiset.coe_sort,List.mergeSort_eq_self _ μ.rowLens_sorted.pairwise]abbrev Shapes (N : ℕ) := {μ : YoungDiagram // μ.card = N}noncomputable def shapePartitionEquiv (N : ℕ) : Shapes N ≃ Nat.Partition N where  toFun μ := { parts := μ.1.rowLens               parts_pos := fun {i} hi => μ.1.pos_of_mem_rowLens i (by simpa using hi)               parts_sum := by simpa using (sum_rowLens μ.1).trans μ.2 }  invFun p := ⟨partitionDiagram p,partitionDiagram_card p⟩  left_inv μ := by    apply Subtype.ext    obtain ⟨μ,rfl⟩ := μ    exact partitionDiagram_diagramPartition μ  right_inv p := by    apply Nat.Partition.ext    change ((partitionDiagram p).rowLens : Multiset ℕ) = p.parts    rw [partitionDiagram_rowLens,Multiset.sort_eq]noncomputable instance (N : ℕ) : Fintype (Shapes N) := Fintype.ofEquiv _ (shapePartitionEquiv N).symmnoncomputable def labels {N : ℕ} (μ : Shapes N) : Cell μ.1 ≃ Fin N :=  (Fintype.equivFin (Cell μ.1)).trans (finCongr ((card_cell μ.1).trans μ.2))noncomputable def cardLabels (d : ℕ) (μ : Shapes (2^d)) : Card d ≃ Cell μ.1 :=  ((Fintype.equivFin (Card d)).trans (finCongr (card_positions d))).trans (labels μ).symmnoncomputable def cardRepresentation (d : ℕ) (μ : Shapes (2^d)) :    Representation ℂ (Equiv.Perm (Card d)) (hilbertSpace μ.1) :=  relabelledUnitary μ.1 (cardLabels d μ)end Thorp.Spechtnamespace Thorp.LowPlanesrun_cmd Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}open scoped BigOperators Classicalopen Specht UnitaryFinitenoncomputable local instance hsNorm (μ : YoungDiagram) : NormedAddCommGroup (hilbertSpace μ) := inferInstancenoncomputable local instance hsInner (μ : YoungDiagram) : InnerProductSpace ℂ (hilbertSpace μ) := inferInstancenoncomputable local instance hsFinite (μ : YoungDiagram) : FiniteDimensional ℂ (hilbertSpace μ) := inferInstancenoncomputable def Q (d : ℕ) (μ : Shapes (2^d)) :    hilbertSpace μ.1 →L[ℂ] hilbertSpace μ.1 :=  sampleOperator (V := hilbertSpace μ.1) (cardRepresentation d μ) (run d d)noncomputable def absoluteTrace {V : Type*} [NormedAddCommGroup V]    [InnerProductSpace ℂ V] [FiniteDimensional ℂ V]    (A : V →L[ℂ] V) (P : ℝ) : ℝ :=  (LinearMap.trace ℂ V (CFC.rpow (CFC.sqrt (star A * A)) P).toLinearMap).renoncomputable def regularTrace (d : ℕ) (P : ℝ) : ℝ :=  ∑ μ : Shapes (2^d), (Module.finrank ℂ (hilbertSpace μ.1) : ℝ) *    absoluteTrace (V := hilbertSpace μ.1) (Q d μ) Pnoncomputable def sweepDistance (d v : ℕ) (σ : Equiv.Perm (Card d)) : ℝ :=  (1/2:ℝ) * ∑ g : Equiv.Perm (Card d),    |law d (v*d) (g*σ⁻¹) - 1/(Nat.factorial (2^d):ℝ)|end Thorp.LowPlanesend ThorpNine.Harmonicnamespace ThorpNine.Harmonic.Thorp.LowPlanesrun_cmd Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}open scoped BigOperatorsopen Specht UnitaryFiniteattribute [local instance] hsNorm hsInner hsFinitedef weightedMoment (d r : ℕ) (μ : Shapes (2 ^ d)) : ℝ :=  (Module.finrank ℂ (hilbertSpace μ.1) : ℝ) *    (LinearMap.trace ℂ (hilbertSpace μ.1)      ((star (Q d μ) * Q d μ) ^ r).toLinearMap).rerun_cmd Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}def signedEntropy (α β : YoungDiagram) : ℝ :=  (∑ x : Cell α, Real.log ((α.card + β.card : ℕ) / (α.rowLen (row x) : ℝ))) +  (∑ x : Cell β, Real.log ((α.card + β.card : ℕ) / (β.rowLen (row x) : ℝ)))def budgetCoefficient (a : ℝ) (d : ℕ) : ℝ :=  a * (1 - 1 / (2 * Real.sqrt d))def remainderBudget (κ : ℝ) (d l : ℕ) : ℝ :=  if l = 0 then 0 else    max 0 (budgetCoefficient κ d * l * Real.log (2 ^ d : ℝ) -      l * Real.log ((2 ^ d : ℝ) / l))def logWeightedMoment (d r : ℕ) (μ : Shapes (2 ^ d)) : EReal :=  (ENNReal.ofReal (weightedMoment d r μ)).logrun_cmd Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}def densityL2Squared (d t : ℕ) : ℝ :=  (Nat.factorial (2 ^ d) : ℝ) * ∑ g : Equiv.Perm (Card d),    (law d t g - 1 / (Nat.factorial (2 ^ d) : ℝ)) ^ 2def densityL2SquaredFrom (d t : ℕ) (σ : Equiv.Perm (Card d)) : ℝ :=  (Nat.factorial (2 ^ d) : ℝ) * ∑ g : Equiv.Perm (Card d),    (law d t (g * σ⁻¹) - 1 / (Nat.factorial (2 ^ d) : ℝ)) ^ 2end ThorpNine.Harmonic.Thorp.LowPlanesrun_cmd Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}namespace ThorpResultsopen ThorpNine.Harmonic.Thorpopen ThorpNine.Harmonic.Thorp.Spechtopen ThorpNine.Harmonic.Thorp.LowPlanesattribute [local instance] hsNorm hsInner hsFinitedef FrameMain : Prop :=  ∀ ε : ℝ, 0 < ε → ∀ᶠ d : ℕ in atTop, ∀ start : _root_.OAI.Thorp.State d,    _root_.OAI.Thorp.tv (_root_.OAI.Thorp.lawFrom d (32800 * d) start) (_root_.OAI.Thorp.uniform d) < εdef InformationMain : Prop :=  (∀ ε : ℝ, 0 < ε → ∀ᶠ d : ℕ in atTop,    ∀ k : ℕ, 8 * k ≤ 7 * 2 ^ d →    ∀ (start : _root_.OAI.Thorp.State d) (labels : _root_.OAI.Thorp.LabelList d k),      _root_.OAI.Thorp.listTV (256 * d) start labels < ε) ∧  (∀ᶠ d : ℕ in atTop,    ∀ k : ℕ, 16 * k ≤ 15 * 2 ^ d →    ∀ (start : _root_.OAI.Thorp.State d) (labels : _root_.OAI.Thorp.LabelList d k),      _root_.OAI.Thorp.listTV (1024 * d) start labels ≤        Real.rpow ((2 : ℝ) ^ d) (-(3 : ℝ) / 2)) ∧  (Tendsto (fun d : ℕ => _root_.OAI.Thorp.distance d (2048 * d)) atTop (nhds 0) ∧    ∀ (d : ℕ) (start : _root_.OAI.Thorp.State d),      _root_.OAI.Thorp.tv (_root_.OAI.Thorp.lawFrom d (2048 * d) start) (_root_.OAI.Thorp.uniform d) =        _root_.OAI.Thorp.distance d (2048 * d))def SpectrumMain : Prop :=  ∃ p : ℝ, 0 < p ∧ ∀ d : ℕ, 1 ≤ d →    regularTrace d (2 * p) ≤ 1 + 1 / 16 ∧    ∀ M : ℕ, p ≤ M → ∀ σ : Equiv.Perm (Card d), sweepDistance d M σ ≤ 1 / 8def SignedMain : Prop :=  ∀ η κ : ℝ, 0 < η → ∃ r : ℕ, 1 ≤ r ∧ ∀ d : ℕ, 1 ≤ d →    ∀ (μ : Shapes (2 ^ d)) (α β γ : YoungDiagram),      α.card + β.card + γ.card = 2 ^ d →      logWeightedMoment d r μ ≤        ((budgetCoefficient η d * signedEntropy α β +          remainderBudget κ d γ.card : ℝ) : EReal)def DegreeSavingMain : Prop :=  ∃ r : ℕ, Even r ∧ 2 ≤ r ∧ ∃ η : ℝ, 0 < η ∧    ∀ d (μ : Shapes (2 ^ d)),      (Module.finrank ℂ (hilbertSpace μ.1) : ℝ) *        (LinearMap.trace ℂ (hilbertSpace μ.1)          ((Q d μ * star (Q d μ)) ^ r).toLinearMap).re ≤        (Module.finrank ℂ (hilbertSpace μ.1) : ℝ) ^ (1 - η)def FullDensityMain : Prop :=  ∃ v : ℕ, 1 ≤ v ∧ ∀ ε : ℝ, 0 < ε → ∀ᶠ d : ℕ in atTop,    ∀ σ : Equiv.Perm (Card d), densityL2SquaredFrom d (v * d) σ < εdef ForwardMixingMain : Prop :=  ∃ v : ℕ, 1 ≤ v ∧ ∀ ε : ℝ, 0 < ε → ∀ᶠ d : ℕ in atTop,    ∀ σ : Equiv.Perm (Card d), sweepDistance d v σ < εdef OptimalOrderMain : Prop :=  Asymptotics.IsTheta atTop (fun d : ℕ => (_root_.OAI.Thorp.mixingTime d : ℝ))    (fun d : ℕ => Real.log (2 ^ d : ℝ))end ThorpResultsnamespace ThorpResultstheorem remaining_main :    FrameMain ∧ InformationMain ∧ SpectrumMain ∧ SignedMain ∧      DegreeSavingMain ∧ FullDensityMain ∧ ForwardMixingMain ∧ OptimalOrderMain := by  sorryend ThorpResultsendend OAI
Every extracted statement of the accompanying papers

The statements the atlas extracted automatically from each accompanying paper’s TeX source, with links to the full sources.

Optimal-order mixing of the Thorp shuffle

Theorem (Optimal-order mixing)

As d\to\infty,

\|q_d^{*(1600d)}-U_n\|_{\mathrm{TV}}\longrightarrow0.

For every integer t\ge0,

\|q_d^{*t}-U_n\|_{\mathrm{TV}} \ge 1-\frac{2^{tn/2}}{n!}.

Consequently the mixing time at distance 1/4 satisfies

t_{\mathrm{mix}}(d)\ge \left\lceil\frac2n\log_2\frac{3n!}{4}\right\rceil =2d-O(1), \qquad t_{\mathrm{mix}}(d)=\Theta(d).
Section 1, Introduction Read it in the paper TeX source, line 53
Show the TeX
As $d\to\infty$,
\[
 \|q_d^{*(1600d)}-U_n\|_{\mathrm{TV}}\longrightarrow0.
\]
For every integer $t\ge0$,
\[
 \|q_d^{*t}-U_n\|_{\mathrm{TV}}
 \ge 1-\frac{2^{tn/2}}{n!}.
\]
Consequently the mixing time at distance $1/4$ satisfies
\[
 t_{\mathrm{mix}}(d)\ge
 \left\lceil\frac2n\log_2\frac{3n!}{4}\right\rceil
 =2d-O(1),
 \qquad t_{\mathrm{mix}}(d)=\Theta(d).
\]

From partial permutation information to Fourier bounds

Theorem (Complementary cosets control Fourier matrices)

Partition X into b nonempty sets M_1,\ldots,M_b. Put H_i=H_{M_i}. Suppose f is a nonnegative measure on G of mass at most one and, for every g\in G and i,

f(gH_i)\le \frac{B}{[G:H_i]}.

For every u>0 and every irreducible \rho of degree D,

\|\widehat f(\rho)\|_{\HS}^2 \le bBC_uD^{-1+(u+2)/b}.

There is also an independent orbit-span proof of the bound

\|\widehat f(\rho)\|_{\op}^2 \le bBC_uD^{-1+(u+2)/b}.

No restriction is imposed on block sizes or on the multiplicities in \rho|_{H_1\times\cdots\times H_b}.

Section 1, What partial observations can determine Read it in the paper TeX source, line 18
Show the TeX
Partition $X$ into $b$ nonempty sets $M_1,\ldots,M_b$. Put $H_i=H_{M_i}$. Suppose $f$ is a nonnegative measure on $G$ of mass at most one and, for every $g\in G$ and $i$,
\begin{equation}
 f(gH_i)\le \frac{B}{[G:H_i]}.
\end{equation}
For every $u>0$ and every irreducible $\rho$ of degree $D$,
\begin{equation}
 \|\widehat f(\rho)\|_{\HS}^2
 \le bBC_uD^{-1+(u+2)/b}.
\end{equation}
There is also an independent orbit-span proof of the bound
\begin{equation}
 \|\widehat f(\rho)\|_{\op}^2
 \le bBC_uD^{-1+(u+2)/b}.
\end{equation}
No restriction is imposed on block sizes or on the multiplicities in $\rho|_{H_1\times\cdots\times H_b}$.

Conditional permutations in a revealed switching environment

Theorem (Conditional permutation and full-deck mixing)

Let n=2^d, and start the shuffle from any deterministic deck. After J(s_0+1) sweeps, where s_0=400 and J=40000, the conditional free-slot law defined above satisfies

\sup_{\text{initial layouts}}\E_{\mathcal E} \|\nu_{\mathcal E}-U_{n/2}\|_{\TV}\longrightarrow0 \qquad(d\longrightarrow\infty).

Consequently the full-deck law approaches uniform, uniformly in the starting deck, after 16\,040\,400d physical shuffles. For every integer t\ge0, after t physical shuffles the full-deck distance from uniform is at least 1-2^{tn/2}/n!. Thus the full-deck mixing time is of order d.

Section 1, Introduction Read it in the paper TeX source, line 11
Show the TeX
Let $n=2^d$, and start the shuffle from any deterministic deck.
After $J(s_0+1)$ sweeps, where $s_0=400$ and $J=40000$, the conditional free-slot law defined above satisfies
\[
 \sup_{\text{initial layouts}}\E_{\mathcal E}
       \|\nu_{\mathcal E}-U_{n/2}\|_{\TV}\longrightarrow0
       \qquad(d\longrightarrow\infty).
\]
Consequently the full-deck law approaches uniform, uniformly in the starting deck, after $16\,040\,400d$ physical shuffles. For every integer $t\ge0$, after $t$ physical shuffles the full-deck distance from uniform is at least
$1-2^{tn/2}/n!$. Thus the full-deck mixing time is of order $d$.

Routing densities and representation contraction for Thorp sweeps

Theorem (Routing density and representation contraction)

There are absolute constants \eta,c,C>0 such that, with a=1/1000,

\log\E_{y\sim u_{N,k}}R_x(y)^{1+a} \le Ck(k/N)^\eta \qquad(1\le k\le N),

uniformly over every starting injection x. For every sufficiently large dyadic N and every nontrivial irreducible representation,

T_N(\lambda)=0\quad\hbox{or}\quad \|T_N(\lambda)\|_{\op}\le D_\lambda^{-c}.

Consequently an absolute number of forward sweeps has worst-start total-variation distance from uniform tending to zero as d\to\infty.

Section 1, Introduction Read it in the paper TeX source, line 30
Show the TeX
There are absolute constants $\eta,c,C>0$ such that, with $a=1/1000$,
\[
 \log\E_{y\sim u_{N,k}}R_x(y)^{1+a}
 \le Ck(k/N)^\eta
 \qquad(1\le k\le N),
\]
uniformly over every starting injection $x$. For every sufficiently
large dyadic $N$ and every nontrivial irreducible representation,
\[
 T_N(\lambda)=0\quad\hbox{or}\quad
 \|T_N(\lambda)\|_{\op}\le D_\lambda^{-c}.
\]
Consequently an absolute number of forward sweeps has worst-start
total-variation distance from uniform tending to zero as $d\to\infty$.

Row–column symmetry and contraction of coordinate sweeps

Theorem (Weighted sweep moments)

There are positive weights W_\lambda, an absolute finite p_*, and real exponents 2\le p_d\le p_* such that, for every d\ge1 and every \lambda\vdash2^d,

D_\lambda^{3/4}\le W_\lambda\le D_\lambda, \qquad W_\lambda\|K_d(\lambda)\|_{p_d}^{p_d}\le1.

Consequently \|K_d(\lambda)\|_{\rm op}\le D_\lambda^{-3/(4p_*)}.

Section 1, Introduction Read it in the paper TeX source, line 60
Show the TeX
There are positive weights $W_\lambda$, an absolute finite $p_*$, and real
exponents $2\le p_d\le p_*$ such that, for every $d\ge1$ and every
$\lambda\vdash2^d$,
\begin{equation}
 D_\lambda^{3/4}\le W_\lambda\le D_\lambda,
 \qquad W_\lambda\|K_d(\lambda)\|_{p_d}^{p_d}\le1.
\end{equation}
Consequently $\|K_d(\lambda)\|_{\rm op}\le D_\lambda^{-3/(4p_*)}$.
Corollary (Optimal order of mixing)

There is an absolute constant C such that, for every d\ge1,

\left\lceil\frac2N\log_2\frac{3N!}{4}\right\rceil \le t_{\rm mix}(d)\le Cd, \qquad N=2^d.

In particular t_{\rm mix}(d)=\Theta(d), and its lower bound is 2d-O(1).

Section 1, Introduction Read it in the paper TeX source, line 93
Show the TeX
There is an absolute constant $C$ such that, for every $d\ge1$,
\[
 \left\lceil\frac2N\log_2\frac{3N!}{4}\right\rceil
 \le t_{\rm mix}(d)\le Cd,
 \qquad N=2^d.
\]
In particular $t_{\rm mix}(d)=\Theta(d)$, and its lower bound is
$2d-O(1)$.

Random-subspace tests and trace smoothing for coordinate sweeps

Theorem (Regular-trace smoothing)

There is an absolute P\ge2 such that for every dyadic n\ge2,

\operatorname{Tr}_{\rm reg}|Q_n|^P\le1+n^{-10}.

If v is an integer with 2v\ge P, then v independent sweeps have total-variation distance at most \frac12n^{-5} from uniform, from every deterministic initial deck. Here \|\mu-\nu\|_{\rm TV}=\tfrac12\sum_g|\mu(g)-\nu(g)|.

Section 1, Introduction Read it in the paper TeX source, line 24
Show the TeX
There is an absolute $P\ge2$ such that for every dyadic $n\ge2$,
\begin{equation}
 \operatorname{Tr}_{\rm reg}|Q_n|^P\le1+n^{-10}.
\end{equation}
If $v$ is an integer with $2v\ge P$, then $v$ independent sweeps have total-variation distance at most $\frac12n^{-5}$ from uniform, from every deterministic initial deck. Here $\|\mu-\nu\|_{\rm TV}=\tfrac12\sum_g|\mu(g)-\nu(g)|$.

Compatibility entropy and the spectrum of a Thorp sweep

Theorem (Weighted compatibility)

There are absolute constants L,C_0>0 such that the following holds. Put m=\sqrt n, assume m/2\le A,D\le2m, and take m sufficiently large that \theta=1-L/\log m>0. For all nonnegative functions w_i:S_D\to[0,\infty) and v_k:S_A\to[0,\infty),

\frac{n!}{|R||C|}\, \mathbb E_U\!\left[\mathbf1_{\mathcal I} \prod_{i=1}^A w_i(r_i)\prod_{k=1}^D v_k(c_k)\right] \le e^{C_0n^{.54}} \prod_{i=1}^A(\mathbb E w_i^{1/\theta})^\theta \prod_{k=1}^D(\mathbb E v_k^{1/\theta})^\theta .

The expectations on the right are uniform on the indicated symmetric groups, and logarithms are natural.

Section 1, Introduction Read it in the paper TeX source, line 24
Show the TeX
There are absolute constants $L,C_0>0$ such that the following holds. Put $m=\sqrt n$, assume $m/2\le A,D\le2m$, and take $m$ sufficiently large that $\theta=1-L/\log m>0$. For all nonnegative functions $w_i:S_D\to[0,\infty)$ and $v_k:S_A\to[0,\infty)$,
\begin{equation}
 \frac{n!}{|R||C|}\,
 \mathbb E_U\!\left[\mathbf1_{\mathcal I}
       \prod_{i=1}^A w_i(r_i)\prod_{k=1}^D v_k(c_k)\right]
 \le e^{C_0n^{.54}}
       \prod_{i=1}^A(\mathbb E w_i^{1/\theta})^\theta
       \prod_{k=1}^D(\mathbb E v_k^{1/\theta})^\theta .
\end{equation}
The expectations on the right are uniform on the indicated symmetric groups, and logarithms are natural.
Theorem (A bounded regular moment)

There is an absolute finite p_*>0 such that, for every dyadic n,

Z_n(p_*)\le1+\frac1{16}.

For every integer M\ge p_*, M independent forward sweeps have worst-start total-variation distance at most 1/8 from uniform.

Section 1, Introduction Read it in the paper TeX source, line 45
Show the TeX
There is an absolute finite $p_*>0$ such that, for every dyadic $n$,
\begin{equation}
 Z_n(p_*)\le1+\frac1{16}.
\end{equation}
For every integer $M\ge p_*$, $M$ independent forward sweeps have worst-start total-variation distance at most $1/8$ from uniform.
Corollary (Singular ranks and full-deck mixing)

For every nontrivial \lambda\vdash n and 1\le r\le D_\lambda,

s_r(T_{n,\lambda})\le(16D_\lambda r)^{-1/(2p_*)}.

If s_j(T_n) denotes the full regular singular list, including all multiplicities and zeros, then

s_j(T_n)\le j^{-1/(2p_*)}\qquad(1\le j\le n!).

The constant singular value is the first value. The physical Thorp chain has worst-start 1/4 mixing time \Theta(d); more precisely its lower bound is 2d-O(1). For every fixed integer M>p_*, the worst-start total-variation distance after Md physical shuffles tends to zero as d\to\infty.

Section 1, Introduction Read it in the paper TeX source, line 53
Show the TeX
For every nontrivial $\lambda\vdash n$ and $1\le r\le D_\lambda$,
\[
 s_r(T_{n,\lambda})\le(16D_\lambda r)^{-1/(2p_*)}.
\]
If $s_j(T_n)$ denotes the full regular singular list, including all multiplicities and zeros, then
\[
 s_j(T_n)\le j^{-1/(2p_*)}\qquad(1\le j\le n!).
\]
The constant singular value is the first value. The physical Thorp chain has worst-start $1/4$ mixing time $\Theta(d)$; more precisely its lower bound is $2d-O(1)$. For every fixed integer $M>p_*$, the worst-start total-variation distance after $Md$ physical shuffles tends to zero as $d\to\infty$.

Signed tensor densities and diagram budgets for the Thorp shuffle

Theorem (A moment bound for every signed occurrence)

For each sufficiently small fixed \bar\eta>0, choose a sufficiently small \bar\kappa>0 with \bar\kappa<\bar\eta/256. There is an integer r\ge1, depending only on these fixed constants, such that for every d\ge1, every \lambda\vdash n=2^d, and every occurrence (ten:spin:eq:1),

\log\!\left(D_\lambda\operatorname{Tr}_{V_\lambda}(B_n^*B_n)^r\right) \le\eta_d F(\alpha,\beta)+g_n(l),

where

\eta_d=\bar\eta\left(1-\frac1{2\sqrt d}\right),\qquad \kappa_d=\bar\kappa\left(1-\frac1{2\sqrt d}\right),\qquad g_n(l)=\max\{0,\kappa_d l\log n-l\log(n/l)\}.

Set g_n(0)=0 and interpret the logarithm of a zero trace as -\infty.

Section 1, Introduction Read it in the paper TeX source, line 48
Show the TeX
For each sufficiently small fixed $\bar\eta>0$, choose a sufficiently
small $\bar\kappa>0$ with $\bar\kappa<\bar\eta/256$. There is an
integer $r\ge1$, depending only on these fixed constants, such that for
every $d\ge1$, every $\lambda\vdash n=2^d$, and every
occurrence~\eqref{ten:spin:eq:1},
\begin{equation}
 \log\!\left(D_\lambda\operatorname{Tr}_{V_\lambda}(B_n^*B_n)^r\right)
 \le\eta_d F(\alpha,\beta)+g_n(l),
\end{equation}
where
\[
 \eta_d=\bar\eta\left(1-\frac1{2\sqrt d}\right),\qquad
 \kappa_d=\bar\kappa\left(1-\frac1{2\sqrt d}\right),\qquad
 g_n(l)=\max\{0,\kappa_d l\log n-l\log(n/l)\}.
\]
Set $g_n(0)=0$ and interpret the logarithm of a zero trace as $-\infty$.
Corollary (Fixed-sweep convergence of the full deck)

There is an absolute positive integer L such that

\mathbb E_{U_{S_n}}|f_{d,L}-1|^2\longrightarrow0 \qquad(d\longrightarrow\infty).

The convergence is uniform over starting orders. Moreover t_{\mathrm{mix}}(d)=\Theta(d).

Section 1, Introduction Read it in the paper TeX source, line 82
Show the TeX
There is an absolute positive integer $L$ such that
\[
 \mathbb E_{U_{S_n}}|f_{d,L}-1|^2\longrightarrow0
 \qquad(d\longrightarrow\infty).
\]
The convergence is uniform over starting orders. Moreover
$t_{\mathrm{mix}}(d)=\Theta(d)$.

Conditional coordinate sweeps and analytic transfer

Theorem (Binary sweep contraction)

There are absolute constants g>0 and d_0 such that, for d\ge d_0 and every \lambda\vdash 2^d,

\|K_\lambda\|_{\op}\le D_\lambda^{-g}.

The sign representation is annihilated. There is an absolute positive integer w such that the law after w independent sweeps converges to uniform in total variation as d\to\infty, uniformly over deterministic initial decks.

Section 1, Introduction Read it in the paper TeX source, line 54
Show the TeX
There are absolute constants \(g>0\) and \(d_0\) such that, for \(d\ge d_0\)
and every \(\lambda\vdash 2^d\),
\[
 \|K_\lambda\|_{\op}\le D_\lambda^{-g}.
\]
The sign representation is annihilated. There is an absolute positive integer \(w\)
such that the law after \(w\) independent sweeps converges to uniform in
total variation as \(d\to\infty\), uniformly over deterministic initial
decks.
Proposition (Support obstruction)

For every integer t\ge0,

\|q_d^{*t}-U_N\|_{\TV}\ge1-\frac{2^{tN/2}}{N!}.

Consequently,

t_{\rm mix}(d)\ge \left\lceil\frac2N\log_2\!\left(\frac{3N!}{4}\right)\right\rceil =2d-O(1).
Section 1, Introduction Read it in the paper TeX source, line 68
Show the TeX
For every integer \(t\ge0\),
\[
 \|q_d^{*t}-U_N\|_{\TV}\ge1-\frac{2^{tN/2}}{N!}.
\]
Consequently,
\[
 t_{\rm mix}(d)\ge
 \left\lceil\frac2N\log_2\!\left(\frac{3N!}{4}\right)\right\rceil
 =2d-O(1).
\]

A strict four-row permanent inequality and permutation moments

Theorem (A robust four-row inequality)

There are absolute constants p_0\in(4/3,2) and \varepsilon>0 with the following property. Let \nu be a probability measure on S_4 such that

\|\nu-u\|_{\TV}<\varepsilon, \qquad \nu\{\pi:\pi(i)=j\}=\frac14\quad(1\le i,j\le4).

Then every four nonnegative functions on \{1,2,3,4\} satisfy

\E_\nu\prod_{i=1}^4f_i(\pi(i))\le\prod_{i=1}^4\|f_i\|_{p_0}.
Section 1, Introduction Read it in the paper TeX source, line 14
Show the TeX
There are absolute constants $p_0\in(4/3,2)$ and $\varepsilon>0$ with the following property. Let $\nu$ be a probability measure on $S_4$ such that
\[
 \|\nu-u\|_{\TV}<\varepsilon,
 \qquad
 \nu\{\pi:\pi(i)=j\}=\frac14\quad(1\le i,j\le4).
\]
Then every four nonnegative functions on $\{1,2,3,4\}$ satisfy
\begin{equation}
 \E_\nu\prod_{i=1}^4f_i(\pi(i))\le\prod_{i=1}^4\|f_i\|_{p_0}.
\end{equation}
Theorem (A fixed moment with a degree saving)

There exist an even integer r\ge2 and \eta>0, independent of N, such that for every dyadic N and every \lambda\vdash N,

D_\lambda\Tr B_N(\lambda)^r\le D_\lambda^{1-\eta}.

Consequently there is an absolute integer q for which the total-variation distance of q independent forward sweeps from uniform tends to zero as N\to\infty, uniformly over the starting deck.

Section 1, Introduction Read it in the paper TeX source, line 46
Show the TeX
There exist an even integer $r\ge2$ and $\eta>0$, independent of $N$, such that for every dyadic $N$ and every $\lambda\vdash N$,
\begin{equation}
 D_\lambda\Tr B_N(\lambda)^r\le D_\lambda^{1-\eta}.
\end{equation}
Consequently there is an absolute integer $q$ for which the total-variation distance of $q$ independent forward sweeps from uniform tends to zero as $N\to\infty$, uniformly over the starting deck.
Configuration and file facts
OpenAI’s Lean catalogue
OpenAI’s Lean catalogue does not list this as a main result; the release’s Lean notes for family 238 link it.
Solution module
OAI.Probability.ThorpResults.FullDevelopment
Allowed axioms
propext, Quot.sound, Classical.choiceThe axioms this configuration allows a proof to use. A replay shows which of them a proof uses.
Imports
Mathlib
Imports from outside Mathlib
None
Local vocabulary
87 local vocabulary declarations
Lines of Lean, without comments or blank lines
349
Second proof-verification program (nanoda)
Off in OpenAI's configuration.

Statement comparison

A shareable summary of this page: the proposed paper match, what the Lean statement expresses, and which reviews are recorded.

Plectis Atlas

Frame, spectral, and density estimates for Thorp mixing

Family 238: Optimal logarithmic mixing of the Thorp shuffle

Candidate pairing

Theorem (Optimal-order mixing)

As d\to\infty,

\|q_d^{*(1600d)}-U_n\|_{\mathrm{TV}}\longrightarrow0.

For every integer t\ge0,

\|q_d^{*t}-U_n\|_{\mathrm{TV}} \ge 1-\frac{2^{tn/2}}{n!}.

Consequently the mixing time at distance 1/4 satisfies

t_{\mathrm{mix}}(d)\ge \left\lceil\frac2n\log_2\frac{3n!}{4}\right\rceil =2d-O(1), \qquad t_{\mathrm{mix}}(d)=\Theta(d).

Optimal-order mixing of the Thorp shuffle

TeX label thm:mixing, build/main.tex, line 53

The Lean statement says

theorem remaining_main :    FrameMain ∧ InformationMain ∧ SpectrumMain ∧ SignedMain ∧      DegreeSavingMain ∧ FullDensityMain ∧ ForwardMixingMain ∧ OptimalOrderMain := by  sorry

A Lean statement states the theorem and leaves its proof as sorry on purpose. OpenAI’s proof is in a separate solution module, and a program called Comparator checks that proof against this statement.

Atlas selected this possible match because the two statements share words. No review of whether they mean the same thing is recorded.two independent groups report that Comparator accepted runs for this file at the release version shown here.Statement review: none recorded

87 local vocabulary declarationsAllowed axioms: propext, Quot.sound, Classical.choiceopenai/math at fd4aeebwcook04.github.io/plectis-atlas/statements/ThorpRemaining.html

Recorded comparisons with the paper

Atlas records no contributed comparison of this statement with the paper.

Contributed Comparator run reports

Atlas records no contributed report of running Comparator for this statement file.

Compare this statement with the paperShare a Comparator run reportSuggest a change