Eliminate ops for parameterized type constructors (#8761)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Sun, 15 May 2022 16:30:26 +0000 (11:30 -0500)
committerGitHub <noreply@github.com>
Sun, 15 May 2022 16:30:26 +0000 (16:30 +0000)
commite3bec47e98e76ad6e4a11259af096abb20f7de57
tree5d3e12897c5604d04f4ff96204dda17ea4a330e6
parentc8b193f93369e042bf768d8ba567d6dc4ba01e7e
Eliminate ops for parameterized type constructors (#8761)

We now preserve types when rewriting. This means that we no longer need to use operators that store the type of terms to construct in the cases of bags, sets, and sequences.
44 files changed:
src/CMakeLists.txt
src/api/cpp/cvc5.cpp
src/expr/node_manager_template.cpp
src/expr/node_manager_template.h
src/proof/lfsc/lfsc_node_converter.cpp
src/theory/bags/bag_make_op.cpp [deleted file]
src/theory/bags/bag_make_op.h [deleted file]
src/theory/bags/bag_reduction.cpp
src/theory/bags/bags_rewriter.cpp
src/theory/bags/bags_rewriter.h
src/theory/bags/bags_utils.cpp
src/theory/bags/kinds
src/theory/bags/theory_bags.cpp
src/theory/bags/theory_bags_type_enumerator.cpp
src/theory/bags/theory_bags_type_rules.cpp
src/theory/quantifiers/fmf/bounded_integers.cpp
src/theory/quantifiers/sygus/sygus_grammar_cons.cpp
src/theory/sep/theory_sep.cpp
src/theory/sets/cardinality_extension.cpp
src/theory/sets/kinds
src/theory/sets/normal_form.h
src/theory/sets/singleton_op.cpp [deleted file]
src/theory/sets/singleton_op.h [deleted file]
src/theory/sets/theory_sets_private.cpp
src/theory/sets/theory_sets_rels.cpp
src/theory/sets/theory_sets_rels.h
src/theory/sets/theory_sets_rewriter.cpp
src/theory/sets/theory_sets_type_enumerator.cpp
src/theory/sets/theory_sets_type_rules.cpp
src/theory/sets/theory_sets_type_rules.h
src/theory/strings/array_core_solver.cpp
src/theory/strings/kinds
src/theory/strings/seq_unit_op.cpp [deleted file]
src/theory/strings/seq_unit_op.h [deleted file]
src/theory/strings/theory_strings.cpp
src/theory/strings/theory_strings_preprocess.cpp
src/theory/strings/theory_strings_type_rules.cpp
src/theory/strings/theory_strings_utils.cpp
test/unit/theory/sequences_rewriter_white.cpp
test/unit/theory/theory_bags_normal_form_white.cpp
test/unit/theory/theory_bags_rewriter_white.cpp
test/unit/theory/theory_bags_type_rules_white.cpp
test/unit/theory/theory_sets_rewriter_white.cpp
test/unit/theory/theory_sets_type_rules_white.cpp