Skip to content

Conversation

@Julek
Copy link
Contributor

@Julek Julek commented Mar 29, 2023

No description provided.

Ferinko and others added 11 commits March 24, 2023 13:49
In this commit, we add a function `userAnnotatedSources` which replaces
`isStandardSource`. It generates a list of all the user annotated
ScopedFunctions. This list is used to filter modules for solving. This
requires a slight refactor within `FunctionAnalysis.hs`.

* Add `extern_remove_dirty` test.

The basic idea is this:
1. Find all wrapper functions.
2. Compute their respective set of reachable functions.
3. Mark them all as 'don't check' unless they are referenced from a
   different source as well.
Don't verify `@external`-generated wrapper functions
* Use `ssh-agent` to clone with specific private key
* Set `0o400` permissions on private key file
* Add `mathsat` to list of solvers used in tests
Add mathsat installation to Github actions workflow
…ted-specs

Add FAQ about commenting-out annotations
…eadme-additions

Add `README.md` section on details of `CairoSemanticsL`
@Julek Julek requested a review from langfield March 29, 2023 13:25
@Julek Julek force-pushed the julek/assert_nn_le_spec_fix branch 3 times, most recently from 6cea51d to e45ffbb Compare March 29, 2023 14:20
@langfield langfield force-pushed the julek/assert_nn_le_spec_fix branch 2 times, most recently from b0ae760 to b704100 Compare March 29, 2023 16:25
@langfield langfield changed the title assert_nn_le std spec fix Add missing range check bound to assert_nn_le() spec Mar 29, 2023
Copy link
Contributor

@langfield langfield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this agree with the docstring?

// Verifies that 0 <= a <= b.
//
// Prover assumption: b < RANGE_CHECK_BOUND.
//
// This function is still sound without the prover assumptions. In that case, it is guaranteed
// that a < RANGE_CHECK_BOUND and b < 2 * RANGE_CHECK_BOUND.
// @pre b < 2**128
// @post 0 <= a and  a <= b
func assert_nn_le{range_check_ptr}(a, b) {
    assert_nn(a);
    assert_le(a, b);
    return ();
}

Looks like the b < rcBound is an assumption. But I suppose we want that in the post so other stuff can use it?

@langfield langfield force-pushed the master branch 2 times, most recently from 9f9928b to 3397b7c Compare March 31, 2023 15:01
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.

4 participants