Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: creating an SMT verification module #712

Closed
wants to merge 17 commits into from
Closed

Conversation

Sarkoxed
Copy link
Contributor

Description

Please provide a paragraph or two giving a summary of the change, including relevant motivation and context.

Checklist:

  • I have reviewed my diff in github, line by line.
  • Every change is related to the PR description.
  • The branch has been merged with/rebased against the head of its merge target.
  • There are no unexpected formatting changes, superfluous debug logs, or commented-out code.
  • There are no circuit changes, OR a cryptographer has been assigned for review.
  • New functions, classes, etc. have been documented according to the doxygen comment format. Classes and structs must have @brief describing the intended functionality.
  • If existing code has been modified, such documentation has been added or updated.
  • No superfluous include directives have been added.
  • I have linked to any issue(s) it resolves.
  • I'm happy for the PR to be merged at the reviewer's next convenience.

@@ -187,6 +193,99 @@ template <typename Arithmetization> class CircuitBuilderBase {
real_variable_tags.emplace_back(DUMMY_TAG);
return index;
}

/**
* Assign a name to a variable(equivalence calss). Should be one name per equivalence class.
Copy link
Contributor

Choose a reason for hiding this comment

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

Typo ("Calss")

msgpack::sbuffer buffer;
msgpack::pack(buffer, cir);
return buffer;
// info("Buffer size: ", buffer.size());
Copy link
Contributor

Choose a reason for hiding this comment

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

Commented out code

barretenberg_module(smt_verification common ${CMAKE_SOURCE_DIR}/src/cvc5/tmp-lib/lib/libcvc5.so.1)

barretenberg_module(smt_examples common proof_system stdlib_primitives smt_verification)
#barretenberg_module(smt_polynomials common proof_system stdlib_primitives smt_verification)
Copy link
Contributor

Choose a reason for hiding this comment

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

Commented out code


1. First you need to import the circuit from the saved file or from the buffer:

- `smt_circuit::CircuitSchema c_info = smt_circuit::unpack_from_file(str fname);`
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you provide instructions without storing the circuit on disk?

@@ -0,0 +1,111 @@
# TODO how exactly ref works
import cvc5
Copy link
Contributor

Choose a reason for hiding this comment

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

This file is not documented at all

#include "circuit.hpp"
namespace smt_circuit {

Circuit::Circuit(CircuitSchema& circuit_info, Solver* solver, const std::string& tag)
Copy link
Contributor

Choose a reason for hiding this comment

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

This file has very few comments

@codygunton
Copy link
Collaborator

This became a monorepo PR

@codygunton codygunton closed this Sep 22, 2023
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.

3 participants