Skip to content

Fill W1_zero_eq sorry in X_exp_equiv#40

Closed
eliasjudin wants to merge 1 commit intoruntimeverification:masterfrom
eliasjudin:fill-W1-zero-eq
Closed

Fill W1_zero_eq sorry in X_exp_equiv#40
eliasjudin wants to merge 1 commit intoruntimeverification:masterfrom
eliasjudin:fill-W1-zero-eq

Conversation

@eliasjudin
Copy link

@eliasjudin eliasjudin commented Feb 22, 2026

This PR fills the sorry for the local helper W1_zero_eq inside X_exp_equiv in EvmEquivalence/Equivalence/Operations/ExpEquivalence.lean. The proof converts the BEq hypothesis to equality, uses intMap_toNat to reduce to a toNat statement, and closes with Int.toNat_eq_zero.

  • Out of scope: the remaining sorrys in X_exp_equiv (gas + gt0/eq0 branches) are still blocked on TODO.exp_representation.
  • Test plan:
    • lake build EvmEquivalence.Equivalence.Operations.ExpEquivalence
    • lake build

Part of #25.

cc @Aristotle-Harmonic

Replaces the `sorry` in the local helper `W1_zero_eq` inside
`X_exp_equiv` with a proof using BEq-to-equality conversion,
`intMap_toNat`, and `Int.toNat_eq_zero`.

Aristotle solved the decomposed micro-theorem
`int_eq_zero_of_nonneg_toNat_zero`
(project 00c420ff-9399-41cc-9401-8e44071a3fcd, solved_target: true),
which directly guided this recomposition.

Co-authored-by: Aristotle (Harmonic) <aristotle-harmonic@harmonic.fun>
@eliasjudin
Copy link
Author

Superseded by a stacked split where this commit is included in a broader base PR with summary precondition normalization.

@eliasjudin eliasjudin closed this Feb 25, 2026
@eliasjudin eliasjudin deleted the fill-W1-zero-eq branch February 25, 2026 12:19
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