Skip to content

feat(opening): rule out unbatched clock closure - #65

Open
windsornguyen wants to merge 1 commit into
codex/near-far-fold-semanticsfrom
codex/unbatched-tensor-accounting
Open

feat(opening): rule out unbatched clock closure#65
windsornguyen wants to merge 1 commit into
codex/near-far-fold-semanticsfrom
codex/unbatched-tensor-accounting

Conversation

@windsornguyen

Copy link
Copy Markdown
Owner

Explain what this changes, why it is needed, and anything reviewers should
verify. Link an issue when one exists.

What does this change?

Proves a restricted accounting barrier: an unbatched tensor reduction that separately materializes every local slice cannot meet the target same-clock closure bound. This rules out that implementation shape, not all possible batching or implicit representations.

How was it tested?

  • lake build --wfail passes on stacked tip 16b7318
  • lake lint passes on stacked tip 16b7318
  • No sorry or new axioms, or this PR does not change Lean proofs
  • git diff --check passes
  • The accounting theorem compiles without additional axioms

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 33b4c19f4e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +46 to +49
theorem unbatchedTensorOpening_winnerCost_not_lt_parentMass
{axisLength amplification rounds : Nat}
(hAxisLength : 1 < axisLength) (hAmplification : 2 ≤ amplification) :
¬axisLength ^ (amplification ^ rounds) < axisLength ^ rounds := by

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Connect the claimed winner cost to the compiler

When this theorem is used as the advertised no-go result for the audited compiler, it proves only a comparison between two chosen arithmetic expressions: the signature contains no compiler cost, per-round recurrence, or premise showing that the actual winner cost is at least axisLength ^ (amplification ^ rounds). Consequently, an implementation whose real accounting does not equal this expression is not ruled out despite the declaration and module documentation saying otherwise; add the explicit cost/recurrence and parent-mass assumptions, or scope the declaration as an arithmetic lemma rather than a compiler barrier.

AGENTS.md reference: AGENTS.md:L18-L22

Useful? React with 👍 / 👎.

namespace ComplexityTheory
namespace CanonicalOpening

private theorem rounds_le_twoPow (rounds : Nat) : rounds ≤ 2 ^ rounds := by

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Rename the proposition using snake_case

Rename rounds_le_twoPow to rounds_le_two_pow: this private theorem is a proposition term, and twoPow is an invented camel-case phrase rather than the preserved name of an UpperCamelCase declaration. Keeping this spelling violates the repository's explicit theorem-naming convention and makes the newly introduced API internally inconsistent.

AGENTS.md reference: AGENTS.md:L67-L73

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant