Plectis Atlas
Search

↑ and ↓ move, Enter opens, Esc closes.

Lean statement

Brown measure of the selected product weighted shift

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.FiniteFactor.productBrown

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

The Lean statement

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

def ProductBrownClaim : Prop :=  ∀ (θ : SourceCoordinate → ℝ) (hθ : SourceAngles θ),    IsBrownMeasure sourceVacuumFunctional      (sourceOperator θ sourceLogWeight hθ.nonneg sourceLogWeight_nonneg) (Measure.dirac 0)theorem productBrown : ProductBrownClaim := 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.FiniteFactor.Coefficients line 22

    abbrev Coefficients (K : ℕ) := Fin (2 * K + 1) → ℂ
  • definition OAI.FiniteFactor.productCoefficient line 33

    noncomputable def productCoefficient {K : ℕ} (a b : Coefficients K) (n : ℕ) : ℂ :=  ∑ i : Fin (2 * K + 1), ∑ j : Fin (2 * K + 1),    if i.val + j.val = n then a i * b j else 0
  • definition OAI.FiniteFactor.unitIntervalMeasure line 125

    def unitIntervalMeasure : Measure ℝ := volume.restrict (Set.Ico 0 1)
  • definition OAI.FiniteFactor.sourceKappa line 141

    def sourceKappa (s : ℕ) : ℝ := 1 / (100*((s : ℝ)+1))
  • definition OAI.FiniteFactor.sourceNextCutoff line 153

    def sourceNextCutoff (m : ℕ) : ℕ := Nat.ceil ((m : ℝ)^((3/4 : ℝ)*(m : ℝ)))
  • structure OAI.FiniteFactor.SourceStageState line 195

    structure SourceStageState where  K : ℕ  G : ℝ  d : ℕ  B : ℝ  previousL : ℝ  K_ge : 1 ≤ K  G_ge : 1 ≤ G  B_nonneg : 0 ≤ B  previousL_ge : 1 ≤ previousL
  • definition OAI.FiniteFactor.SourceStageState.D line 206

    def SourceStageState.D (a : SourceStageState) : ℝ := Real.exp (((a.K : ℝ)+1)*a.B)
  • structure OAI.FiniteFactor.SourceStageChoice line 208

    structure SourceStageChoice (s : ℕ) (a : SourceStageState) where
    Show the remaining 20 lines
      ε : ℝ  L : ℝ  Gnext : ℝ  m : ℕ  ε_pos : 0 < ε  polynomial : ∀ u v : Coefficients a.K,    (∀ i, ‖u i‖ ≤ a.D) → (∀ i, ‖v i‖ ≤ a.D) →    1/((s : ℝ)+1) ≤ ‖u ⟨a.K, by omega⟩‖ → 1/((s : ℝ)+1) ≤ ‖v ⟨a.K, by omega⟩‖ →    ∃ n : Fin (2*a.K+1), ε ≤ ‖productCoefficient u v n.val‖  L_ge : a.previousL ≤ L  decay : ((2*a.K : ℕ)+1 : ℝ)*3*Real.exp (-L/10000) ≤ ε/((s : ℝ)+1)  Gnext_ge : 1 ≤ Gnext  next_budget : sourceKappa (s+1) * Real.sqrt Gnext ≥ L  m_ge_K : a.K ≤ m  m_ge_pow : 2^(s+1) ≤ m  m_ge_G : 4*a.G ≤ (m : ℝ)  m_ge_100 : 100 ≤ m  previous_size : (a.d : ℝ) ≤ (m : ℝ)/100  current_budget : sourceKappa s * (m : ℝ)^(1/40 : ℝ) ≥ L  next_gap : Gnext*(sourceNextCutoff m : ℝ) < (m : ℝ)^((4/5 : ℝ)*(m : ℝ))
  • definition OAI.FiniteFactor.selectedSourceStage line 265

    def selectedSourceStage (s : ℕ) (a : SourceStageState) : SourceStageChoice s a :=  Classical.choice (exists_sourceStageChoice s a)
  • definition OAI.FiniteFactor.SourceStageChoice.C line 268

    def SourceStageChoice.C {s : ℕ} {a : SourceStageState} (b : SourceStageChoice s a) : ℝ :=  max b.L ((a.K : ℝ)^2)
  • definition OAI.FiniteFactor.SourceStageChoice.next line 271

    def SourceStageChoice.next {s : ℕ} {a : SourceStageState} (b : SourceStageChoice s a) : SourceStageState where  K := sourceNextCutoff b.m  G := b.Gnext  d := a.d+b.m  B := a.B+b.C*(b.m : ℝ)  previousL := b.L  K_ge := by have := sourceNextCutoff_large b.m b.m_ge_100; omega  G_ge := b.Gnext_ge  B_nonneg := add_nonneg a.B_nonneg (mul_nonneg (le_max_of_le_right (sq_nonneg _)) (Nat.cast_nonneg _))  previousL_ge := a.previousL_ge.trans b.L_ge
  • definition OAI.FiniteFactor.sourceStageState line 282

    def sourceStageState : ℕ → SourceStageState  | 0 => ⟨100, 1, 0, 0, 1, by norm_num, le_rfl, le_rfl, le_rfl⟩  | s+1 => (selectedSourceStage s (sourceStageState s)).next
  • definition OAI.FiniteFactor.sourceStage line 286

    def sourceStage (s : ℕ) : SourceStageChoice s (sourceStageState s) :=  selectedSourceStage s (sourceStageState s)
  • definition OAI.FiniteFactor.coordinateFloor line 299

    def coordinateFloor {ι : Type*} (θ : ι → ℝ) (k : ℤ) (x : ι → ℝ) (i : ι) : ℤ :=  Int.floor (x i + (k : ℝ)*θ i)
  • definition OAI.FiniteFactor.coordinateRotate line 312

    def coordinateRotate {ι : Type*} (θ : ι → ℝ) (k : ℤ) (x : ι → ℝ) (i : ι) : ℝ :=  Int.fract (x i + (k : ℝ)*θ i)
  • definition OAI.FiniteFactor.sourceLog line 315

    def sourceLog {ι : Type*} (θ c : ι → ℝ) (k : ℤ) (x : ι → ℝ) : ℝ :=  ∑' i, c i * (coordinateFloor θ k x i : ℝ)
  • definition OAI.FiniteFactor.sourceCocycle line 318

    def sourceCocycle {ι : Type*} (θ c : ι → ℝ) (k : ℤ) (x : ι → ℝ) : ℝ :=  Real.exp (-sourceLog θ c k x)
  • abbreviation OAI.FiniteFactor.sourceMeasure line 359

    abbrev sourceMeasure (ι : Type*) : Measure ((ι → ℝ) × ℤ) :=  (Measure.infinitePi (fun _ : ι => unitIntervalMeasure)).prod Measure.count
  • abbreviation OAI.FiniteFactor.SourceHilbert line 362

    abbrev SourceHilbert (ι : Type*) : Type _ := Lp ℂ 2 (sourceMeasure ι)
  • definition OAI.FiniteFactor.sourceDiagonal line 364

    def sourceDiagonal {ι : Type*} (θ c : ι → ℝ) (z : (ι → ℝ) × ℤ) : ℂ :=  sourceCocycle θ c 1 (coordinateRotate θ z.2 z.1)
  • definition OAI.FiniteFactor.sourceMultiplication line 390

    def sourceMultiplication {ι : Type*} [Countable ι] (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) : SourceHilbert ι →L[ℂ] SourceHilbert ι :=  (ContinuousLinearMap.mul ℂ ℂ).holderL (sourceMeasure ι) ∞ 2 2    ((sourceDiagonal_memLp θ c hθ hc).toLp (sourceDiagonal θ c))
  • definition OAI.FiniteFactor.sourceShiftIndex line 395

    def sourceShiftIndex {ι : Type*} (z : (ι → ℝ) × ℤ) : (ι → ℝ) × ℤ := (z.1, z.2-1)
  • definition OAI.FiniteFactor.sourceShift line 409

    def sourceShift (ι : Type*) : SourceHilbert ι →L[ℂ] SourceHilbert ι :=  (Lp.compMeasurePreservingₗᵢ ℂ sourceShiftIndex (sourceShiftIndex_preserving ι)).toContinuousLinearMap
  • definition OAI.FiniteFactor.sourceOperator line 412

    def sourceOperator {ι : Type*} [Countable ι] (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) : SourceHilbert ι →L[ℂ] SourceHilbert ι :=  (sourceShift ι).comp (sourceMultiplication θ c hθ hc)

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

No confident match with a paper statement

No paper theorem is paired with this Lean statement.

Why none: no paper statement matches the Lean text clearly enough to pair, so the closest candidates are listed below.

Other possible paper matches, closest wording first

  • Proposition 2.3 of Invariant-projection counterexamples for every irrational rotation. Words of the Lean statement, its names split into words, that also appear in the theorem: 3/4, 1/40, real, blocks, supported, index and eleven more.
  • Proposition A.2 of Invariant-projection counterexamples for every irrational rotation. Words of the Lean statement, its names split into words, that also appear in the theorem: stage, coordinates, intervals, large, fact, 4/5 and two more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: realization.
  • Theorem A.1 of Invariant-projection counterexamples for every irrational rotation. Words of the Lean statement, its names split into words, that also appear in the theorem: point, log, weight, product, angles, pi and five more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: delta and realization.
  • Proposition A.3 of Invariant-projection counterexamples for every irrational rotation. Words of the Lean statement, its names split into words, that also appear in the theorem: probability, choice, one, compact, ordered, continuous and six more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: realization.
  • Theorem 1.1 of Backward intertwiners and a transitive commutant. Words of the Lean statement, its names split into words, that also appear in the theorem: scalar, shifts, weights, complex, exp, closed and six more.

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 293’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: Both summary claims are stated: Hyperinvariant.main_theorem (hInf : ¬FiniteDimensional ℂ H) (also BackwardIntertwiners.direct_algebra_corollary) for every separable infinite-dimensional complex Hilbert space: ∃ T ≠ 0, ‖T^n‖^(1/n) → 0 ∧ TransitiveCommutant T ∧ commutant T ≠ ⊤ ∧ SOT-closed commutant (no nonzero proper closed hyperinvariant subspace), and for the invariant-projection counterexamples FiniteFactor.main_theorem (a II₁ factor with separable predual and a nonzero quasinilpotent T ∈ M with (1 - p) T p = 0 → p = 0 ∨ p = 1), IrrationalRotation.prescribed_irrational_counterexample (every irrational θ: continuous weight f with Rotation.IsContinuousCounterexample θ f, T in the irrational-rotation algebra, nonzero, norm-quasinilpotent, trivial invariant projections) and ProductBrown (Brown measure δ₀). 'Hyperfinite' is only implicit (FiniteFactor asserts a II₁ factor with separable predual; the rotation algebra is the hyperfinite one by construction).

    Definitions the group asks readers to compare with the paper: Hand-written operator-algebra notions: TransitiveCommutant T := ∀ K closed submodule, (∀ A commuting with T, A K ⊆ K) → K = ⊥ ∨ K = ⊤, HasOnlyTrivialInvariantProjections, NormQuasinilpotent, vectorFugledeKadisonDeterminant, IsVectorBrownMeasure, strongOperatorTopology, HasSeparablePredual M := ∃ separable Banach E, Nonempty (StrongDual ℂ E ≃ₗᵢ⋆[ℂ] M); quasinilpotence is via ‖T^n‖^(1/n) → 0 and ContinuousCircleWeight.MainStatement does not itself state quasinilpotence (only trivial invariant projections for a weight with log-integral -∞).

  • 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 linked statements also include an earlier existence construction, a product realization, and the selected product model's Brown measure $\delta_0$.”

An AI agent drafted an interpretation of that note, classifying this statement as “states a supporting result”. No human review of the draft is recorded.

Supporting material

The complete Lean statement file

757 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: 351 to its own declarations, 421 to Mathlib’s documentation. 65 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 OAIsectionnoncomputable sectionopen Polynomialnamespace FiniteFactortheorem product_has_low_nonzero_coeff (K : ℕ) (p q : ℂ[X])    (hp : p.coeff K ≠ 0) (hq : q.coeff K ≠ 0) :    ∃ n ≤ 2 * K, (p * q).coeff n ≠ 0 := by  have hp0 : p ≠ 0 := by intro h; simp [h] at hp  have hq0 : q ≠ 0 := by intro h; simp [h] at hq  refine ⟨(p * q).natTrailingDegree, ?_,    Polynomial.coeff_natTrailingDegree_ne_zero.mpr (mul_ne_zero hp0 hq0)⟩  rw [Polynomial.natTrailingDegree_mul hp0 hq0]  have ha := Polynomial.natTrailingDegree_le_of_ne_zero hp  have hb := Polynomial.natTrailingDegree_le_of_ne_zero hq  omegaabbrev Coefficients (K : ℕ) := Fin (2 * K + 1) → ℂnoncomputable def coefficientPolynomial {K : ℕ} (a : Coefficients K) : ℂ[X] :=  ∑ i : Fin (2 * K + 1), Polynomial.monomial i.val (a i)theorem coefficientPolynomial_coeff {K : ℕ} (a : Coefficients K)    (i : Fin (2 * K + 1)) : (coefficientPolynomial a).coeff i.val = a i := by  classical  simp [coefficientPolynomial, Polynomial.finsetSum_coeff, Polynomial.coeff_monomial,    Fin.val_inj]noncomputable def productCoefficient {K : ℕ} (a b : Coefficients K) (n : ℕ) : ℂ :=  ∑ i : Fin (2 * K + 1), ∑ j : Fin (2 * K + 1),    if i.val + j.val = n then a i * b j else 0theorem productCoefficient_eq {K : ℕ} (a b : Coefficients K) (n : ℕ) :    productCoefficient a b n =      (coefficientPolynomial a * coefficientPolynomial b).coeff n := by  classical  simp only [productCoefficient, coefficientPolynomial, Finset.sum_mul, Finset.mul_sum,    Polynomial.monomial_mul_monomial, Polynomial.finsetSum_coeff, Polynomial.coeff_monomial]  exact Finset.sum_commtheorem continuous_productCoefficient (K n : ℕ) :    Continuous (fun ab : Coefficients K × Coefficients K =>      productCoefficient ab.1 ab.2 n) := by  classical  unfold productCoefficient  apply continuous_finsetSum  intro i _  apply continuous_finsetSum  intro j _  split_ifs <;> fun_propnoncomputable def lowCoefficients {K : ℕ} (ab : Coefficients K × Coefficients K) :    Coefficients K := fun n => productCoefficient ab.1 ab.2 n.valtheorem continuous_lowCoefficients (K : ℕ) : Continuous (@lowCoefficients K) :=  continuous_pi fun n => continuous_productCoefficient K n.valtheorem lowCoefficients_ne_zero {K : ℕ} (ab : Coefficients K × Coefficients K)    (ha : ab.1 ⟨K, by omega⟩ ≠ 0) (hb : ab.2 ⟨K, by omega⟩ ≠ 0) :    lowCoefficients ab ≠ 0 := by  have ha' : (coefficientPolynomial ab.1).coeff K ≠ 0 := by    simpa using (coefficientPolynomial_coeff ab.1 ⟨K, by omega⟩).trans_ne ha  have hb' : (coefficientPolynomial ab.2).coeff K ≠ 0 := by    simpa using (coefficientPolynomial_coeff ab.2 ⟨K, by omega⟩).trans_ne hb  obtain ⟨n, hn, hne⟩ := product_has_low_nonzero_coeff K _ _ ha' hb'  intro h  have hz := congrFun h ⟨n, by omega⟩  exact hne (by simpa [lowCoefficients, productCoefficient_eq] using hz)def admissibleCoefficients (K : ℕ) (D δ : ℝ) : Set (Coefficients K) :=  {a | ∀ i, ‖a i‖ ≤ D} ∩ {a | δ ≤ ‖a ⟨K, by omega⟩‖}theorem isCompact_admissibleCoefficients (K : ℕ) (D δ : ℝ) :    IsCompact (admissibleCoefficients K D δ) := by  have hc : IsCompact {a : Coefficients K | ∀ i, ‖a i‖ ≤ D} := by    simpa [Set.pi, Metric.mem_closedBall, dist_zero_right] using      (isCompact_pi_infinite fun _ : Fin (2 * K + 1) =>        isCompact_closedBall (0 : ℂ) D)  exact hc.inter_right (isClosed_le continuous_const (continuous_apply (⟨K, by omega⟩ : Fin (2 * K + 1))).norm)theorem uniform_product_coefficient_bound (K : ℕ) (D δ : ℝ) (hδ : 0 < δ) :    ∃ ε : ℝ, 0 < ε ∧ ∀ a b : Coefficients K,      (∀ i, ‖a i‖ ≤ D) → (∀ i, ‖b i‖ ≤ D) →      δ ≤ ‖a ⟨K, by omega⟩‖ → δ ≤ ‖b ⟨K, by omega⟩‖ →      ∃ n : Fin (2 * K + 1), ε ≤ ‖productCoefficient a b n.val‖ := by  classical  let S := (admissibleCoefficients K D δ).prod (admissibleCoefficients K D δ)  have hc : IsCompact S := (isCompact_admissibleCoefficients K D δ).prod    (isCompact_admissibleCoefficients K D δ)  by_cases hs : S.Nonempty  · obtain ⟨ab, hab, hmin⟩ := hc.exists_isMinOn hs      (continuous_lowCoefficients K).norm.continuousOn    have hpos : 0 < ‖lowCoefficients ab‖ := by      apply norm_pos_iff.mpr      apply lowCoefficients_ne_zero      · exact norm_pos_iff.mp (hδ.trans_le hab.1.2)      · exact norm_pos_iff.mp (hδ.trans_le hab.2.2)    refine ⟨‖lowCoefficients ab‖, hpos, ?_⟩    intro a b ha hb ha0 hb0    have hm : ‖lowCoefficients ab‖ ≤ ‖lowCoefficients (a, b)‖ :=      hmin ⟨⟨ha, ha0⟩, ⟨hb, hb0⟩⟩    by_contra hn    push Not at hn    have hlt : ‖lowCoefficients (a, b)‖ < ‖lowCoefficients ab‖ :=      (pi_norm_lt_iff hpos).mpr hn    exact (not_lt_of_ge hm) hlt  · refine ⟨1, zero_lt_one, ?_⟩    intro a b ha hb ha0 hb0    exact False.elim (hs ⟨(a, b), ⟨⟨ha, ha0⟩, ⟨hb, hb0⟩⟩⟩)end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheoryopen scoped ENNRealnamespace FiniteFactordef unitIntervalMeasure : Measure ℝ := volume.restrict (Set.Ico 0 1)instance : IsProbabilityMeasure unitIntervalMeasure := by  constructor  simp [unitIntervalMeasure, Real.volume_Ico]end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheoryopen scoped ENNRealnamespace FiniteFactordef sourceKappa (s : ℕ) : ℝ := 1 / (100*((s : ℝ)+1))end FiniteFactorendendsectionnoncomputable sectionopen Filter Finsetopen scoped Topologynamespace FiniteFactordef sourceNextCutoff (m : ℕ) : ℕ := Nat.ceil ((m : ℝ)^((3/4 : ℝ)*(m : ℝ)))theorem sourceNextCutoff_large (m : ℕ) (hm : 100 ≤ m) : 2*m < sourceNextCutoff m := by  have hmR : (100 : ℝ) ≤ m := by exact_mod_cast hm  have hp : (m : ℝ)^2 ≤ (m : ℝ)^((3/4 : ℝ)*(m : ℝ)) := by    rw [← Real.rpow_natCast]    exact Real.rpow_le_rpow_of_exponent_le (by linarith) (by norm_num; linarith)  have hh := hp.trans (Nat.le_ceil _)  have hh2 : (2 : ℝ)*m < (sourceNextCutoff m : ℝ) := by    change (m : ℝ)^2 ≤ (sourceNextCutoff m : ℝ) at hh    nlinarith  exact_mod_cast hh2theorem exists_source_block_length (R κ L G : ℝ) (hκ : 0 < κ) (hG : 0 < G) :    ∃ m : ℕ, R ≤ (m : ℝ) ∧ 100 ≤ m ∧ κ*(m : ℝ)^(1/40 : ℝ) ≥ L ∧      G*(sourceNextCutoff m : ℝ) < (m : ℝ)^((4/5 : ℝ)*(m : ℝ)) := by  have ht : Tendsto (fun m : ℕ => (m : ℝ)^(1/40 : ℝ)) atTop atTop :=    (tendsto_rpow_atTop (by norm_num)).comp tendsto_natCast_atTop_atTop  obtain ⟨m, hmR, hm100, hmG, hmκ⟩ :=    ((tendsto_natCast_atTop_atTop.eventually (eventually_ge_atTop R)).and      ((eventually_ge_atTop (100 : ℕ)).and        ((tendsto_natCast_atTop_atTop.eventually (eventually_gt_atTop (2*G))).and          (ht.eventually (eventually_ge_atTop (L/κ)))))).exists  refine ⟨m, hmR, hm100, (div_le_iff₀ hκ).mp hmκ |>.trans_eq (mul_comm _ _), ?_⟩  have hm1 : (1 : ℝ) ≤ m := by exact_mod_cast (show 1 ≤ m by omega)  have hm0 : (0 : ℝ) < m := lt_of_lt_of_le zero_lt_one hm1  let A : ℝ := (m : ℝ)^((3/4 : ℝ)*(m : ℝ))  have hApos : 0 < A := Real.rpow_pos_of_pos hm0 _  have hA1 : 1 ≤ A := Real.one_le_rpow hm1 (by positivity)  have hceil : (sourceNextCutoff m : ℝ) ≤ 2*A := by    have hh := Nat.ceil_lt_add_one hApos.le    change (Nat.ceil A : ℝ) ≤ 2*A    linarith  calc    G*(sourceNextCutoff m : ℝ) ≤ G*(2*A) := mul_le_mul_of_nonneg_left hceil hG.le    _ < (m : ℝ)*A := by nlinarith    _ = (m : ℝ)^((3/4 : ℝ)*(m : ℝ)+1) := by rw [Real.rpow_add hm0, Real.rpow_one]; ring    _ ≤ (m : ℝ)^((4/5 : ℝ)*(m : ℝ)) :=      Real.rpow_le_rpow_of_exponent_le hm1 (by        have hh : (100 : ℝ) ≤ m := by exact_mod_cast hm100        linarith)structure SourceStageState where  K : ℕ  G : ℝ  d : ℕ  B : ℝ  previousL : ℝ  K_ge : 1 ≤ K  G_ge : 1 ≤ G  B_nonneg : 0 ≤ B  previousL_ge : 1 ≤ previousLdef SourceStageState.D (a : SourceStageState) : ℝ := Real.exp (((a.K : ℝ)+1)*a.B)structure SourceStageChoice (s : ℕ) (a : SourceStageState) where  ε : ℝ  L : ℝ  Gnext : ℝ  m : ℕ  ε_pos : 0 < ε  polynomial : ∀ u v : Coefficients a.K,    (∀ i, ‖u i‖ ≤ a.D) → (∀ i, ‖v i‖ ≤ a.D) →    1/((s : ℝ)+1) ≤ ‖u ⟨a.K, by omega⟩‖ → 1/((s : ℝ)+1) ≤ ‖v ⟨a.K, by omega⟩‖ →    ∃ n : Fin (2*a.K+1), ε ≤ ‖productCoefficient u v n.val‖  L_ge : a.previousL ≤ L  decay : ((2*a.K : ℕ)+1 : ℝ)*3*Real.exp (-L/10000) ≤ ε/((s : ℝ)+1)  Gnext_ge : 1 ≤ Gnext  next_budget : sourceKappa (s+1) * Real.sqrt Gnext ≥ L  m_ge_K : a.K ≤ m  m_ge_pow : 2^(s+1) ≤ m  m_ge_G : 4*a.G ≤ (m : ℝ)  m_ge_100 : 100 ≤ m  previous_size : (a.d : ℝ) ≤ (m : ℝ)/100  current_budget : sourceKappa s * (m : ℝ)^(1/40 : ℝ) ≥ L  next_gap : Gnext*(sourceNextCutoff m : ℝ) < (m : ℝ)^((4/5 : ℝ)*(m : ℝ))theorem exists_sourceStageChoice (s : ℕ) (a : SourceStageState) :    Nonempty (SourceStageChoice s a) := by  have hs : 0 < (s : ℝ)+1 := by positivity  have hk (j : ℕ) : 0 < sourceKappa j := by unfold sourceKappa; positivity  obtain ⟨ε, hε, hp⟩ := uniform_product_coefficient_bound a.K a.D (1/((s : ℝ)+1)) (by positivity)  let target : ℝ := (ε/((s : ℝ)+1))/(((2*a.K : ℕ)+1 : ℝ)*3)  have ht : 0 < target := by dsimp [target]; positivity  obtain ⟨t, htL, htt⟩ := ((eventually_ge_atTop (a.previousL/10000)).and    (Real.tendsto_exp_neg_atTop_nhds_zero.eventually (gt_mem_nhds ht))).exists  let L : ℝ := 10000*t  have hL : a.previousL ≤ L := by dsimp [L]; linarith  have hLpos : 0 < L := lt_of_lt_of_le (by linarith [a.previousL_ge]) hL  let G : ℝ := (1+L/sourceKappa (s+1))^2  have hG : 1 ≤ G := by dsimp [G]; nlinarith [div_pos hLpos (hk (s+1))]  have hbudget : L ≤ sourceKappa (s+1)*Real.sqrt G := by    rw [show Real.sqrt G = 1+L/sourceKappa (s+1) by      dsimp [G]; rw [Real.sqrt_sq (by linarith [div_pos hLpos (hk (s+1))])]]    rw [mul_add, mul_one, mul_div_cancel₀ _ (hk (s+1)).ne']    linarith [hk (s+1)]  let R : ℝ := max (a.K : ℝ) (max ((2^(s+1) : ℕ) : ℝ) (max (4*a.G) (100*(a.d : ℝ))))  obtain ⟨m, hmR, hm100, hmκ, hmgap⟩ := exists_source_block_length R (sourceKappa s) L G (hk s) (by linarith)  have hmK : (a.K : ℝ) ≤ m := (le_max_left _ _).trans hmR  have hm2 : (((2^(s+1) : ℕ)) : ℝ) ≤ m := (le_max_left _ _).trans ((le_max_right _ _).trans hmR)  have hmG : 4*a.G ≤ (m : ℝ) := (le_max_left _ _).trans    ((le_max_right _ _).trans ((le_max_right _ _).trans hmR))  have hmd : 100*(a.d : ℝ) ≤ m := (le_max_right _ _).trans    ((le_max_right _ _).trans ((le_max_right _ _).trans hmR))  refine ⟨⟨ε, L, G, m, hε, hp, hL, ?_, hG, hbudget,    by exact_mod_cast hmK, by exact_mod_cast hm2, hmG, hm100, by linarith, hmκ, hmgap⟩⟩  have hden : 0 < (((2*a.K : ℕ)+1 : ℝ)*3) := by positivity  have htt' := (lt_div_iff₀ hden).mp htt  have he : -L/10000 = -t := by dsimp [L]; ring  rw [he]  nlinarithdef selectedSourceStage (s : ℕ) (a : SourceStageState) : SourceStageChoice s a :=  Classical.choice (exists_sourceStageChoice s a)def SourceStageChoice.C {s : ℕ} {a : SourceStageState} (b : SourceStageChoice s a) : ℝ :=  max b.L ((a.K : ℝ)^2)def SourceStageChoice.next {s : ℕ} {a : SourceStageState} (b : SourceStageChoice s a) : SourceStageState where  K := sourceNextCutoff b.m  G := b.Gnext  d := a.d+b.m  B := a.B+b.C*(b.m : ℝ)  previousL := b.L  K_ge := by have := sourceNextCutoff_large b.m b.m_ge_100; omega  G_ge := b.Gnext_ge  B_nonneg := add_nonneg a.B_nonneg (mul_nonneg (le_max_of_le_right (sq_nonneg _)) (Nat.cast_nonneg _))  previousL_ge := a.previousL_ge.trans b.L_gedef sourceStageState : ℕ → SourceStageState  | 0 => ⟨100, 1, 0, 0, 1, by norm_num, le_rfl, le_rfl, le_rfl⟩  | s+1 => (selectedSourceStage s (sourceStageState s)).nextdef sourceStage (s : ℕ) : SourceStageChoice s (sourceStageState s) :=  selectedSourceStage s (sourceStageState s)end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filteropen scoped ENNRealnamespace FiniteFactordef coordinateFloor {ι : Type*} (θ : ι → ℝ) (k : ℤ) (x : ι → ℝ) (i : ι) : ℤ :=  Int.floor (x i + (k : ℝ)*θ i)end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filteropen scoped ENNRealnamespace FiniteFactordef coordinateRotate {ι : Type*} (θ : ι → ℝ) (k : ℤ) (x : ι → ℝ) (i : ι) : ℝ :=  Int.fract (x i + (k : ℝ)*θ i)def sourceLog {ι : Type*} (θ c : ι → ℝ) (k : ℤ) (x : ι → ℝ) : ℝ :=  ∑' i, c i * (coordinateFloor θ k x i : ℝ)def sourceCocycle {ι : Type*} (θ c : ι → ℝ) (k : ℤ) (x : ι → ℝ) : ℝ :=  Real.exp (-sourceLog θ c k x)theorem sourceCocycle_pos {ι : Type*} (θ c : ι → ℝ) (k : ℤ) (x : ι → ℝ) :    0 < sourceCocycle θ c k x := Real.exp_pos _theorem sourceCocycle_measurable {ι : Type*} [Countable ι]    (θ c : ι → ℝ) (k : ℤ) :    @Measurable (ι → ℝ) ℝ      (@MeasurableSpace.pi ι (fun _ => ℝ) (fun _ => Real.measurableSpace))      Real.measurableSpace (sourceCocycle θ c k) := by  apply Real.continuous_exp.measurable.comp  apply Measurable.neg  apply Measurable.tsum  intro i  have hm0 : Measurable (fun x : ι → ℝ => x i + (k : ℝ)*θ i) :=    (measurable_pi_apply i).add measurable_const  have hm := Int.measurable_floor.comp hm0  exact measurable_const.mul ((measurable_of_countable (fun z : ℤ => (z : ℝ))).comp hm)theorem sourceWeight_le_one {ι : Type*} (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) {x : ι → ℝ}    (hx : ∀ i, x i ∈ Set.Ico 0 1) : sourceCocycle θ c 1 x ≤ 1 := by  apply Real.exp_le_one_iff.mpr  apply neg_nonpos.mpr  apply tsum_nonneg  intro i  apply mul_nonneg (hc i)  unfold coordinateFloor  exact_mod_cast Int.floor_nonneg.mpr (show 0 ≤ x i + (1 : ℤ)*θ i by simpa using add_nonneg (hx i).1 (hθ i))end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filteropen scoped ENNRealnamespace FiniteFactorabbrev sourceMeasure (ι : Type*) : Measure ((ι → ℝ) × ℤ) :=  (Measure.infinitePi (fun _ : ι => unitIntervalMeasure)).prod Measure.countabbrev SourceHilbert (ι : Type*) : Type _ := Lp ℂ 2 (sourceMeasure ι)def sourceDiagonal {ι : Type*} (θ c : ι → ℝ) (z : (ι → ℝ) × ℤ) : ℂ :=  sourceCocycle θ c 1 (coordinateRotate θ z.2 z.1)theorem sourceDiagonal_measurable {ι : Type*} [Countable ι] (θ c : ι → ℝ) :    Measurable (sourceDiagonal θ c) := by  apply Complex.measurable_ofReal.comp  apply (sourceCocycle_measurable θ c 1).comp  apply Measurable.of_eval  intro i  unfold coordinateRotate  fun_proptheorem sourceDiagonal_norm_le {ι : Type*} (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) (z : (ι → ℝ) × ℤ) :    ‖sourceDiagonal θ c z‖ ≤ 1 := by  rw [sourceDiagonal, Complex.norm_real, Real.norm_of_nonneg (sourceCocycle_pos _ _ _ _).le]  apply sourceWeight_le_one θ c hθ hc  intro i  exact ⟨Int.fract_nonneg _, Int.fract_lt_one _⟩theorem sourceDiagonal_memLp {ι : Type*} [Countable ι] (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) :    MemLp (sourceDiagonal θ c) ∞ (sourceMeasure ι) :=  memLp_top_of_bound (sourceDiagonal_measurable θ c).aestronglyMeasurable 1    (Eventually.of_forall (sourceDiagonal_norm_le θ c hθ hc))def sourceMultiplication {ι : Type*} [Countable ι] (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) : SourceHilbert ι →L[ℂ] SourceHilbert ι :=  (ContinuousLinearMap.mul ℂ ℂ).holderL (sourceMeasure ι) ∞ 2 2    ((sourceDiagonal_memLp θ c hθ hc).toLp (sourceDiagonal θ c))def sourceShiftIndex {ι : Type*} (z : (ι → ℝ) × ℤ) : (ι → ℝ) × ℤ := (z.1, z.2-1)theorem sourceShiftIndex_preserving (ι : Type*) :    MeasurePreserving (sourceShiftIndex (ι := ι)) (sourceMeasure ι) (sourceMeasure ι) := by  have hm : Measurable (fun k : ℤ => k-1) := measurable_of_countable _  have hi : Function.Injective (fun k : ℤ => k-1) := by intro a b h; dsimp at h; omega  have hs : Function.Surjective (fun k : ℤ => k-1) := by intro k; exact ⟨k+1, by dsimp; omega⟩  have hp : MeasurePreserving (fun k : ℤ => k-1) Measure.count Measure.count := by    refine ⟨hm, ?_⟩    ext S hS    rw [Measure.map_apply hm hS, Measure.count_apply (hS.preimage hm), Measure.count_apply hS,      ← hi.encard_image, Set.image_preimage_eq S hs]  exact (MeasurePreserving.id _).prod hpdef sourceShift (ι : Type*) : SourceHilbert ι →L[ℂ] SourceHilbert ι :=  (Lp.compMeasurePreservingₗᵢ ℂ sourceShiftIndex (sourceShiftIndex_preserving ι)).toContinuousLinearMapdef sourceOperator {ι : Type*} [Countable ι] (θ c : ι → ℝ)    (hθ : ∀ i, 0 ≤ θ i) (hc : ∀ i, 0 ≤ c i) : SourceHilbert ι →L[ℂ] SourceHilbert ι :=  (sourceShift ι).comp (sourceMultiplication θ c hθ hc)end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filter Finsetopen scoped Topology ENNRealnamespace FiniteFactornamespace CouplingParametersabbrev BlockCoordinate (m : ℕ → ℕ) := Σ s : ℕ, Fin (m s)end CouplingParametersend FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filter Finsetopen scoped Topology ENNRealnamespace FiniteFactordef sourceBlockSize (s : ℕ) : ℕ := (sourceStage s).mabbrev SourceCoordinate := CouplingParameters.BlockCoordinate sourceBlockSizedef sourceLogWeight (i : SourceCoordinate) : ℝ := (sourceStage i.1).Cdef SourceAngles (θ : SourceCoordinate → ℝ) : Prop :=  let realGroup : GroupWithZero ℝ :=    (@DivisionRing.toDivisionSemiring ℝ Real.instField.toDivisionRing).toGroupWithZero  let realOrder : LE ℝ := @Preorder.toLE ℝ Real.partialOrder.toPreorder  ∀ i : SourceCoordinate,    let block : ℝ := @Nat.cast ℝ Real.instNatCast (sourceBlockSize i.1)    let cutoff : ℝ := @Nat.cast ℝ Real.instNatCast (sourceStageState i.1).K    let denominator : ℝ := @Mul.mul ℝ Real.instMul block cutoff    let lower : ℝ :=      @Div.div ℝ realGroup.toDiv (@One.one ℝ Real.instOne) denominator    let upper : ℝ :=      @Div.div ℝ realGroup.toDiv (@Nat.cast ℝ Real.instNatCast 2) denominator    @LE.le ℝ realOrder lower (θ i) ∧ @LE.le ℝ realOrder (θ i) uppertheorem sourceBlockSize_pos (s : ℕ) : (0 : ℝ) < sourceBlockSize s := by  exact_mod_cast (show 0 < (sourceStage s).m by have := (sourceStage s).m_ge_100; omega)theorem sourceCutoff_pos (s : ℕ) : (0 : ℝ) < (sourceStageState s).K := by  exact_mod_cast (show 0 < (sourceStageState s).K by have := (sourceStageState s).K_ge; omega)theorem SourceAngles.nonneg {θ : SourceCoordinate → ℝ} (hθ : SourceAngles θ)    (i : SourceCoordinate) :    @LE.le ℝ (@Preorder.toLE ℝ Real.partialOrder.toPreorder)      (@Zero.zero ℝ Real.instZero) (θ i) :=  let realGroup : GroupWithZero ℝ :=    (@DivisionRing.toDivisionSemiring ℝ Real.instField.toDivisionRing).toGroupWithZero  let realOrder : Preorder ℝ := Real.partialOrder.toPreorder  let realStrict : @PosMulStrictMono ℝ Real.instMul Real.instZero realOrder :=    @IsStrictOrderedRing.toPosMulStrictMono ℝ Real.semiring Real.partialOrder      Real.instIsStrictOrderedRing  let realReflect : @PosMulReflectLT ℝ Real.instMul Real.instZero realOrder :=    @PosMulMono.toPosMulReflectLT ℝ Real.instMul Real.instZero Real.linearOrder      (@IsOrderedRing.toPosMulMono ℝ Real.semiring Real.partialOrder        Real.instIsOrderedRing)  let block : ℝ := @Nat.cast ℝ Real.instNatCast (sourceBlockSize i.1)  let cutoff : ℝ := @Nat.cast ℝ Real.instNatCast (sourceStageState i.1).K  let denominator : ℝ := @Mul.mul ℝ Real.instMul block cutoff  let lower : ℝ :=    @Div.div ℝ realGroup.toDiv (@One.one ℝ Real.instOne) denominator  let upper : ℝ :=    @Div.div ℝ realGroup.toDiv (@Nat.cast ℝ Real.instNatCast 2) denominator  let zeroReal : ℝ := @Zero.zero ℝ Real.instZero  @le_trans ℝ realOrder zeroReal lower (θ i)    (@le_of_lt ℝ realOrder zeroReal lower      ((@one_div_pos ℝ realGroup Real.partialOrder realReflect denominator).mpr        (@mul_pos ℝ realGroup.toMulZeroClass (a := block) (b := cutoff)          realOrder realStrict (sourceBlockSize_pos i.1) (sourceCutoff_pos i.1))))    (@And.left      (@LE.le ℝ realOrder.toLE lower (θ i))      (@LE.le ℝ realOrder.toLE (θ i) upper)      (hθ i))theorem sourceLogWeight_nonneg (i : SourceCoordinate) : 0 ≤ sourceLogWeight i :=  le_max_of_le_right (sq_nonneg _)end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filteropen scoped ENNRealnamespace FiniteFactordef sourceVacuum : SourceHilbert SourceCoordinate :=  @indicatorConstLp ((SourceCoordinate → ℝ) × ℤ) ℂ    (@Prod.instMeasurableSpace (SourceCoordinate → ℝ) ℤ      (@MeasurableSpace.pi SourceCoordinate (fun _ => ℝ)        (fun _ => Real.measurableSpace)) Int.instMeasurableSpace)    (sourceMeasure SourceCoordinate) Complex.instNormedAddCommGroup    (Set.univ ×ˢ {(0 : ℤ)})    (@Nat.cast ENNReal      (ENNReal.instAddCommMonoidWithOne.toAddMonoidWithOne.toNatCast)      (Nat.succ (Nat.succ Nat.zero)))    (MeasurableSet.univ.prod (measurableSet_singleton (0 : ℤ)))    (letI : IsProbabilityMeasure unitIntervalMeasure :=       ⟨(Measure.restrict_apply_univ           (μ := (volume : Measure ℝ)) (Set.Ico (0 : ℝ) 1)).trans         ((Real.volume_Ico (a := 0) (b := 1)).trans           ((congrArg ENNReal.ofReal (sub_zero (1 : ℝ))).trans             ENNReal.ofReal_one))⟩     let base : Measure (SourceCoordinate → ℝ) :=       Measure.infinitePi (fun _ : SourceCoordinate => unitIntervalMeasure)     let mass_one :=       (Measure.prod_prod (μ := base) (ν := (Measure.count : Measure ℤ))         Set.univ {(0 : ℤ)}).trans         ((congrArg₂ (fun left right : ℝ≥0∞ => left * right)           (measure_univ (μ := base))           (Measure.count_singleton (0 : ℤ))).trans (one_mul (1 : ℝ≥0∞)))     fun mass_top => ENNReal.one_ne_top (mass_one.symm.trans mass_top)) (1 : ℂ)theorem sourceVacuum_norm : ‖sourceVacuum‖ = 1 := by  rw [sourceVacuum,norm_indicatorConstLp (by norm_num) (by norm_num)]  simp [measureReal_def,sourceMeasure,Measure.prod_prod]sectionlocal notation "vacuumMeasurable" =>  @Prod.instMeasurableSpace (SourceCoordinate → ℝ) ℤ    (@MeasurableSpace.pi SourceCoordinate (fun _ => ℝ)      (fun _ => Real.measurableSpace)) Int.instMeasurableSpacelocal notation "vacuumSemiring" =>  Complex.instNormedField.toField.toCommRing.toRing.toSemiringlocal notation "vacuumIdentity" =>  @RingHom.id ℂ (@Semiring.toNonAssocSemiring ℂ vacuumSemiring)local notation "vacuumHilbertGroup" =>  @MeasureTheory.Lp.instNormedAddCommGroup    ((SourceCoordinate → ℝ) × ℤ) ℂ vacuumMeasurable    (@Nat.cast ENNReal      (ENNReal.instAddCommMonoidWithOne.toAddMonoidWithOne.toNatCast)      (Nat.succ (Nat.succ Nat.zero)))    (sourceMeasure SourceCoordinate) Complex.instNormedAddCommGroup    fact_one_le_two_ennreallocal notation "vacuumHilbertInner" =>  @MeasureTheory.L2.innerProductSpace    ((SourceCoordinate → ℝ) × ℤ) ℂ ℂ Complex.instRCLike    vacuumMeasurable (sourceMeasure SourceCoordinate)    Complex.instNormedAddCommGroup (@RCLike.innerProductSpace ℂ Complex.instRCLike)local notation "vacuumHilbertTopology" =>  @UniformSpace.toTopologicalSpace (SourceHilbert SourceCoordinate)    (@PseudoMetricSpace.toUniformSpace (SourceHilbert SourceCoordinate)      (@MetricSpace.toPseudoMetricSpace (SourceHilbert SourceCoordinate)        (@NormedAddCommGroup.toMetricSpace (SourceHilbert SourceCoordinate) vacuumHilbertGroup)))local notation "vacuumHilbertAddition" =>  @AddCommGroup.toAddCommMonoid (SourceHilbert SourceCoordinate)    (@NormedAddCommGroup.toAddCommGroup (SourceHilbert SourceCoordinate) vacuumHilbertGroup)local notation "vacuumHilbertModule" =>  @NormedSpace.toModule ℂ (SourceHilbert SourceCoordinate)    (@DenselyNormedField.toNormedField ℂ      (@RCLike.toDenselyNormedField ℂ Complex.instRCLike))    (@NormedAddCommGroup.toSeminormedAddCommGroup      (SourceHilbert SourceCoordinate) vacuumHilbertGroup)    (@InnerProductSpace.toNormedSpace ℂ (SourceHilbert SourceCoordinate) Complex.instRCLike      (@NormedAddCommGroup.toSeminormedAddCommGroup        (SourceHilbert SourceCoordinate) vacuumHilbertGroup)      vacuumHilbertInner)abbrev sourceVacuumFunctional    (operator : @ContinuousLinearMap ℂ ℂ vacuumSemiring vacuumSemiring vacuumIdentity      (SourceHilbert SourceCoordinate) vacuumHilbertTopology vacuumHilbertAddition      (SourceHilbert SourceCoordinate) vacuumHilbertTopology vacuumHilbertAddition      vacuumHilbertModule vacuumHilbertModule) : ℂ :=  @inner ℂ (SourceHilbert SourceCoordinate)    (@InnerProductSpace.toInner ℂ (SourceHilbert SourceCoordinate) Complex.instRCLike      (@NormedAddCommGroup.toSeminormedAddCommGroup        (SourceHilbert SourceCoordinate) vacuumHilbertGroup)      vacuumHilbertInner) sourceVacuum    (@AddHom.toFun (SourceHilbert SourceCoordinate) (SourceHilbert SourceCoordinate)      (vacuumHilbertAddition).toAdd (vacuumHilbertAddition).toAdd      (@LinearMap.toAddHom ℂ ℂ vacuumSemiring vacuumSemiring vacuumIdentity        (SourceHilbert SourceCoordinate) (SourceHilbert SourceCoordinate)        vacuumHilbertAddition vacuumHilbertAddition vacuumHilbertModule vacuumHilbertModule        (@ContinuousLinearMap.toLinearMap ℂ ℂ vacuumSemiring vacuumSemiring vacuumIdentity          (SourceHilbert SourceCoordinate) vacuumHilbertTopology vacuumHilbertAddition          (SourceHilbert SourceCoordinate) vacuumHilbertTopology vacuumHilbertAddition          vacuumHilbertModule vacuumHilbertModule operator)) sourceVacuum)endend FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filter InnerProductSpaceopen scoped ComplexInnerProductSpace Topology ENNReal CStarAlgebranamespace FiniteFactorlocal instance : IsometricContinuousFunctionalCalculus ℝ    (SourceHilbert SourceCoordinate →L[ℂ] SourceHilbert SourceCoordinate) IsSelfAdjoint :=  IsSelfAdjoint.instIsometricContinuousFunctionalCalculusinstance productHilbertNontrivial : Nontrivial (SourceHilbert SourceCoordinate) := by  have hv : sourceVacuum≠0 := by    intro hz    have h := sourceVacuum_norm    rw [hz,norm_zero] at h    norm_num at h  exact ⟨⟨sourceVacuum,0,hv⟩⟩end FiniteFactorendendsectionnoncomputable sectionopen MeasureTheory Filter InnerProductSpaceopen scoped ComplexInnerProductSpace Topologynamespace FiniteFactorlocal notation "productMeasurable" =>  @Prod.instMeasurableSpace (SourceCoordinate → ℝ) ℤ    (@MeasurableSpace.pi SourceCoordinate (fun _ => ℝ)      (fun _ => Real.measurableSpace)) Int.instMeasurableSpacelocal notation "productSemiring" =>  Complex.instNormedField.toField.toCommRing.toRing.toSemiringlocal notation "productIdentity" =>  @RingHom.id ℂ (@Semiring.toNonAssocSemiring ℂ productSemiring)local notation "productExponent" =>  @Nat.cast ENNReal    (ENNReal.instAddCommMonoidWithOne.toAddMonoidWithOne.toNatCast)    (Nat.succ (Nat.succ Nat.zero))local notation "productHilbertGroup" =>  @MeasureTheory.Lp.instNormedAddCommGroup    ((SourceCoordinate → ℝ) × ℤ) ℂ productMeasurable    productExponent    (sourceMeasure SourceCoordinate) Complex.instNormedAddCommGroup    fact_one_le_two_ennreallocal notation "productHilbertInner" =>  @MeasureTheory.L2.innerProductSpace    ((SourceCoordinate → ℝ) × ℤ) ℂ ℂ Complex.instRCLike    productMeasurable (sourceMeasure SourceCoordinate)    Complex.instNormedAddCommGroup (@RCLike.innerProductSpace ℂ Complex.instRCLike)local notation "productHilbertTopology" =>  @UniformSpace.toTopologicalSpace (SourceHilbert SourceCoordinate)    (@PseudoMetricSpace.toUniformSpace (SourceHilbert SourceCoordinate)      (@MetricSpace.toPseudoMetricSpace (SourceHilbert SourceCoordinate)        (@NormedAddCommGroup.toMetricSpace (SourceHilbert SourceCoordinate) productHilbertGroup)))local notation "productHilbertAddition" =>  @AddCommGroup.toAddCommMonoid (SourceHilbert SourceCoordinate)    (@NormedAddCommGroup.toAddCommGroup (SourceHilbert SourceCoordinate) productHilbertGroup)local notation "productHilbertModule" =>  @NormedSpace.toModule ℂ (SourceHilbert SourceCoordinate)    (@DenselyNormedField.toNormedField ℂ      (@RCLike.toDenselyNormedField ℂ Complex.instRCLike))    (@NormedAddCommGroup.toSeminormedAddCommGroup      (SourceHilbert SourceCoordinate) productHilbertGroup)    (@InnerProductSpace.toNormedSpace ℂ (SourceHilbert SourceCoordinate) Complex.instRCLike      (@NormedAddCommGroup.toSeminormedAddCommGroup        (SourceHilbert SourceCoordinate) productHilbertGroup)      productHilbertInner)abbrev ProductOp :=  @ContinuousLinearMap ℂ ℂ productSemiring productSemiring productIdentity    (SourceHilbert SourceCoordinate) productHilbertTopology productHilbertAddition    (SourceHilbert SourceCoordinate) productHilbertTopology productHilbertAddition    productHilbertModule productHilbertModulesectionopen MeasureTheory Filter InnerProductSpaceopen scoped ComplexInnerProductSpace Topology ENNReallocal instance : Module ℝ ProductOp := Module.complexToReal ProductOplocal instance : IsometricContinuousFunctionalCalculus ℝ ProductOp IsSelfAdjoint :=  IsSelfAdjoint.instIsometricContinuousFunctionalCalculusdef logarithmCutoff (n : ℕ) : C(ℝ,ℝ) where  toFun t := Real.log (max (Real.exp (-(n:ℝ))) t)  continuous_toFun := (continuous_const.max continuous_id).log    (fun _=>ne_of_gt ((Real.exp_pos _).trans_le (le_max_left _ _)))run_cmd Lean.modifyEnv fun env => Lean.Meta.auxLemmasExt.setState env {}def FugledeKadisonDeterminant (τ : ProductOp → ℂ) (T : ProductOp) : ℝ≥0∞ :=  let determinant := fun (Hilbert : Type) [NormedAddCommGroup Hilbert]    [InnerProductSpace ℂ Hilbert] [CompleteSpace Hilbert] [Nontrivial Hilbert]    (trace : (Hilbert →L[ℂ] Hilbert) → ℂ) (operator : Hilbert →L[ℂ] Hilbert) =>      letI : Module ℝ (Hilbert →L[ℂ] Hilbert) := Module.complexToReal _      letI : IsometricContinuousFunctionalCalculus ℝ (Hilbert →L[ℂ] Hilbert)          IsSelfAdjoint := IsSelfAdjoint.instIsometricContinuousFunctionalCalculus      ⨅ n : ℕ, ENNReal.ofReal        (Real.exp ((trace (cfc (logarithmCutoff n) (CFC.abs operator))).re))  let domain := (SourceCoordinate → ℝ) × ℤ  let measurable : MeasurableSpace domain := productMeasurable  let exponent : ℝ≥0∞ := productExponent  let measure : @Measure domain measurable := sourceMeasure SourceCoordinate  let complete := @MeasureTheory.Lp.instCompleteSpace domain measurable exponent measure ℂ    Complex.instNormedAddCommGroup Complex.instCompleteSpace fact_one_le_two_ennreal  @determinant (SourceHilbert SourceCoordinate) productHilbertGroup productHilbertInner    complete productHilbertNontrivial τ Tendsectionopen MeasureTheory Filteropen scoped ENNReal Topologydef expLogPotential (μ : Measure ℂ) (z : ℂ) : ℝ≥0∞ :=  ⨅ n : ℕ, ENNReal.ofReal (Real.exp (∫ w,logarithmCutoff n ‖z-w‖ ∂μ))def IsBrownMeasure (τ : ProductOp → ℂ) (T : ProductOp) (μ : Measure ℂ) : Prop :=  let translate := fun (Hilbert : Type) [NormedAddCommGroup Hilbert]    [NormedSpace ℂ Hilbert] (operator : Hilbert →L[ℂ] Hilbert) (scalar : ℂ) =>      operator - algebraMap ℂ (Hilbert →L[ℂ] Hilbert) scalar  IsProbabilityMeasure μ ∧ IsCompact μ.support ∧  ∀ z : ℂ, FugledeKadisonDeterminant τ    (@translate (SourceHilbert SourceCoordinate) productHilbertGroup      (@InnerProductSpace.toNormedSpace ℂ (SourceHilbert SourceCoordinate) Complex.instRCLike        (@NormedAddCommGroup.toSeminormedAddCommGroup          (SourceHilbert SourceCoordinate) productHilbertGroup)        productHilbertInner) T z) = expLogPotential μ zdef ProductBrownClaim : Prop :=  ∀ (θ : SourceCoordinate → ℝ) (hθ : SourceAngles θ),    IsBrownMeasure sourceVacuumFunctional      (sourceOperator θ sourceLogWeight hθ.nonneg sourceLogWeight_nonneg) (Measure.dirac 0)endend FiniteFactorendendnamespace FiniteFactor/-- The Brown measure of the product weighted shift is the point mass at zero. -/theorem productBrown : ProductBrownClaim := by  sorryend FiniteFactorend 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.

Invariant-projection counterexamples for every irrational rotation

Theorem

For every irrational \theta\in(0,1) there exists a continuous function f:\T\to[0,1] such that

f^{-1}(\{0\})=\{1\},\qquad \int_\T\log f\,dm=-\infty,

and every projection p\in R_\theta satisfying (1-p)Uf(V)p=0 is either 0 or 1.

Section 1, Introduction Read it in the paper TeX source, line 33
Show the TeX
For every irrational $\theta\in(0,1)$ there exists a continuous function
$f:\T\to[0,1]$ such that
\[
 f^{-1}(\{0\})=\{1\},\qquad \int_\T\log f\,dm=-\infty,
\]
and every projection $p\in R_\theta$ satisfying $(1-p)Uf(V)p=0$
is either $0$ or $1$.
Corollary

Every separable infinite-dimensional complex Hilbert space carries a nonzero norm-quasinilpotent operator with no nontrivial hyperinvariant subspace. Its commutant is a proper strongly closed transitive unital algebra.

Section 1, Introduction Read it in the paper TeX source, line 94
Show the TeX
Every separable infinite-dimensional complex Hilbert space carries a
nonzero norm-quasinilpotent operator with no nontrivial hyperinvariant
subspace.  Its commutant is a proper strongly closed transitive unital
algebra.

Backward intertwiners and a transitive commutant

Theorem

There are measurable positive weights \beta_j:X\to(0,\infty), j\in\Z, and a contraction V\in\B(H_0) with the following properties. The shifts

S_xe_j=\beta_j(x)e_{j+1},\qquad (Sf)(x)=S_xf(x),

define a bounded operator S on H_0, and:

  1. 1.

    For every x\in X, the closed invariant subspaces of S_x are exactly \Ktail{h}, h\in\Z\cup\{-\infty,+\infty\}. • The operator S is nonzero, \|S\|=e^{-10}, and for every integer n\ge1,

    \|S^n\|\le \exp\left(-10\left\lfloor\frac{(n+1)^2}{4}\right\rfloor\right).

    • The operator V commutes with S and has the form

    (Vf)(\theta x)=V_xf(x),\qquad V_xe_j=b_j(x)e_{j-1},

    where 0\le b_j(x)\le1 are measurable and are positive on a common conull set. On that set,

    \overline{V_x\Ktail{h}}=\Ktail{h-1}\quad(h\in\Z), \qquad \overline{V_xK}=K.

    • The unital complex algebra generated by S, V, and all scalar multipliers M_g is transitive.

Section 1, Introduction Read it in the paper TeX source, line 35
Show the TeX
There are measurable positive weights $\beta_j:X\to(0,\infty)$,
$j\in\Z$, and a contraction $V\in\B(H_0)$ with the following properties.
The shifts
\[
 S_xe_j=\beta_j(x)e_{j+1},\qquad (Sf)(x)=S_xf(x),
\]
define a bounded operator $S$ on $H_0$, and:
\begin{enumerate}
\item For every $x\in X$, the closed invariant subspaces of $S_x$ are
exactly $\Ktail{h}$, $h\in\Z\cup\{-\infty,+\infty\}$.
\item The operator $S$ is nonzero, $\|S\|=e^{-10}$, and for every
integer $n\ge1$,
\begin{equation}
 \|S^n\|\le
 \exp\left(-10\left\lfloor\frac{(n+1)^2}{4}\right\rfloor\right).
\end{equation}
\item The operator $V$ commutes with $S$ and has the form
\[
 (Vf)(\theta x)=V_xf(x),\qquad V_xe_j=b_j(x)e_{j-1},
\]
where $0\le b_j(x)\le1$ are measurable and are positive on a common
conull set. On that set,
\[
 \overline{V_x\Ktail{h}}=\Ktail{h-1}\quad(h\in\Z),
 \qquad \overline{V_xK}=K.
\]
\item The unital complex algebra generated by $S$, $V$, and all
scalar multipliers $M_g$ is transitive.
\end{enumerate}
Corollary

Every infinite-dimensional separable complex Hilbert space admits a nonzero bounded norm-quasinilpotent operator with no nonzero proper closed hyperinvariant subspace. Its commutant is a proper strongly closed unital transitive complex operator algebra.

Section 1, Introduction Read it in the paper TeX source, line 72
Show the TeX
Every infinite-dimensional separable complex Hilbert space admits a
nonzero bounded norm-quasinilpotent operator with no nonzero proper
closed hyperinvariant subspace. Its commutant is a proper strongly
closed unital transitive complex operator algebra.
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 293 link it.
Solution module
OAI.Analysis.BrownMeasure.Main
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
62 local vocabulary declarations
Lines of Lean, without comments or blank lines
541
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

Brown measure of the selected product weighted shift

Family 293: Invariant projections, hyperinvariant subspaces, and transitive algebras

No paper statement selected

no paper statement matches the Lean text clearly enough to pair, so the closest candidates are listed below.

The Lean statement says

def ProductBrownClaim : Prop :=  ∀ (θ : SourceCoordinate → ℝ) (hθ : SourceAngles θ),    IsBrownMeasure sourceVacuumFunctional      (sourceOperator θ sourceLogWeight hθ.nonneg sourceLogWeight_nonneg) (Measure.dirac 0)theorem productBrown : ProductBrownClaim := 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.

No paper theorem is paired with this Lean statement.two independent groups report that Comparator accepted runs for this file at the release version shown here.Statement review: none recorded

62 local vocabulary declarationsAllowed axioms: propext, Quot.sound, Classical.choiceopenai/math at fd4aeebwcook04.github.io/plectis-atlas/statements/ProductBrown.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