Skip to content

docs: add Lean4 proof propositions catalog (JP + EN)#696

Open
adust09 wants to merge 2 commits intoleanEthereum:mainfrom
adust09:leanSpec-lean4
Open

docs: add Lean4 proof propositions catalog (JP + EN)#696
adust09 wants to merge 2 commits intoleanEthereum:mainfrom
adust09:leanSpec-lean4

Conversation

@adust09
Copy link
Copy Markdown
Contributor

@adust09 adust09 commented May 1, 2026

Summary

Adds a prioritized catalog of propositions to formally verify the Lean Ethereum consensus spec in Lean4. Two parallel artifacts:

  • docs/lean4-proof-propositions.md — Japanese version (initial draft).
  • docs/lean4-proof-propositions-en.md — English version, deliberately more concrete: literal constants (MAX_REQUEST_BLOCKS=1024, MAX_PAYLOAD_SIZE=10 MiB, D_low=6, D_high=12, P = 2^31 − 2^24 + 1), exact field names, and file:line anchors for every proposition.

51 proposition entries total in the English doc, organized by tier:

  • Tier 1 (24): SSZ round-trips, range/length invariants, slot/checkpoint algebra, validator dual-key, networking bounds.
  • Tier 2 (19): state-transition monotonicity (justified.slot, finalized.slot), supermajority threshold (3v ≥ 2N), forkchoice topology, sync FSM transitions, gossipsub mesh [6,12] bound, slashing avoidance, XMSS prepared-window advancement.
  • Tier 3 (8): forkchoice acyclicity, finalization irreversibility, state_transition purity, hash collision-resistance axiom, Fp commutative ring + Fermat inverse, XMSS sign/verify round-trip.

Each entry has natural-language description, semi-formal ∀/⇒ statement, and a Lean4 theorem … := by sorry skeleton. The doc also proposes a proofs/lean4/LeanSpec/... file layout and a source-to-propositions cross-reference table.

This is a planning artifact only — no Lean4 code is added in this PR. The first proof PRs will discharge Tier 1 lemmas in a follow-up.

Test plan

  • Frontmatter present (title, last_updated: 2026-05-01, kebab-case tags)
  • All file_path:line_number references point to real files in the working tree
  • No double-backtick (RST) usage; comments per project style guide
  • CI passes

adust09 and others added 2 commits May 1, 2026 19:16
Catalog of propositions to be formally verified in Lean4 to support
safe client specification design. Organized into Tier 1/2/3 by proof
difficulty across four domains: consensus core, SSZ/base types,
validator duties, and networking/sync. Each proposition includes a
natural-language statement, a semi-formal (∀/⇒) form, and a Lean4
theorem skeleton.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add docs/lean4-proof-propositions-en.md as an English sibling to the
existing Japanese catalog. The English version states 51 propositions
with literal constants (MAX_REQUEST_BLOCKS=1024, MAX_PAYLOAD_SIZE=10 MiB,
D_low=6, P=2^31-2^24+1) and exact source line ranges so each proposition
maps directly to a Lean4 theorem skeleton.

Coverage:
- Tier 1 (24): SSZ round-trips, range/length invariants, slot/checkpoint
  algebra, validator dual-key, networking bounds
- Tier 2 (19): state-transition monotonicity, supermajority threshold,
  forkchoice topology, sync FSM, gossipsub mesh bounds, slashing avoidance
- Tier 3 (8): forkchoice acyclicity, finalization irreversibility,
  state_transition purity, hash collision-resistance axiom, Fp ring
  axioms, XMSS sign/verify round-trip
@adust09 adust09 closed this May 1, 2026
@adust09 adust09 reopened this May 1, 2026
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