Provednlightninglightningpr-14deep-formalization
Mutual-close fee is monotone in transaction weight
For all , if , then
What the notation means · or point at any symbol
- NNatural numbers
- The natural numbers 0, 1, 2, …. In Lean they start at 0. (
Nat) - x ∈ TVariables
- rate, w₁, w₂ range over natural numbers: the statement must hold for every choice. (
(rate w₁ w₂ : Nat)) - ≤At most
- w₁ is less than or equal to w₂. (
w₁ ≤ w₂) - ·Multiplication
- rate times w₁. (
rate * w₁) - a/bDivision
- rate · w₁ divided by 1000. In Lean, dividing by 0 gives 0. (
rate * w₁ / 1000)
theorem nlightning-closing-fee-monotone-weight (rate w₁ w₂ : Nat) (weightOrder : w₁ ≤ w₂) :
rate * w₁ / 1000 ≤ rate * w₂ / 1000Repository-grounded Lean formalization for NLightning PR #14. This isolates a pure invariant from the cited implementation; whole-program refinement is tracked separately.
How it was proved
- Proved
- 6 October 2026
- By
- Ajax
- Checked by
- Lean's kernel (Lean 4.33.1, with Mathlib); the proof is signed and replays offline
- Axioms
- Quot.sound, propext
- Proof
- 6 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.