Skip to content

refactor: proof golf from Aristotle — eliminate intermediate bindings#12

Merged
project-navi-bot merged 3 commits intomainfrom
refactor/aristotle-proof-golf
Mar 29, 2026
Merged

refactor: proof golf from Aristotle — eliminate intermediate bindings#12
project-navi-bot merged 3 commits intomainfrom
refactor/aristotle-proof-golf

Conversation

@Fieldnote-Echo
Copy link
Copy Markdown
Member

Summary

  • Cherry-picks proof simplifications from Aristotle 4.28.0 output, preserving all docstrings, imports, and module documentation
  • Eliminates unnecessary intermediate have bindings, converts trivial tactic blocks to term-mode, and inlines redundant variables
  • -75 net lines across 7 files (+65 -140), verified with lake build --wfail and lake lint

What was NOT taken from Aristotle

  • Import path changes (FdFormal.XX) — would break build
  • Docstring removals (~30 defs/theorems) — violates docBlame linter
  • Module doc trimming (References, Implementation notes sections)
  • Comment removals explaining non-obvious design decisions

Changes by file

File Lines Key simplification
FlowerConstruction.lean -28 flowerGraph' term-mode, Iff.rfl, inlined intermediates
FlowerCounts.lean -11 zify [show ...] pattern, term-mode flowerVertCountReal_pos
FlowerDimension.lean -25 Remove unused hlogw, inline squeeze bounds, compress decomp
GraphBall.lean -7 ball_top anonymous ctor, mem_ball_of_adj term-mode
PathGraphDist.lean -3 Simplify edist antisymmetry proof
FlowerDiameter.lean -1 Term-mode strict_mono and _pos
FlowerLog.lean 0 h_castthis rename

Verification

  • lake build --wfail — all 1948 jobs pass, zero warnings
  • lake lint — linting passed
  • Axiom dashboard clean: propext, Classical.choice, Quot.sound only

Test plan

  • lake build --wfail passes
  • lake lint passes
  • Axiom dashboard unchanged
  • No sorry introduced
  • All docstrings preserved

🤖 Generated with Claude Code

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Cherry-pick proof simplifications from Aristotle 4.28.0 output,
preserving all docstrings, imports, and module documentation.

Key changes:
- Inline named `have h1`/`have h2` into `zify [show ...]` patterns
- Convert trivial tactic blocks to term-mode proofs
- Remove unused `hlogw` binding in headline theorem
- Inline intermediate variables in squeeze theorem bounds
- `flowerGraph'_adj_iff` via `Iff.rfl` instead of id/id constructor
- `flowerGraph'` definition in term-mode instead of tactic block
- Eliminate redundant named intermediates across GraphBall, PathGraphDist

Net: -75 lines across 7 files. Zero sorry, clean axioms, lint passes.
Revert the h_lo/h_hi/h_res inlining in flowerDimension — the named
intermediates are Mathlib-shaped and match the Route B squeeze
narrative advertised in module docs.
@project-navi-bot project-navi-bot merged commit 3263830 into main Mar 29, 2026
4 checks passed
@project-navi-bot project-navi-bot deleted the refactor/aristotle-proof-golf branch March 29, 2026 02:11
Nelson Spence (Fieldnote-Echo) added a commit that referenced this pull request Mar 29, 2026
- Add PathGraphDist as upstream candidate in README
- Fix Verify.lean declaration count (20 → 27)
- Fix GraphBall lemma count (8 core + 6 convenience)
- Expand Aristotle role in Development Process section
- Correct FlowerVert type signature in theorems.md and graph-construction.md
- Add changelog entries for PRs #11 and #12
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.

2 participants