Fastpoly
FastPoly: An Efficient Polynomial Package for the Verification of Integer Arithmetic Circuits
Install / Use
/learn @a-konrad/FastpolyREADME
FastPoly: An Efficient Polynomial Package for the Verification of Integer Arithmetic Circuits
by Alexander Konrad and Christoph Scholl, University of Freiburg
For further information we refer to the paper
Alexander Konrad, Christoph Scholl.
[FastPoly: FastPoly: An Efficient Polynomial Package for the Verification of Integer Arithmetic Circuits.]
In Proc. 25th Intl. Conf. on Formal Methods in Computer Aided Design (FMCAD'25), p. TBA, 2025.
Dependencies: libgmp (https://gmplib.org/)
To use the provided polynomial package the GNU Multiprecision (GMP) library has to be installed first. It can either be aquired from https://gmplib.org/ or be installed directly on Ubuntu by the command:
sudo apt-get install libgmp-dev
Using the package:
To use the package in your own software, include the src folder in your source files (and compile them with your other source files) and include the poly_parser.h in your code (like it is done in the demo).
Provided demo:
We provide a demo file fastpoly_demo.cpp which shows how to use the different APIs of
our package. Use ./configure.sh && make to configure and build the demo.
To run the demo: ./fastpoly_demo
Example 1) Shows how to initialize a polynomial from a file and perform substitution steps written in the same file.
Example 2) Shows how to initialize a starting polynomial as well as gate polynomials using the constructors. Substitution steps are invoked by the "replaceVarbyPoly()" function.
Example 3) Shows how to use "shortcut" functions for replacing variables by functions of predefined basic logic gates.
Example 4) Shows how to start proof generation.
The Benchmark folder provides benchmarks used in the paper stated above. For details on the benchmarks we refer to the paper.
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
