Use codatatype bound variables for codatatype values (#7425)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 20 Oct 2021 16:49:53 +0000 (11:49 -0500)
committerGitHub <noreply@github.com>
Wed, 20 Oct 2021 16:49:53 +0000 (16:49 +0000)
commit90e615eb3920bd60173e967c85cbcaf4f34a032c
tree77f0fb0dbadabc96d8cbc0ba5600fc3ffb0e5634
parentb038b34584f37c40a6dc4a476e8f486cf6977b81
Use codatatype bound variables for codatatype values (#7425)

Previously, we had conflated codatatype bound variables and uninterpreted constants (as they have the same functionality). However, we should separate these concepts so we can ensure that uninterpreted constants are only used for uninterpreted sorts.
13 files changed:
src/expr/CMakeLists.txt
src/expr/codatatype_bound_variable.cpp [new file with mode: 0644]
src/expr/codatatype_bound_variable.h [new file with mode: 0644]
src/expr/uninterpreted_constant.cpp
src/theory/datatypes/datatypes_rewriter.cpp
src/theory/datatypes/kinds
src/theory/datatypes/theory_datatypes.cpp
src/theory/datatypes/theory_datatypes_type_rules.cpp
src/theory/datatypes/theory_datatypes_type_rules.h
src/theory/datatypes/type_enumerator.cpp
src/theory/theory_model_builder.cpp
test/python/unit/api/test_solver.py
test/unit/api/solver_black.cpp