Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@makaimann
Copy link
Collaborator

Ensure that the map from btor2 line ids to terms is always populated (unless the line was a sort).

@makaimann makaimann added simple A very simple (meaning easy to review) change. refactor labels May 1, 2020
@makaimann makaimann self-assigned this May 1, 2020
@makaimann makaimann merged commit 0ccc77a into master May 1, 2020
@ahmed-irfan ahmed-irfan deleted the set-term branch May 20, 2020 07:38
yangy96 pushed a commit to yangy96/cosa2 that referenced this pull request Jul 2, 2020
makaimann pushed a commit that referenced this pull request Jul 8, 2020
* add signed/unsigned reentrant, fix scanner bugs

* implement case preprocess

* resolve header conflict

* inor changes

* fix case error and add extract

* clang format

* clang format

* add integer/real constant, add simple_expr

* change time for ccase timeout

* Install fl-dev for ubuntu bionic Travis

* fl-dev -> libfl-dev

* Hack for FlexLexer.h in Mac Travis test

* Try removing from /Library/Developer/CommandLineTools/usr/include/

* Also remove Xcode version of FlexLexer.h -- hack for Travis Mac build

* Use FLEX_INCLUDE_DIRS from find_package(FLEX ...

* Don't remove headers

* Just print found Flex info

* Set cmake include and library paths for Mac

* Try newer version of xcode

* Don't set cmake paths anymore

* minor

* Manually set include directory

* request changes update

* fix a conflict bug

* add boolean and change map to vector

* add negative integer

* Refactor: make FunctionalTransitionSystem inherit from RelationalTransitionSystem (compiles but untested)

* Add get_free_symbols helper

* Add constrain_inputs

* Rename: RelationalTransitionSystem -> TransitionSystem

* Rename: rts.* -> ts.*

* Add convenience function for adding constraints

* Use add_constraint in encoder and check init/prop for state vars

* Print standard exception message if caught at main level

* Have no next for inputs

* Add a version of get_free_symbols that returns a set

* Add witness to system if there are inputs in the bad definition (btor)

* Dump system at logger level 3

* Rename: set_next -> assign_next (shouldn't be similar to set_init/set_trans)

* Add is_functional query for transition system

* Mark functions as override in fts and make them virtual

* Make override methods virtual and throw exception if relational methods used on functional transition system

* Add googletest and test unroller on functional transition system

* Fix unroller for functional transition systems

* Check that there's no next states in assign_next

* Revert "Fix unroller for functional transition systems"

This reverts commit c8d8d1a.

* Use an abstract TransitionSystem class with two derived classes

* Support make test

* Test for different solvers

* Add another test for functional transition systems

* show default bound

* Add CVC4 as a possible solver

* Add travis configuration

* Add different job configurations

* Setup btor2tools

* Check for libraries with glob instead of specific extension

* Link available-solvers

* Typo fix: mathsat -> cvc4

* Remove unnecessary scoping

* Use a contains helper function for symbol checking when building transition systems

* Formatting

* Rename rts to fts or ts depending on context

* minor const fixes

* Add missing pragma once to rts.h

* Don't use Const_Array PrimOp in printer -- deprecated

* Pull latest master of smt-switch

* Update smt-switch example pointer in README

* Add instructions for generating btor

* Change subheader

* Fix local link

* Minor fix in README

* Add flatten command to btor2 instructions

* Use btor2 symbol to name arbitrary terms if applicable

* Add sim command to btor2 instructions: thanks to @zhanghongce for pointing this out

* Add static configuration options

* VCD Trace Dump (#28)

* add file for vcd printer

* vcd printer (no array yet)

* plug in vcdprinter

* version added

* disable debug printing

* array dump support

* disable  verbose debug printing

* update msg display

* update comment/remove unused code

* rename state based on output

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

Co-authored-by: makaimann <[email protected]>

* Updates to yosys sim instructions

* Give better error message for name already being used

* Catch exceptions for naming terms in btor2 encoder

* Don't pass encoder to vcd printer

* Add named terms to witness

* smv frontends (#19)

* add simple counter examples

* clean flex and bison files

* delete build folder

* Use master version of CMakeLists.txt

* Compile PIC code

* Add a setup bison script and search for bison and flex in cmake

* Rename: encoder -> smv_encoder

* Update travis configuration for flex/bison

* Rename smvparser.tab.* -> smvparser.*

* Add cmake info for building smv parser

* minor

* Use propvec instead of badvec in btor encoder

* Look in build dir for generated headers

* WIP: almost compiling (need to run flex)

* Compiles and runs but not cleaned up

* Compiling and running now

* Formatting

* Use xcode9.2

* Add install script for mac travis builds

* Fix bison install

* move c parser to c++ parser

* change name of the files

* resolve git conflict

* clean up files and integrate to cosa2

* add integer and real for more operations

* remove debug print

* remove Makefile for smvparser

* change class name

* clang format

* clean up case temporarily and reformat smvencoder

* use string for large integer and add enum for smv_node

* clang format

Co-authored-by: Makai Mann <[email protected]>

* Fix use of vcdprinter and add for smv encoder also

* Name bad state correctly in btor encoder

* Remove colons from names in vcd printer

* Use static smt-switch

* In btor2 instructions put chformal command earlier

* Check that term was saved when naming a term

* Remove extra pragma once

* Make sure terms_ is set in every path of parse in btor2encoder except for sorts (#34)

* add signed/unsigned reentrant, fix scanner bugs

* Add python bindings for cosa2 (#24)

* Rename files: interpolant.* -> interpolantmc.*

* Update setup script for smt-switch

* Move trans getter next to init getter

* WIP: CMake infrastructure

* WIP: cython files

* WIP: compiling now

* Implement copy-and-swap idiom for transition systems

* Revert "Implement copy-and-swap idiom for transition systems"

This reverts commit dd42e89.

* Assign transition system pointer to member variable in Cython wrapper

* Fixes for data structure producing methods

* Don't use hash functions directly (rely on overloaded hash struct in C++)

* Implement python functions for map getters

* Add a functional transition system

* Implement Property

* minor fix

* Add RelationalTransitionSystem (compiling)

* Hide Abstract TransitionSystem extension type when importing module -- should never be used directly

* Add python tests for transition systems

* Run python tests

* use folders for pycosa2 header declarations

* fix typo

* Remove unnecessary linking commands

* Pull cython-declarations-fix branch of smt-switch and install smt-switch python bindings

* Try compiling btor2tools with fPIC

* Install pytest and point to pycosa2 bindings

* Implement Unroller in bindings and reorganize tests

* Add prover and proverresult

* Exit build dir in Travis after building

* Implement prover wrapper

* Update pythonpath for smt_switch location

* cimport on separate lines

* Set ld_library_path also

* Add cython declarations for engines

* Implement python wrappers for engines

* Fix environment variable

* Don't use Const_Array anymore

* Test engines in googletest

* Fix for AbstractProver and Property

* Print interpolant at high verbosity

* Add option to set logger verbosity in python api

* Formatting

* Add simple test for Cosa2 engines in python API

* Add a manually strengthened property test

* Add a setup.py file

* Add installation instructions for python bindings

* Add btor2tools setup to python installation instructions

* Switch smt-switch back to master branch

* Add BTOR2Encoder to Python API

* Expose get_free_symbols to Python API

* Formatting

* Add wheel for cosa2 (#27)

* add build_wheel scripts for cosa2

* test out cosa2 wheel

* test out wheel

* make it deploy only

* Rename: pycosa2 -> cosa2, cosa2 target -> cosa2-lib

* Add slides and python api example

* Run bison setup script

Co-authored-by: Keyi Zhang <[email protected]>

* implement case preprocess

* resolve header conflict

* inor changes

* Pin smt-switch version

* Pin smt-switch version

* Updates to keep in line with smt-switch (#37)

* Create SmtSolvers without logging

* Use hidden travis script for mathsat for now

* Pass parameter for create function

* Add instructions for mathsat and point to a different home folder

* Revert "Pin smt-switch version"

This reverts commit e0cc7d9.

* Setup MathSAT on Travis

* Fix another create function with logging flag

* Another missing flag to create

* Pull from smt-switch master

* fix case error and add extract

* clang format

* clang format

* add integer/real constant, add simple_expr

* change time for ccase timeout

* Install fl-dev for ubuntu bionic Travis

* fl-dev -> libfl-dev

* Hack for FlexLexer.h in Mac Travis test

* Try removing from /Library/Developer/CommandLineTools/usr/include/

* Also remove Xcode version of FlexLexer.h -- hack for Travis Mac build

* Use FLEX_INCLUDE_DIRS from find_package(FLEX ...

* Don't remove headers

* Just print found Flex info

* Set cmake include and library paths for Mac

* Try newer version of xcode

* Don't set cmake paths anymore

* minor

* request changes update

* resolve cmakelist

* less untime cache (#42)

* Only keep variables as keys in the unroller cache (#41)

* Only keep variables as keys in the unroller cache

* Add cache check back in -- but still not adding to it

Co-authored-by: Ahmed Irfan <[email protected]>

* Manually set include directory

* Add test suite instantiation for unroller test

* CoreIR Encoder (#33)

* Rename files: interpolant.* -> interpolantmc.*

* Update setup script for smt-switch

* Move trans getter next to init getter

* WIP: CMake infrastructure

* WIP: cython files

* WIP: compiling now

* Implement copy-and-swap idiom for transition systems

* Revert "Implement copy-and-swap idiom for transition systems"

This reverts commit dd42e89.

* Assign transition system pointer to member variable in Cython wrapper

* Fixes for data structure producing methods

* Don't use hash functions directly (rely on overloaded hash struct in C++)

* Implement python functions for map getters

* Add a functional transition system

* Implement Property

* minor fix

* Add RelationalTransitionSystem (compiling)

* Hide Abstract TransitionSystem extension type when importing module -- should never be used directly

* Add python tests for transition systems

* Run python tests

* use folders for pycosa2 header declarations

* fix typo

* Remove unnecessary linking commands

* Pull cython-declarations-fix branch of smt-switch and install smt-switch python bindings

* Try compiling btor2tools with fPIC

* Install pytest and point to pycosa2 bindings

* Implement Unroller in bindings and reorganize tests

* Add prover and proverresult

* Exit build dir in Travis after building

* Implement prover wrapper

* Update pythonpath for smt_switch location

* cimport on separate lines

* Set ld_library_path also

* Add cython declarations for engines

* Implement python wrappers for engines

* Fix environment variable

* Don't use Const_Array anymore

* Test engines in googletest

* Fix for AbstractProver and Property

* Print interpolant at high verbosity

* Add option to set logger verbosity in python api

* Formatting

* Add simple test for Cosa2 engines in python API

* Add a manually strengthened property test

* Add a setup.py file

* Add installation instructions for python bindings

* Add btor2tools setup to python installation instructions

* Switch smt-switch back to master branch

* Add BTOR2Encoder to Python API

* Expose get_free_symbols to Python API

* Formatting

* Add wheel for cosa2 (#27)

* add build_wheel scripts for cosa2

* test out cosa2 wheel

* test out wheel

* make it deploy only

* Rename: pycosa2 -> cosa2, cosa2 target -> cosa2-lib

* Add slides and python api example

* WIP: coreir encoder

* WIP: adding different operators to coreir encoder

* WIP: main modules implemented

* Add the rest of the operators (that I know of)

* Refactor and keep set of registers for second pass

* Do second pass over registers

* Constrain initial states of registers

* Add build infrastructure for CoreIREncoder

* Merge master and only build coreir when requested

* Add setup script for coreir

* Add a test for CoreIREncoder

* Update coreir version

* Fix in instance_of, stub for select cases

* First pass on select equalities

* Fix: cache created input for forward reference of dst

* Keep track of visited instances

* Flip type in interface for adding global inputs

* Don't count selects as separate inputs

* Don't iterate over connections twice, create wire_connection helper, wire connections to global inputs

* Populate covered_inputs for global input drivers

* Add global inputs to covered_inputs map

* Load commonlib and cache dst_parent

* Skip instances that have already been processed

* Throw exception on reg_arst

* Setup for explicit clock encoding

* First pass on explicit clock and asynchronous reset encoding

* Add WrappedPE test

* Fixes: wire up clocks, check arst_driver for states, fix assertion

Tests not passing now because of ARST driver -- should hopefully be able to fix for this case by detecting that global "input" ASYNCRESET should actually be a state

* Fix: make coreir.arst types state variables for edge behavior

* Future proof for memory state elements -- for now throw an exception

* Factor out the state processing code in CoreIREncoder

* Remove unnecessary extra arst state driver, and use boolsort_ when possible

* Fix: use clocked next_st as else branch for arst

* Expose CoreIREncoder in Python bindings

* Add alternative CoreIREncoder that takes Module* directly

* Separate reading the file and encoding the module

Co-authored-by: Keyi Zhang <[email protected]>

* API Update. Rename: inputs->inputvars, states->statevars (#45)

* Update states/inputs name in python interface

* Update use of states/inputs class property to statevars/inputvars in python tests

* Increase required CMake version, handle CXX17 flag for versions between 3.5.1 and 3.8

* Revert "Increase required CMake version, handle CXX17 flag for versions between 3.5.1 and 3.8"

This reverts commit 02099e8.

* Use c++1z format for Mac (#47)

* fix a conflict bug

* add boolean and change map to vector

* add negative integer

* add more sort aliasing

* resolve conflicts

* change sample file

* merge cocnflicct

* fix name errors and add more type checking

* change trans/init parsing, add real type in SMVnode

* add word array type

Co-authored-by: Makai Mann <[email protected]>
Co-authored-by: Ahmed Irfan <[email protected]>
Co-authored-by: Hongce Zhang <[email protected]>
Co-authored-by: Keyi Zhang <[email protected]>
Co-authored-by: Ahmed Irfan <[email protected]>
lonsing pushed a commit to lonsing/pono that referenced this pull request Sep 1, 2020
* add signed/unsigned reentrant, fix scanner bugs

* implement case preprocess

* resolve header conflict

* inor changes

* fix case error and add extract

* clang format

* clang format

* add integer/real constant, add simple_expr

* change time for ccase timeout

* Install fl-dev for ubuntu bionic Travis

* fl-dev -> libfl-dev

* Hack for FlexLexer.h in Mac Travis test

* Try removing from /Library/Developer/CommandLineTools/usr/include/

* Also remove Xcode version of FlexLexer.h -- hack for Travis Mac build

* Use FLEX_INCLUDE_DIRS from find_package(FLEX ...

* Don't remove headers

* Just print found Flex info

* Set cmake include and library paths for Mac

* Try newer version of xcode

* Don't set cmake paths anymore

* minor

* Manually set include directory

* request changes update

* fix a conflict bug

* add boolean and change map to vector

* add negative integer

* Refactor: make FunctionalTransitionSystem inherit from RelationalTransitionSystem (compiles but untested)

* Add get_free_symbols helper

* Add constrain_inputs

* Rename: RelationalTransitionSystem -> TransitionSystem

* Rename: rts.* -> ts.*

* Add convenience function for adding constraints

* Use add_constraint in encoder and check init/prop for state vars

* Print standard exception message if caught at main level

* Have no next for inputs

* Add a version of get_free_symbols that returns a set

* Add witness to system if there are inputs in the bad definition (btor)

* Dump system at logger level 3

* Rename: set_next -> assign_next (shouldn't be similar to set_init/set_trans)

* Add is_functional query for transition system

* Mark functions as override in fts and make them virtual

* Make override methods virtual and throw exception if relational methods used on functional transition system

* Add googletest and test unroller on functional transition system

* Fix unroller for functional transition systems

* Check that there's no next states in assign_next

* Revert "Fix unroller for functional transition systems"

This reverts commit c8d8d1a.

* Use an abstract TransitionSystem class with two derived classes

* Support make test

* Test for different solvers

* Add another test for functional transition systems

* show default bound

* Add CVC4 as a possible solver

* Add travis configuration

* Add different job configurations

* Setup btor2tools

* Check for libraries with glob instead of specific extension

* Link available-solvers

* Typo fix: mathsat -> cvc4

* Remove unnecessary scoping

* Use a contains helper function for symbol checking when building transition systems

* Formatting

* Rename rts to fts or ts depending on context

* minor const fixes

* Add missing pragma once to rts.h

* Don't use Const_Array PrimOp in printer -- deprecated

* Pull latest master of smt-switch

* Update smt-switch example pointer in README

* Add instructions for generating btor

* Change subheader

* Fix local link

* Minor fix in README

* Add flatten command to btor2 instructions

* Use btor2 symbol to name arbitrary terms if applicable

* Add sim command to btor2 instructions: thanks to @zhanghongce for pointing this out

* Add static configuration options

* VCD Trace Dump (stanford-centaur#28)

* add file for vcd printer

* vcd printer (no array yet)

* plug in vcdprinter

* version added

* disable debug printing

* array dump support

* disable  verbose debug printing

* update msg display

* update comment/remove unused code

* rename state based on output

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

* Update printers/vcd_witness_printer.cpp

Co-Authored-By: makaimann <[email protected]>

Co-authored-by: makaimann <[email protected]>

* Updates to yosys sim instructions

* Give better error message for name already being used

* Catch exceptions for naming terms in btor2 encoder

* Don't pass encoder to vcd printer

* Add named terms to witness

* smv frontends (stanford-centaur#19)

* add simple counter examples

* clean flex and bison files

* delete build folder

* Use master version of CMakeLists.txt

* Compile PIC code

* Add a setup bison script and search for bison and flex in cmake

* Rename: encoder -> smv_encoder

* Update travis configuration for flex/bison

* Rename smvparser.tab.* -> smvparser.*

* Add cmake info for building smv parser

* minor

* Use propvec instead of badvec in btor encoder

* Look in build dir for generated headers

* WIP: almost compiling (need to run flex)

* Compiles and runs but not cleaned up

* Compiling and running now

* Formatting

* Use xcode9.2

* Add install script for mac travis builds

* Fix bison install

* move c parser to c++ parser

* change name of the files

* resolve git conflict

* clean up files and integrate to cosa2

* add integer and real for more operations

* remove debug print

* remove Makefile for smvparser

* change class name

* clang format

* clean up case temporarily and reformat smvencoder

* use string for large integer and add enum for smv_node

* clang format

Co-authored-by: Makai Mann <[email protected]>

* Fix use of vcdprinter and add for smv encoder also

* Name bad state correctly in btor encoder

* Remove colons from names in vcd printer

* Use static smt-switch

* In btor2 instructions put chformal command earlier

* Check that term was saved when naming a term

* Remove extra pragma once

* Make sure terms_ is set in every path of parse in btor2encoder except for sorts (stanford-centaur#34)

* add signed/unsigned reentrant, fix scanner bugs

* Add python bindings for cosa2 (stanford-centaur#24)

* Rename files: interpolant.* -> interpolantmc.*

* Update setup script for smt-switch

* Move trans getter next to init getter

* WIP: CMake infrastructure

* WIP: cython files

* WIP: compiling now

* Implement copy-and-swap idiom for transition systems

* Revert "Implement copy-and-swap idiom for transition systems"

This reverts commit dd42e89.

* Assign transition system pointer to member variable in Cython wrapper

* Fixes for data structure producing methods

* Don't use hash functions directly (rely on overloaded hash struct in C++)

* Implement python functions for map getters

* Add a functional transition system

* Implement Property

* minor fix

* Add RelationalTransitionSystem (compiling)

* Hide Abstract TransitionSystem extension type when importing module -- should never be used directly

* Add python tests for transition systems

* Run python tests

* use folders for pycosa2 header declarations

* fix typo

* Remove unnecessary linking commands

* Pull cython-declarations-fix branch of smt-switch and install smt-switch python bindings

* Try compiling btor2tools with fPIC

* Install pytest and point to pycosa2 bindings

* Implement Unroller in bindings and reorganize tests

* Add prover and proverresult

* Exit build dir in Travis after building

* Implement prover wrapper

* Update pythonpath for smt_switch location

* cimport on separate lines

* Set ld_library_path also

* Add cython declarations for engines

* Implement python wrappers for engines

* Fix environment variable

* Don't use Const_Array anymore

* Test engines in googletest

* Fix for AbstractProver and Property

* Print interpolant at high verbosity

* Add option to set logger verbosity in python api

* Formatting

* Add simple test for Cosa2 engines in python API

* Add a manually strengthened property test

* Add a setup.py file

* Add installation instructions for python bindings

* Add btor2tools setup to python installation instructions

* Switch smt-switch back to master branch

* Add BTOR2Encoder to Python API

* Expose get_free_symbols to Python API

* Formatting

* Add wheel for cosa2 (stanford-centaur#27)

* add build_wheel scripts for cosa2

* test out cosa2 wheel

* test out wheel

* make it deploy only

* Rename: pycosa2 -> cosa2, cosa2 target -> cosa2-lib

* Add slides and python api example

* Run bison setup script

Co-authored-by: Keyi Zhang <[email protected]>

* implement case preprocess

* resolve header conflict

* inor changes

* Pin smt-switch version

* Pin smt-switch version

* Updates to keep in line with smt-switch (stanford-centaur#37)

* Create SmtSolvers without logging

* Use hidden travis script for mathsat for now

* Pass parameter for create function

* Add instructions for mathsat and point to a different home folder

* Revert "Pin smt-switch version"

This reverts commit e0cc7d9.

* Setup MathSAT on Travis

* Fix another create function with logging flag

* Another missing flag to create

* Pull from smt-switch master

* fix case error and add extract

* clang format

* clang format

* add integer/real constant, add simple_expr

* change time for ccase timeout

* Install fl-dev for ubuntu bionic Travis

* fl-dev -> libfl-dev

* Hack for FlexLexer.h in Mac Travis test

* Try removing from /Library/Developer/CommandLineTools/usr/include/

* Also remove Xcode version of FlexLexer.h -- hack for Travis Mac build

* Use FLEX_INCLUDE_DIRS from find_package(FLEX ...

* Don't remove headers

* Just print found Flex info

* Set cmake include and library paths for Mac

* Try newer version of xcode

* Don't set cmake paths anymore

* minor

* request changes update

* resolve cmakelist

* less untime cache (stanford-centaur#42)

* Only keep variables as keys in the unroller cache (stanford-centaur#41)

* Only keep variables as keys in the unroller cache

* Add cache check back in -- but still not adding to it

Co-authored-by: Ahmed Irfan <[email protected]>

* Manually set include directory

* Add test suite instantiation for unroller test

* CoreIR Encoder (stanford-centaur#33)

* Rename files: interpolant.* -> interpolantmc.*

* Update setup script for smt-switch

* Move trans getter next to init getter

* WIP: CMake infrastructure

* WIP: cython files

* WIP: compiling now

* Implement copy-and-swap idiom for transition systems

* Revert "Implement copy-and-swap idiom for transition systems"

This reverts commit dd42e89.

* Assign transition system pointer to member variable in Cython wrapper

* Fixes for data structure producing methods

* Don't use hash functions directly (rely on overloaded hash struct in C++)

* Implement python functions for map getters

* Add a functional transition system

* Implement Property

* minor fix

* Add RelationalTransitionSystem (compiling)

* Hide Abstract TransitionSystem extension type when importing module -- should never be used directly

* Add python tests for transition systems

* Run python tests

* use folders for pycosa2 header declarations

* fix typo

* Remove unnecessary linking commands

* Pull cython-declarations-fix branch of smt-switch and install smt-switch python bindings

* Try compiling btor2tools with fPIC

* Install pytest and point to pycosa2 bindings

* Implement Unroller in bindings and reorganize tests

* Add prover and proverresult

* Exit build dir in Travis after building

* Implement prover wrapper

* Update pythonpath for smt_switch location

* cimport on separate lines

* Set ld_library_path also

* Add cython declarations for engines

* Implement python wrappers for engines

* Fix environment variable

* Don't use Const_Array anymore

* Test engines in googletest

* Fix for AbstractProver and Property

* Print interpolant at high verbosity

* Add option to set logger verbosity in python api

* Formatting

* Add simple test for Cosa2 engines in python API

* Add a manually strengthened property test

* Add a setup.py file

* Add installation instructions for python bindings

* Add btor2tools setup to python installation instructions

* Switch smt-switch back to master branch

* Add BTOR2Encoder to Python API

* Expose get_free_symbols to Python API

* Formatting

* Add wheel for cosa2 (stanford-centaur#27)

* add build_wheel scripts for cosa2

* test out cosa2 wheel

* test out wheel

* make it deploy only

* Rename: pycosa2 -> cosa2, cosa2 target -> cosa2-lib

* Add slides and python api example

* WIP: coreir encoder

* WIP: adding different operators to coreir encoder

* WIP: main modules implemented

* Add the rest of the operators (that I know of)

* Refactor and keep set of registers for second pass

* Do second pass over registers

* Constrain initial states of registers

* Add build infrastructure for CoreIREncoder

* Merge master and only build coreir when requested

* Add setup script for coreir

* Add a test for CoreIREncoder

* Update coreir version

* Fix in instance_of, stub for select cases

* First pass on select equalities

* Fix: cache created input for forward reference of dst

* Keep track of visited instances

* Flip type in interface for adding global inputs

* Don't count selects as separate inputs

* Don't iterate over connections twice, create wire_connection helper, wire connections to global inputs

* Populate covered_inputs for global input drivers

* Add global inputs to covered_inputs map

* Load commonlib and cache dst_parent

* Skip instances that have already been processed

* Throw exception on reg_arst

* Setup for explicit clock encoding

* First pass on explicit clock and asynchronous reset encoding

* Add WrappedPE test

* Fixes: wire up clocks, check arst_driver for states, fix assertion

Tests not passing now because of ARST driver -- should hopefully be able to fix for this case by detecting that global "input" ASYNCRESET should actually be a state

* Fix: make coreir.arst types state variables for edge behavior

* Future proof for memory state elements -- for now throw an exception

* Factor out the state processing code in CoreIREncoder

* Remove unnecessary extra arst state driver, and use boolsort_ when possible

* Fix: use clocked next_st as else branch for arst

* Expose CoreIREncoder in Python bindings

* Add alternative CoreIREncoder that takes Module* directly

* Separate reading the file and encoding the module

Co-authored-by: Keyi Zhang <[email protected]>

* API Update. Rename: inputs->inputvars, states->statevars (stanford-centaur#45)

* Update states/inputs name in python interface

* Update use of states/inputs class property to statevars/inputvars in python tests

* Increase required CMake version, handle CXX17 flag for versions between 3.5.1 and 3.8

* Revert "Increase required CMake version, handle CXX17 flag for versions between 3.5.1 and 3.8"

This reverts commit 02099e8.

* Use c++1z format for Mac (stanford-centaur#47)

* fix a conflict bug

* add boolean and change map to vector

* add negative integer

* add more sort aliasing

* resolve conflicts

* change sample file

* merge cocnflicct

* fix name errors and add more type checking

* change trans/init parsing, add real type in SMVnode

* add word array type

Co-authored-by: Makai Mann <[email protected]>
Co-authored-by: Ahmed Irfan <[email protected]>
Co-authored-by: Hongce Zhang <[email protected]>
Co-authored-by: Keyi Zhang <[email protected]>
Co-authored-by: Ahmed Irfan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor simple A very simple (meaning easy to review) change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants