`skyscraper/bn254-multiplier/src/utils`: tighter bounds

Open
#344 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust

Research direction

Start in skyscraper/bn254-multiplier/src/utils.rs around line 223 and read the div_p_6b_underapprox Kani proof, including the existing assertions and U64_P_MULTIPLES data. Run the proof to establish its current bounds, then determine and encode tighter bounds so the proof passes without the TODO. Done means the underapproximation has stronger verified bounds.

Written by the indexing model from the issue text.

Description

to do tracker

On 2026-03-17 in ba92f89 “Merge pull request #320 from worldfnd/xr/subred”:

tighter bounds

        assert!(x >= r);
        assert!(le256([0, 0, 0, x - r], U64_2P));
    }

    #[kani::proof]
    // TODO tighter bounds
    fn div_p_6b_underapprox() {
        let x: u64 = kani::any();
        let q = div_p_6b(x);

        let r = U64_P_MULTIPLES[q as usize][3];

From skyscraper/bn254-multiplier/src/utils.rs:223

Dominant language
Noir
Stars
138
Forks
47
Avg merge
1d 34m
Merged PRs (30d)
6

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from worldfnd/provekit

All issues in worldfnd/provekit

Similar issues

More Cryptography issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.