Add tuple projection operator (#5904)
authormudathirmahgoub <mudathirmahgoub@gmail.com>
Wed, 3 Mar 2021 08:16:32 +0000 (02:16 -0600)
committerGitHub <noreply@github.com>
Wed, 3 Mar 2021 08:16:32 +0000 (08:16 +0000)
commitc4709cb01356dd73fdd767d19af85b36ffd566c4
tree9ad44e16486ec4cbb2d4c6776c1d80a179cc6894
parent80d9eab67e60ae8750165ce18ecd4eebcdc06b44
Add tuple projection operator (#5904)

This PR adds tuple projection operator to the theory of data types.
It Also adds helper functions for selecting elements from a tuple.
16 files changed:
src/CMakeLists.txt
src/api/cvc4cpp.cpp
src/api/cvc4cpp.h
src/api/cvc4cppkind.h
src/parser/smt2/Smt2.g
src/parser/smt2/smt2.cpp
src/printer/smt2/smt2_printer.cpp
src/theory/bags/make_bag_op.h
src/theory/datatypes/datatypes_rewriter.cpp
src/theory/datatypes/kinds
src/theory/datatypes/theory_datatypes_type_rules.h
src/theory/datatypes/tuple_project_op.cpp [new file with mode: 0644]
src/theory/datatypes/tuple_project_op.h [new file with mode: 0644]
test/regress/CMakeLists.txt
test/regress/regress1/datatypes/tuple_projection.smt2 [new file with mode: 0644]
test/unit/api/solver_black.cpp